1: **input:** Let be the task currently being executed, and |

be the task wants to preempt , current time be , |

be the conditional expected utility density of |

at time , be the expected utility density of , |

and are the expected execution time of and , |

respectively; |

2: |

3:When a new task arrives or it is the preemption checking |

point |

4: **If **** then** |

5: Check what is ’s worst case finish time; |

6: **If **** then** |

7: Preemption not allowed; |

8: **else** |

9: Preemption allowed; |

10: **end if** |

11: **end if** |