Abstract
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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1999 Springer-Verlag London
About this chapter
Cite this chapter
Clack, C. (1999). Realisations for Non-Strict Languages. In: Hammond, K., Michaelson, G. (eds) Research Directions in Parallel Functional Programming. Springer, London. https://doi.org/10.1007/978-1-4471-0841-2_6
Download citation
DOI: https://doi.org/10.1007/978-1-4471-0841-2_6
Publisher Name: Springer, London
Print ISBN: 978-1-85233-092-7
Online ISBN: 978-1-4471-0841-2
eBook Packages: Springer Book Archive