Forty Hour Jobs

A batch cluster runs only CPU-bound jobs with no interactive component. Runtimes are known in advance to within 10 percent. Most jobs take minutes; a handful take 40 hours. Users are complaining about average completion time, and the owners of the 40 hour jobs complain that their work sometimes never starts.

Which policy is the right one to adopt?

A

Switch to STCF, since preemption improves on SJF whenever a shorter job arrives mid-run

B

Order the queue shortest-job-first, and add a rule that any job waiting longer than 30 minutes moves to the front

C

Order the queue shortest-job-first. With runtimes known and no interactivity requirement, SJF is provably optimal for average turnaround

D

Switch to round robin with a 100 ms quantum so every job makes visible progress from the moment it is submitted