swh:1:snp:d7f1b9eb7ccb596c2622c4780febaa02549830f9
Raw File
Tip revision: ad58ae426e7e9200530d18bf439d02657503426c authored by fclement on 23 November 2010, 11:33:06 UTC
Ignore all generated files.
Tip revision: ad58ae4
README
First version incorporating thread support and demand farm template.

TODO: demand templates for other skeletons
      map reduce loop

BUGS: sometimes we get core dumps / random errors with threads
      too many sockets left open after execution [seems fixed by the thread libraries
      in recent versions of Ocaml]

IN PROGRESS: the logic necessary to shut down properly a loop is tricky.
             In the current version, we use the packet number to do this,
             in *non nested loops*:
		- when a loop distributor gets EoS, it send EndLoop n
                  where n is the highest packet sequence number he ever saw
                - when a loop condition tester sees EndLoop n, it remembers
                  the n, and does not start shutting down (i.e. sending EoS)
                  until it has seen at least packet n (and then, it still
                  needs to wait for the in-loop packets to finish their journey).

             Notice that this mechinics is fragile:

		a) it may not work as well in nested loop conditions

		b) it may break down the day packets con be "created" or "destroyed"
                   along the way

back to top