 The controller is central to the correct function of an Xgrid , as this node is responsible for the distribution , supervision and coordination of tasks on agents . The program running on the controller can assign and reassign tasks to handle individual agent failures on demand . The number of tasks assigned to an agent depend on two factors : the number of agents on an Xgrid and the number of processors in each node . The number of agents on an Xgrid determines how the controller will assign tasks . The tasks may be assigned simultaneously for a large number of agents , or queued for a small number of agents . When a node with more than one processor is detected on an Xgrid , the controller may assign one task per processor ; this only occurs if the number of agents on the network is lower than the number of tasks the controller has to complete . 
