User Manual

If you don't know how to user YADeG, follow this four steps manual:

  1. Learn to use the dispatcher
  2. Learn to set up a data repository
  3. Learn to use the worker
  4. Learn to use the command line client

How to use the dispatcher

Once compiled, the dispatcher is very simple to use:

$> ./Dispatcher

The database will automaticaly be created (by default, using the file YADeG.db) and a TCP server will be set up (by default, on port 3000)

The following options can be configured:

  -p, --port=PORT       Set up the dispatcher port to PORT (default 3000)
  -d, --database=DB     Use the DB database (default YADeG.db)
  -M, --maxqueue=NUM    set the max queue to NUM (default 10)
  -c, --minqueue=NUM    set the min queue to NUM (default 5)
  -v, --verbose         Verbose mode
  -h, --help            Display a help

How to set a data repository

The main difficulty with Yet Another Desktop Grid is to set up a ftp server. It has to provide an area where upload is allowed. You will find pleanty of ftp servers and documentation on the internet. YADeG has be developped using proftpd.

How to use the worker

The worker are compiled with a default configuration. While trying to use YADeG for the first time, you do not have to worry about the user. To launch a worker, you just have to type the following command on your terminal:

$> ./Worker -i <the disptacher ip>

You can configure the worker using the following command line parameters:

  -i, --hostip=IP       Dispatcher host ip
  -p, --hostport=PORT   Disptacher port
  -l, --login=USER      User login used to connect to the dispatcher
  -P, --password=PASSWD Password used to connect to the dispatcher
  -w, --workingdir=DIR  Worker's file will be stored in DIR (by default /tmp/YADeG)
  -j, --jobdir=DIR      Job related files will be stored in DIR (by default /Jobs)
  -c, --cachedir=DIR    Cache files will be stored in DIR (by default /Cache)
  -v, --verbose         Verbose mode
  -h, --help            Display a help

If you are tired to play with the same command line parameters, YADeG provides an autoconfigurator tool. It is called autoConfigWorker, you can find it in the tool directory. It allows you to read or write the default configuration of a worker. Here is explained how to use it.

./autoConfigWorker --workerfile <worker> [--readconfig]
        Read worker's configuration

./autoConfigWorker --workerfile  --write --ip  --port  --login  --password 
        Write a new configuration for worker

For example, if you want to autoconfigure the dispatcher ip to contact, you have to do:

$> ./autoConfigWorker --workerfile /directories/to/my/worker/MyWorker --wrote --ip 192.0.34.166

If the environnement variable YADeG_MONITOR_FILE is set, the worker will execute jobs only if the value of the variable point to a file. If the file is created, the executions are started; if it is removed, the executions will be stopped within 5 seconds.

How to use the client

A command line client is available. Here is explained how to use it:

YADeGClient Usage:
    YADeBClient [CONFFILE] [COMMAND]

COMMAND:
  CreateJob 'id' 'label' 'priority' 'application_id' 'stdin_id' 'data_id ...' 'cmdLine' 'result_data_id'
  
  CreateResultData 'id' 'label' 'url'
  
  CreateData 'id' 'label' 'url' 'type' 'md5' 'arch' 'os' 'available'
       with type equals 0 for read/write data, 2 for readonly, 1 for executable, 4 for zip archive
       with arch the id of the architecture (classicaly x86 or All)
       with os the id of the destination os (classicaly Linux, Win or All)

  DeleteData 'id'
       
  DeleteJob 'id'

  GetJobStatus 'id'

CONFFILE: path to the configuration file containing the following lines
  host:  [an_host]
  port:  [an_port]
  login: [a_login]
  passwd:[a_password]

The default user/password is tangui/tangui

The client can aswell be accessed via the swig api. Its interface is define in YADeGClient.i.