next up previous contents
Next: Results Up: GUM Previous: Packaging and unpackaging graph

PVM environment and GUM

GUM starts off by creating a PVM manager task that controls startup and termination. The PVM manager spawns required number of tasks as logical PEs and maps them to the actual PEs. Each PE task then initialises itself processing runtime arguments, allocating a local heap etc. After all the PEs have been initialised, one PE is regarded as the main and evaluates the Main thread of the Haskell program. On completion of the Haskell program the main PE sends FINISH message to the manager task, which broadcasts it to all the PE tasks. When all the PE tasks have responded, the manager terminates the program. Each thread follows the schedule:



Ananda Amatya
2/16/1999