Going for lunch now, but I'll add a description of the preemption algorithm to the wiki when I'm done