Skip to main content

A Parallel Functional Database on GRIP

  • Conference paper
Functional Programming, Glasgow 1991

Part of the book series: Workshops in Computing ((WORKSHOPS COMP.))

Abstract

GRIP is a shared-memory multiprocessor designed for efficient parallel evaluation of functional languages, using compiled graph reduction. This paper investigates the feasibility of processing persistent data on GRIP, and presents results obtained from a pilot implementation. A database implemented in a pure functional language must be modified non-destructively, i.e. the original database must be preserved and a new copy constructed. The naive implementation provides evidence for the feasibility of data processing in the form of modest real-time speed-ups, and acceptable real-time performance. The functional database is also used to investigate the GRIP architecture, compared with an idealised machine. The particular features investigated are the thread-creation costs and caching of GRIP’s distributed memory.

This work is supported by the SERC GRASP and Bulk Data Types Projects.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.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.

Bibliography

  1. Argo G, Fairbairn J, Hughes RJM, Launchbury EJ, and Trinder PW,“Implementing Functional Databases”, Proc Workshop on Database Programming Languages, Roscoff, France (September 1987), pp. 87–103.

    Google Scholar 

  2. Akerholt G, “Extending A Parallel Functional Database”, Senior Honours Project Report, Glasgow University Computer Science Dept., (1991), in preparation.

    Google Scholar 

  3. “Flagship Project — Alvey Proposal”, Document Reference G0003 Issue 4, (May 1985 ).

    Google Scholar 

  4. Baker HG, “List processing in real time on a serial computer”, Comm. ACM 21, 4 (April 1978).

    Article  Google Scholar 

  5. Bird RS and Wadler PL, Introduction to Functional Programming, Prentice Hall, (1988).

    Google Scholar 

  6. Boral H, Alexander W, and Clay L et al. Prototyping Bubba, A highly Parallel Database System. IEEE Trans, on Knowledge and Data Engineering 2, 1 (March 1990).

    Article  Google Scholar 

  7. Burton FW and Sleep MR, “Executing Functional Programs on a Virtual Tree of Processors”, Proc ACM Conference on Functional Programming Languages and Computer Architecture, Portsmouth, New Hampshire, (1981).

    Google Scholar 

  8. Cox S, Glaser H, and Reeve M, “Compiling Functional Languages for the Transputer”, Proc Glasgow Workshop on Functional Programming, Fraserburgh, Scotland, Springer Verlag, (August 1989).

    Google Scholar 

  9. De Witt DJ, Ghandeharizadeh S, Schneider DA et al. The Gamma Database Machine Project. IEEE Trans, on Knowledge and Data Engineering 2, 1 (March 1990).

    Google Scholar 

  10. Friedman DP, and Wise DS, “A Note on Conditional Expressions”, Comm. ACM 21 (11), (November 1978).

    Google Scholar 

  11. Henderson P, “Purely Functional Operating Systems” in Functional Programming and its Application, Darlington J, Henderson P and Turner DA (Eds), Cambridge University Press, (1982).

    Google Scholar 

  12. Hecht MS, and Gabbe JD, “Shadowed Management of Free Disk Pages with a Linked List”, A CM Transactions on Database Systems 8 (4), (December 1983).

    Google Scholar 

  13. Hammond K, and Peyton Jones SL, “Some Early Experiments on the GRIP Parallel Reducer”, Proc 2nd International Workshop on Parallel Implementation of Functional Languages, Plasmeijer MJ (Ed), University of Nijmegen, (1990).

    Google Scholar 

  14. Hammond K, and Peyton Jones SL, “Profiling Scheduling Strategies on the GRIP Parallel Reducer”, submitted to Journal of Parallel and Distributed Computing, (1991).

    Google Scholar 

  15. McNally D, Joosten S, and Davie A Persistent Functional Programming. Proceedings of the 4th International Workshop on Persistent Object Systems, Martha’s Vinyard, Mass., USA (September 1990).

    Google Scholar 

  16. Mathews DCJ A Persistent Storage System for Poly and ML. University of Cambridge Technical Report 102 (January 1987).

    Google Scholar 

  17. Nikhil RS Heytens ML List Comprehensions in AGNA, a Parallel Persistent Object System. Proceedings of the Conference on Functional Programming and Computer Architecture, Cambridge, Massachusetts (August 1991).

    Google Scholar 

  18. Peyton Jones SL, Clack, C, Salkild, J and Hardie, M “GRIP — a high- performance architecture for parallel graph reduction”, Proc FPCA 87, Portland, Oregon, ed Kahn G, Springer-Verlag LNCS, (1987).

    Google Scholar 

  19. Peyton Jones SL, “Using Futurebus in a Fifth Generation Computer”, Microprocessors and Microsystems 10 (2), (March 1986), pp. 69–76.

    Article  Google Scholar 

  20. Peyton Jones SL, The Implementation of Functional Programming Languages, Prentice Hall, (1987).

    MATH  Google Scholar 

  21. Peyton Jones SL, “FLIC — a Functional Language Intermediate Code”, Department of Computer Science, University College, London, Internal Note 2048, (February 1987).

    Google Scholar 

  22. Peyton Jones SL, and Salkild J, “The Spineless Tagless G-machine”, Proc FPCA 89, London, MacQueen (Ed ), Addison Wesley, (1989).

    Google Scholar 

  23. Robertson IB, “Hope+ on Flagship”, Proc 1989 Glasgow Workshop on Functional Programming, Fraserburgh, Scotland, Springer Verlag, (August 1989).

    Google Scholar 

  24. Sawyer T. Serlin O. DebitCredit Benchmark - Minimum Requirements and Compliance List. Codd & Date Consulting Group, San Jose.

    Google Scholar 

  25. Trinder PW, A Functional Database, Oxford University D.Phil. Thesis, ( December 1989 ).

    Google Scholar 

  26. Trinder PW, “Concurrent Data Manipulation in a Pure Functional Language”, in Proc 1990 Glasgow Workshop on Functional Programming, Ullapool, Scotland, Springer Verlag, ( August 1990 ).

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 1992 British Computer Society

About this paper

Cite this paper

Akerholt, G., Hammond, K., Peyton Jones, S., Trinder, P. (1992). A Parallel Functional Database on GRIP. In: Heldal, R., Holst, C.K., Wadler, P. (eds) Functional Programming, Glasgow 1991. Workshops in Computing. Springer, London. https://doi.org/10.1007/978-1-4471-3196-0_1

Download citation

  • DOI: https://doi.org/10.1007/978-1-4471-3196-0_1

  • Publisher Name: Springer, London

  • Print ISBN: 978-3-540-19760-7

  • Online ISBN: 978-1-4471-3196-0

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics