  Scheduling to minimize mean response time in an M/G/1 queue is a classic
problem. The problem is usually addressed in one of two scenarios. In the
perfect-information scenario, the scheduler knows each job's exact size, or
service requirement. In the zero-information scenario, the scheduler knows only
each job's size distribution. The well-known shortest remaining processing time
(SRPT) policy is optimal in the perfect-information scenario, and the more
complex Gittins policy is optimal in the zero-information scenario.
  In real systems the scheduler often has partial but incomplete information
about each job's size. We introduce a new job model, that of multistage jobs,
to capture this partial-information scenario. A multistage job consists of a
sequence of stages, where both the sequence of stages and stage sizes are
unknown, but the scheduler always knows which stage of a job is in progress. We
give an optimal algorithm for scheduling multistage jobs in an M/G/1 queue and
an exact response time analysis of our algorithm.
