AUCSCHED

Integer programming based heterogeneous CPU-GPU cluster schedulers for SLURM resource manager. We present two integer programming based heterogeneous CPU-GPU cluster schedulers, called IPSCHED and AUCSCHED, for the widely used SLURM resource manager. Our scheduler algorithms take windows of jobs and solve allocation problems in which free CPU cores and GPU cards are allocated collectively to jobs so as to maximize some objective functions. Our AUCSCHED scheduler employs an auction based approach in which bids for contiguous blocks of resources are generated for each job. We perform realistic SLURM emulation tests using the Effective System Performance (ESP) and our own synthetic workloads. Even though it is difficult to generalize, the tests roughly show that out of the three scheduling plug-ins, AUCSCHED achieves better utilization, spread and packing, IPSCHED achieves better waiting time and SLURM Backfill achieves better fragmentation performances when compared with each other. The SLURM scheduler plug-ins that implement our algorithm are available at url{http://code.google.com/p/slurm-ipsched/}.