YADeG is a grid computing system developped by Tangui Morlier. This project is a fork of XtremWeb. Implemented in C++, it provides, in addition to the classical desktop grid fonctionalities, data management and graph of executions. It has been developped to be multiplatform and offers a multilanguage API for the client. With its integrated data base, the installation and the setting up of the platform is easy.
Yet Another Desktop Grid has been previously named XW++.
The following four elements form a part of the YADeG architecture:
- The workers
- The dispatcher
- The clients
- The Data Repository
These piece of software installed on the user's computer offers computing power to the desktop grid. They communicate with the dispatcher and the data repositories to obtain data and jobs, to execute the jobs and to inform of their results.
The dispatcher is the manager of the jobs, it receives the orders from the client, attributes, following a scheduling policy, the jobs to the workers, manage the fault tolerance and register the job status. It is a stable entity of the architecture.
The client communicates with the dispatcher and the data repositories to create, submit and retrive jobs and data.
Currently, the data repositories used are ftp or nfs servers. They hosts the data.
To compile YADeG, you will need the following multiplatform libraries :
- Apache Portable Runtime (on debian, libapr0-dev)
- libcurl (on debian, libcurl3-dev)
- zlib (on debian zlib1g-dev)
- SWIG (on debian swig1.3)
This library allows YADeG to have a multiplatform acces on the OS fonctions.
YADeG uses this library to download and upload the data.
This library is used to zip and unzip the data.
This software development tool allows YADeG to produce multilanguage client API (C, C++, Java, Perl, PHP, Python, Tcl, Ruby, PHP, C#, Common Lisp, Modula-3 and OCAML).
Moreover, the dispatcher (which can right now only be compiled on linux and maybe other unixes) needs :
- SQLite (on debian libsqlite3-dev)
This powerfull SQL library allows YADeG to take advantage of a self-contained, embeddable, zero-configuration SQL database engine.
You can download the source code of YADeG here.
If you want to known how to use YADeG, read this user manual.
If you are a developpeur, and you want to known how YADeG is organised, you should read this documentation.
- Release binaries for windows
- Implement data revocation. This feature will allow to implement data verification
- User management on the client side
- FTP server embedded in the disptacher
- Implement Bittorrent support (or other p2p file distribution system)
- Local cache repository
Tangui Morlier, the developper of this project is reacheable at