Parallel implementations of non-strict functional languages using graph reduction are all based on the following model: 1. The graph is held in one or more large heap memories (see below); 2. There are a number of processing agents each of which uses one or more (slightly modified) sequential abstract machines to execute a thread in order to evaluate some part of the graph to WHNF; 3. Threads that are not currently being executed reside in one or more thread pools — if they have not yet started evaluation, they are often called sparks (see below) and may reside in one or more separate spark pools; 4. Synchronisation is required whenever a thread requires the value of an expression that is currently being evaluated by another thread.
CITATION STYLE
Clack, C. (1999). Realisations for Non-Strict Languages. In Research Directions in Parallel Functional Programming (pp. 149–187). Springer London. https://doi.org/10.1007/978-1-4471-0841-2_6
Mendeley helps you to discover research relevant for your work.