Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Merge branch 'master' into hypervisor
[simgrid.git] / examples / java / async / README
1 This is another version of the master/slaves example, using asynchronous communications.
2
3 There is 3 kind of processes:
4  * Master: creates some tasks, and dispatches them to its slaves
5  * Forwarder: get tasks from master, and dispatch them further
6  * Slave: get tasks from either master or forwarder, and run them
7
8 At the end of the execution:
9  - the master sends FinalizeTask to every known slave to stop them,
10    using dsend instead of send. That's non-blocking with no way to
11    know if/when the communication succeeds. It is intended for
12    communications where you don't care to know whether your message got 
13    received or not. The process then sleeps 20 seconds because we have
14    a strange bug for now when the receiver gets a message from a
15    terminated process. This should not be the case, actually, that's a
16    JAVA specific bug, but I don't really have the time to dig in right
17    now.
18
19  - On reception of FT, forwarders dsend FT to every slave, and stop
20    after a little while.
21  - On reception of FinalizeTask, slaves stop.
22  
23 Other non-blocking primitives will get used here as soon as they are 
24 added to the bindings.