How works

From XtremWebCH Wiki

Jump to: navigation, search

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:

XWCH Architecture
XWCH Architecture
Personal tools