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-packingalgorithms were appliedto solve thisproblem. 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 e cient 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 represe...