Gang scheduling isn’t worth it … yet
The hardware trend toward higher core counts will likely result in a dynamic, bursty and interactive mix of parallel applications in personal and server computing. We investigate whether gang scheduling can provide performance benefits for applications in this scenario. We present a systematic study of the conditions under which gang scheduling might be better than classical general-purpose OS scheduling, and derive a set of necessary conditions on the workload. We find that these conditions are rarely met today, except in a small subset of workloads, for which we give an example. However, we propose that this subset is potentially important in the future, if (for example) parallel algorithms become increasingly used for real-time computer-human interaction.