VGRID
Architecture
Home User Guide

Architecture

Screenshots
Overview
Components
Task
Task States
Code Distribution
Security
Javadoc

Overview

Vgrid is a server centric grid computing system. That means that all tasks that have to be evaluated will have to be sent to a single server. This server redistributed the tasks to the computers where the actual execution takes place. Finished tasks are sent back to the server where they can be retrieved from the original dispenser.

Vgrid is written in Java. It requires that the tasks that have to be executed are also written in Java. This ensures platform independence for the execution of tasks.

- top -

Components

The three main components of the vgrid system are: the server, the plodder(s) and the dispenser.

The dispenser creates tasks dispenses them to the server and polls for finished tasks. If a dispenser finds a finished task on the server it retrieves it. If it retrieved all tasks it has dispensed before an event is triggered that usually prepares the results of the tasks in a way that they can be used for further analyze (E.g. writes them to a cvs file or into a database.)

The plodder is a program that does the actual execution of tasks. It should be installed on as many computers as possible. The plodder requests the server for unfinished tasks executes them and sends them back.

The server is responsible for the correct distribution of tasks to/from plodders and dispensers.

- top -

Task

The central data structure of the vgrid system is the task. Actually the task is an interface that has to be implemented. If you use vgrid the implementation of a task should be the only coding that you have to do.

In order for a task to be executed within the grid it has to fulfill the following requirements:

For details about the task interface see: vgrid.task.Task

- top -

Task States

If a task is being executed it passes through the following states:

States

UF unfinished Task is not executed at all or before termination.
F finished Task indicated that it is finished during execution.
E erroneous An error occurred during execution.
R requested The task was requested from a plodder but did not yet return.

Transitions

dispense The dispenser sends an unfinished task to the server.
request The plodder requests an unfinished task or the dispenser requests a finished or erroneous task.
timeout The max execution time was exceeded. The task is sent back to the server.
execute The task is executed by repeatedly calling the takeOneStep() method.
finished The task signals the plodder that it is finished. The task is sent back to the server.
error An error occurred during execution of the task.

- top -

Code Distribution

To be written.

- top -

Security

To be written.

- top -

Javadoc

Click here to browse through the vgrid javadoc.

- top -