It is generally agreed that gang scheduling, that is coordinating the scheduling of the components of a parallel program, can lead to performance improvements. However, this is only true for certain applications. The job workloads general-purpose multiprocessors, usually include both compute-bound parallel jobs, which often require gang scheduling, as well as I/O-bound jobs, which require high CPU priority for the individual gang members of the job in order to achieve interactive response times. Our results indicate that an effective interactive multiprocessor scheduler must be flexible and tailor the priority, time quantum, and extent of gang scheduling to the individual needs of each job.
But it is not clear how to classify jobs. We show that messaging statistics contain information about whether applications require gang scheduling. Given an understanding of the job workload scheduling requirements, it may then be possible to specify the demands on a communication network.