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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Bibliography
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.
Akerholt G, “Extending A Parallel Functional Database”, Senior Honours Project Report, Glasgow University Computer Science Dept., (1991), in preparation.
“Flagship Project — Alvey Proposal”, Document Reference G0003 Issue 4, (May 1985 ).
Baker HG, “List processing in real time on a serial computer”, Comm. ACM 21, 4 (April 1978).
Bird RS and Wadler PL, Introduction to Functional Programming, Prentice Hall, (1988).
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).
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).
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).
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).
Friedman DP, and Wise DS, “A Note on Conditional Expressions”, Comm. ACM 21 (11), (November 1978).
Henderson P, “Purely Functional Operating Systems” in Functional Programming and its Application, Darlington J, Henderson P and Turner DA (Eds), Cambridge University Press, (1982).
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).
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).
Hammond K, and Peyton Jones SL, “Profiling Scheduling Strategies on the GRIP Parallel Reducer”, submitted to Journal of Parallel and Distributed Computing, (1991).
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).
Mathews DCJ A Persistent Storage System for Poly and ML. University of Cambridge Technical Report 102 (January 1987).
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).
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).
Peyton Jones SL, “Using Futurebus in a Fifth Generation Computer”, Microprocessors and Microsystems 10 (2), (March 1986), pp. 69–76.
Peyton Jones SL, The Implementation of Functional Programming Languages, Prentice Hall, (1987).
Peyton Jones SL, “FLIC — a Functional Language Intermediate Code”, Department of Computer Science, University College, London, Internal Note 2048, (February 1987).
Peyton Jones SL, and Salkild J, “The Spineless Tagless G-machine”, Proc FPCA 89, London, MacQueen (Ed ), Addison Wesley, (1989).
Robertson IB, “Hope+ on Flagship”, Proc 1989 Glasgow Workshop on Functional Programming, Fraserburgh, Scotland, Springer Verlag, (August 1989).
Sawyer T. Serlin O. DebitCredit Benchmark - Minimum Requirements and Compliance List. Codd & Date Consulting Group, San Jose.
Trinder PW, A Functional Database, Oxford University D.Phil. Thesis, ( December 1989 ).
Trinder PW, “Concurrent Data Manipulation in a Pure Functional Language”, in Proc 1990 Glasgow Workshop on Functional Programming, Ullapool, Scotland, Springer Verlag, ( August 1990 ).
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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