- Gang scheduling
In
Computer science , Gang scheduling is ascheduling algorithm that schedules related threads or processes to run simultaneously on different processors. Usually these will be threads all belonging to the same process, but they may also be from different processes, for example when the processes have a producer-consumer relationship, or when they all come from the same MPI program.Gang scheduling is used so that if two threads or processes communicate with each other, they will all be ready to communicate at the same time. If they were not gang-scheduled, then one could wait to send or receive a message to another while it is sleeping, and vice-versa. When processors are over-subscribed and gang scheduling is not used within a group of processes or threads which communicate with each other, it can lead to starvation.
See also
*
Parallel computing
*Processor affinity
*Take scheduling References
* [http://www.llnl.gov/asci/pse_trilab/sc98.summary.html Gang Scheduling, Timesharing on Parallel Computers, SC98, November 1998 (a summary)]
* [http://www.llnl.gov/asci/pse_trilab/sc97.paper.html Performance Characteristics of Gang Scheduling in Multiprogrammed Environments, SC97, November 1997]
Wikimedia Foundation. 2010.