slaved
daemon which is meant to be run on slaves instanced, listening for requests.master_middlewares.a
to be compiled with the master program, providing functions to interact with theslaved
daemons, basically:init_cluster()
,queue_task()
andis_done()
.
slaved is just a requests dispatcher in a sense that it receive requests and calls a function based on request's type (i.g.
TYPE_REQ_INIT
,TYPE_REQ_COMPUTATION
,TYPE_REQ_FINISH
,TYPE_REQ_ABORT
).
master_middlewares.a is where all the stuff happens, parsing configuration file, connecting slaves and firing a
slave_routine()
for every slave and running a load balancer, basically.
the whole interaction can be summed (not very well) in this flow chart:
- threads are cool.
- to put a mutex in everything.
- to dequeue a node before enqueuing it to some other queue.