Effective scheduling strategies to improve response times, throughput, and utilization are an important consideration in large
supercomputing environments. Such machines have traditionally used space-sharing strategies to accommodate multiple jobs at
the same time. This approach, however, can result in low system utilization and large job wait times. This paper discusses
three techniques that can be used beyond simple space-sharing to greatly improve the performance figures of large parallel
systems. The first technique we analyze is backfilling, the second is gang-scheduling, and the third is migration. The main
contribution of this paper is an evaluation of the benefits from combining the above techniques. We demonstrate that, under
certain conditions, a strategy that combines backfilling, gang-scheduling, and migration is always better than the individual
strategies for all quality of service parameters that we consider.