Optimal policy for multi-class scheduling in a single server queue
In this paper we apply the Gittins optimality result to characterize the optimal scheduling discipline in a multi-class M/G/1 queue. We apply the general result to several cases of practical interest where the service time distributions belong to the set of decreasing hazard rate distributions, like Pareto or hyper-exponential. When there is only one class it is known that in this case the Least Attained Service policy is optimal. We show that in the multi-class case the optimal policy is a priority discipline, where jobs of the various classes depending on their attained service are classified into several priority levels. Using a tagged-job approach we obtain, for every class, the mean conditional sojourn time. This allows us to compare numerically the mean sojourn time in the system between the Gittins optimal and popular policies like Processor Sharing, First Come First Serve and Least Attained Service (LAS). We implement the Gittins' optimal algorithm in NS-2 and we perform numerical experiments to evaluate the achievable performance gain. We find that the Gittins policy can outperform by nearly 10% the LAS policy.