next up previous contents
Next: The parallelization engine Up: The scheduler Previous: The scheduler   Contents


In the design chosen, there will only be one scheduler, independent of the size of the cluster. For this design to be viable, we must make sure that the scheduler does not become a bottleneck. Therefore we can not allow the scheduler to do any heavyweight computation, nor can we allow it to do a lot of communication.

Parallelization and scheduling are both light tasks. Both topics will be stressed in sections following.

In order to make sure the scheduler does not get involved in too much communication, it will distribute an entire parallel job to one single node, and pass control (or ``responsibility'') of that job to that node, along with information about which other nodes are available for that job. This ``master node'' will then distribute tasks to the other nodes, the sub-cluster, and take care of the communication needed, without involving the scheduler. This is sketched in Figure 2.3.

Figure 2.3: Subclustering delegates most of the communication work to a master node.