Skip to main content

Abstract

Parallel implementations of non-strict functional languages using graph reduction are all based on the following model:

  1. 1.

    The graph is held in one or more large heap memories (see below);

  2. 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. 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. 4.

    Synchronisation is required whenever a thread requires the value of an expression that is currently being evaluated by another thread.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

eBook
USD 16.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Similar content being viewed by others

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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

Publish with us

Policies and ethics