Scheduling of processes onto processors of a parallel machine has always been an important and challenging area of research. The issue becomes even more crucial and di cult as we gradually progress to the use of o -the-shelf workstations, operating systems, and high bandwidth networks to build cost-e ective clusters for demanding applications. Clusters are gaining acceptance not just in scienti c applications that need supercomputing power, but also in domains such as databases, web service and multimedia, which place diverse Quality-of-Service QoS demands on the underlying system. Further, these applications have diverse characteristics in terms of their computation, communication and I O requirements, making conventional parallel scheduling solutions, such as space sharing or coscheduling, an unattractive option. At the same time, leaving it to the native operating system of each node to make decisions independently can lead to ine ective use of system resources whenever there is co...