How works
From XtremWebCH Wiki
Contents |
How does XWCH work?
XWCH consists of three main components: the coordinator, the worker, and the warehouse. Currently, there are no dedicated client packages -- instead, jobs or applications are submitted using either the XWCH API or a submission web pages.
The coordinator
The coordinator accepts execution requests coming from clients, assigns the tasks to the workers according to a scheduling policy and the availability of data, transfers binary codes to workers (if necessary), supervises task execution on workers, detects worker crash/disconnection and re-launches tasks on any other available worker.
The worker
The worker extracts the assigned task, starts computation and waits for the task to complete. The workers use a "pull" method only: they initiate connections with the coordinator in order to get jobs/input data (Work Request signal, see figure bellow), or to notify the coordinator about the status of the job (Work Alive signal in the figure bellow). Workers can, therefore, be run in a NAT environment.
The warehouse
Warehouses are used by workers to download input data needed to execute their allocated task and/or upload output data produced by the task. A warehouse node acts as a repository or file server. The following figure demonstrates the components:
