Demand-driven interpretation of FP programs on a data-flow multiprocessor
Journal Article
·
· IEEE Trans. Comput.; (United States)
The functional programming language approach has been proposed as a solution to the programmability of large scale multiprocessor systems. This paper presents a demand-driven evaluation system for the list-structure language, Backus' FP systems. It enables execution in a data-driven environment. A formal approach for transforming FP programs into lazy programs, which contains the notion of demands, is used. The superset language of FP is called DFP (demand-driven FP). The DFP lazy programs are shown to have the property of always evaluating a sufficient and necessary result. A demand reduction scheme is used to remove unnecessary demand propagations on DFP programs to reduce run-time overhead. The DFP programs are translated into data-flow graphs according to the graph schemata developed from the FP-DFP transformation rules. The execution characteristics of the DFP graphs are identified and the architecture supports for efficient execution are suggested. Due to the laziness and the least evaluation property of transformed DFP programs, the system allows programming in FP with infinite data structures and the application of partial-functional-value evaluation. Examples of these applications including an infinite sequence generation and a fast Fourier transform are used to demonstrate the transformation process, the principles of run-time interpretation, the effectiveness of the transformation, and the power of the lazy evaluation system.
- Research Organization:
- Dept. of Electrical Engineering-Systems, Univ. of Southern California, Los Angeles, CA (US)
- OSTI ID:
- 6902290
- Journal Information:
- IEEE Trans. Comput.; (United States), Journal Name: IEEE Trans. Comput.; (United States) Vol. 37:8; ISSN ITCOB
- Country of Publication:
- United States
- Language:
- English
Similar Records
Lazy evaluation of FP programs: A data-flow approach
2DT-FP: A parallel functional programming language on two-dimensional data
Multiprocessor execution of functional programs
Conference
·
Fri Dec 30 23:00:00 EST 1988
·
OSTI ID:10187840
2DT-FP: A parallel functional programming language on two-dimensional data
Journal Article
·
Sun Oct 01 00:00:00 EDT 1995
· International Journal of Parallel Programming
·
OSTI ID:191985
Multiprocessor execution of functional programs
Journal Article
·
Sat Oct 01 00:00:00 EDT 1988
· International Journal of Parallel Programming; (USA)
·
OSTI ID:6193122