The preemption will evolve as it's tested.
Had a discussion offline with Gunther Hagleitner. The initial policy will likely be the following.
Within a running DAG, the priority / topo order decides which fragment runs / is a candidate for preemption.
Beyond this, the number of tasks in the current vertex + upstream vertices will be used as a measure of the size of the query to determine which fragment gets to run, if there's multiple fragments queued up. Fragments with a lower count will be preferred to push through what are expected to be shorter running queries.