previous up next
Go backward to Session Initialization
Go up to Programming Interface
Go forward to Non-Determinism and Speculation
RISC-Linz logo

Functional Parallelism

The parallel programming model is essentially based on functional principles which is sufficient for many kinds of computer algebra algorithms:
dist[start](f, a, ...)
creates a task evaluating the expression f(a, ...) and returns a reference t to this task. The execution of f may take place on any machine connected to the distributed session and should therefore not cause any side effects. Tasks may create other tasks and arbitrary Maple objects (including task references) may be passed as task arguments and returned as task results.
dist[wait](t)
blocks the execution of the current task until the task represented by t has terminated and returns its result. Multiple tasks may independently wait for and retrieve the result of the same task t.
When and on which machine a task is scheduled for execution is entirely in the responsibility of the underlying runtime system.
Maintained by: Wolfgang Schreiner
Last Modification: April 22, 1999

previous up next