Multi-Capacity Bin Packing Algorithms with Applications to Job Scheduling under Multiple Constraints

William Leinberger, George Karypis, and Vipin Kumar
9th Heterogeneous Computing Workshop, pp. 60-71, 2000
Download Paper
In past massively parallel processing systems, such as the TMC CM-5 and the CRI T3E, the scheduling problem consisted of allocating a single type of resource among the waiting jobs; the processing node. A job was allocated the minimum number of nodes required to meet its largest resource requirement (e.g. memory, CPUs, I/O channels, etc.). Single capacity bin-packing algorithms were applied to solve this problem. Recent systems, such as the SUN E10000 and SGI O2K, are made up of pools of independently allocatable hardware and software resources such as shared memory, large disk farms, distinct I/O channels, and software licenses. In order to make efficient use of all the available system resources, the scheduling algorithm must be able to maintain a job working set which fully utilizes all resources. At the core of this scheduling problem is a d-capacity bin-packing problem where each system resource is represented by a capacity in the bin and the requirements of each waiting job are represented by the d capacities of an item in the input list. Previous work in d -capacity bin-packing algorithms analyzed extensions of single capacity bin-packing. These extended algorithms are oblivious to the additional capacities, however, and do not scale well with increasing d . We provide new packing algorithms which use the additional capacity information to provide better packing and show how these algorithms might lead to better multi-resource allocation and scheduling solutions.
Research topics: Job scheduling | Parallel processing