next up previous
Next: Issues and Evaluation Up: Multiprocessors Previous: Dynamic

Round Robin

All three policies we have seen so far do `space scheduling', that is, multiplex the set of processors among the applications. The other alternative is to do `time scheduling', that is, multiplex the time (on as many processors the applications can use) among the various applications. This is a more direct extension of the single-processor case and is called RRJob by McCann et al and co-scheduling in Singhal/Shivratari. The basic idea is assign each ready application in turn a fixed quantum. During an application's quantum, it gets as many of the physical processors as it can use and then the application following it in the ready Q is given as many as it can use, and so on. The idea is inspired by the working set principle: give an application as many processors as it needs because if you do not, the scheduled threads many not get any useful work since they need to communicate with some crucial unscheduled threads. It was first implemented in Medusa, which supported the notion of a process team, a team of processes that need to be coscheduled. It was useful in Medusa since it had no processor cache so the cost of switching a processor among threads of different applications was not so high.


next up previous
Next: Issues and Evaluation Up: Multiprocessors Previous: Dynamic
Prasun Dewan 2007-04-19