10 Implementing a more sophisticated scheduler

 

This chapter covers

  • Describing the scheduling problem
  • Defining the phases of scheduling
  • Re-implementing the round-robin scheduler
  • Discussing the enhanced parallel virtual machine (E-PVM) concept and algorithm
  • Implementing the E-PVM scheduler

We implemented a simple round-robin scheduler in chapter 7. Now let’s return and dig a little deeper into the general problem of scheduling and see how we might implement a more sophisticated scheduler.

10.1 The scheduling problem

Whether we realize it or not, the scheduling problem lives with us in our daily lives. In our homes, we have work to do, like sweeping the floors, cooking meals, washing clothes, mowing the grass, and so on. Depending on the size of our family, we have one or more people to perform the necessary work. If you live by yourself, then you have a single worker, yourself. If you live with a partner, you have two workers. If you live with a partner and children, you have three or more workers.

10.2 Scheduling considerations

10.3 Scheduler interface

10.4 Adapting the round-robin scheduler to the scheduler interface

10.5 Using the new scheduler interface

10.5.1 Adding new fields to the Manager struct

10.5.2 Modifying the New helper function

10.6 Did you notice the bug?

10.7 Putting it all together

10.8 The E-PVM scheduler

10.8.1 The theory

10.8.2 In practice

10.9 Completing the Node implementation

10.10 Using the E-PVM scheduler