|
ABSTRACT
We present an operational semantics for parallel lazy evaluation that accurately models the parallel behaviour of the non-strict parallel functional language GpH. Parallelism is modelled synchronously, that is, single reductions are carried out separately then combined before proceeding to the next set of reductions. Consequently the semantics has two levels, with transition rules for individual threads at one level and combining rules at the other. Each parallel thread is modelled by a binding labelled with an indication of its activity status. To the best of our knowledge this is the first semantics that models such thread states. A set of labelled bindings corresponds to a heap and is used to model sharing.The semantics is set at a higher level of abstraction than an abstract machine and is therefore more manageable for proofs about programs rather than implementations. At the same time, it is sufficiently low level to allow us to reason about programs in terms of parallelism (i.e. the number of processors used) as well as work and run-time with different numbers of processors.The framework used by the semantics is sufficiently flexible and general that it can easily be adapted to express other evaluation models such as sequential call-by-need, speculative evaluation, non-deterministic choice and others.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
|
| |
2
|
S. Aditya, Arvind, L. Augustsson, J.-W. Maessen, and R. S. Nikhil. Semantics of pH: A parallel dialect of Haskell. In Proceedings of the Haskell Workshop, pages 35-49, La Jolla, California, 1995.
|
 |
3
|
Zena M. Ariola , John Maraist , Martin Odersky , Matthias Felleisen , Philip Wadler, A call-by-need lambda calculus, Proceedings of the 22nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages, p.233-246, January 23-25, 1995, San Francisco, California, United States
[doi> 10.1145/199448.199507]
|
| |
4
|
|
| |
5
|
C. Baker-Finch, D. J. King, J. G. Hall, and P. Trinder. An operational semantics for parallel call-by-need. Technical Report No. 99/1, Department of Computing, The Open University, Milton Keynes, 1999.
|
 |
6
|
Dave Berry , Robin Milner , David N. Turner, A semantics for ML concurrency primitives, Proceedings of the 19th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, p.119-129, January 19-22, 1992, Albuquerque, New Mexico, United States
[doi> 10.1145/143165.143191]
|
 |
7
|
Guy E. Blelloch , Phillip B. Gibbons , Girija J. Narlikar , Yossi Matias, Space-efficient scheduling of parallelism with synchronization variables, Proceedings of the ninth annual ACM symposium on Parallel algorithms and architectures, p.12-23, June 23-25, 1997, Newport, Rhode Island, United States
[doi> 10.1145/258492.258494]
|
 |
8
|
|
| |
9
|
|
| |
10
|
S. Breitinger, R. Loogen, Y. Ortega-Mallen, and R. Pena. Eden: Language Definition and Operational Semantics. Fachbereich Mathematik und Informatik, Philipps Universit. at Marburg, 1998. Technical Report 96-10.
|
| |
11
|
|
| |
12
|
|
 |
13
|
|
| |
14
|
J. Greiner. Semantics-based parallel cost models and their use in provably efficient implementations. PhD thesis, School of Computer Science, Carnegie Mellon University, Pittsburgh, 1997.
|
 |
15
|
|
| |
16
|
J. Gustavsson and D. Sands. A foundation for space-safe transformations of call-by-need programs. In The Third International Workshop on Higher Order Operational Techniques in Semantics, volume 26 of Electronic Notes in Theoretical Computer Science. Elsevier, 1999.
|
| |
17
|
|
| |
18
|
|
| |
19
|
|
| |
20
|
|
 |
21
|
|
| |
22
|
H.-W. Loidl. Granularity in Large-Scale Parallel Functional Programming. PhD thesis, Department of Computing Science, University ofGlasgow, 1998.
|
| |
23
|
J. McCarthy. A basis for a mathematical theory of computation. In Proc. Western Joint Computer Conference, pages 225-238, 1961.
|
 |
24
|
|
| |
25
|
A. K. Moran. Call-by-name, Call-by-need, and McCarthy's Amb. PhD thesis, Computing Science Department, Chalmers University, 1998.
|
| |
26
|
|
 |
27
|
|
| |
28
|
G. D. Plotkin. Call-by-name, call-by-value and the -calculus. Theoretical Computer Science, 1(2):125-159, 1975.
|
| |
29
|
|
| |
30
|
J. H. Reppy. An operational semantics of first-class synchronous operations. Technical report, Department of Computer Science, Cornell University, 1991.
|
| |
31
|
P. Roe.Parallel programming using functional languages. PhD thesis, Department of Computing Science, University of Glasgow, Glasgow, Scotland, 1991.
|
| |
32
|
C. Runciman and D. Wakeling. Profiling parallel functional computations (without parallel machines). In Proceedings of the 1993 Glasgow Workshop on Functional Programming, pages 236-251, Ayr, Scotland, 1994.
|
| |
33
|
|
| |
34
|
|
 |
35
|
P. W. Trinder , K. Hammond , J. S. Mattson, Jr. , A. S. Partridge , S. L. Peyton Jones, GUM: a portable parallel implementation of Haskell, Proceedings of the ACM SIGPLAN 1996 conference on Programming language design and implementation, p.79-88, May 21-24, 1996, Philadelphia, Pennsylvania, United States
|
| |
36
|
|
Peer to Peer - Readers of this Article have also read:
-
Data structures for quadtree approximation and compression
Communications of the ACM
28, 9
Hanan Samet
-
A hierarchical single-key-lock access control using the Chinese remainder theorem
Proceedings of the 1992 ACM/SIGAPP Symposium on Applied computing
Kim S. Lee
, Huizhu Lu
, D. D. Fisher
-
An intelligent component database for behavioral synthesis
Proceedings of the 27th ACM/IEEE Design Automation Conference on
Gwo-Dong Chen
, Daniel D. Gajski
-
Putting innovation to work: adoption strategies for multimedia communication systems
Communications of the ACM
34, 12
Ellen Francik
, Susan Ehrlich Rudman
, Donna Cooper
, Stephen Levine
-
The GemStone object database management system
Communications of the ACM
34, 10
Paul Butterworth
, Allen Otis
, Jacob Stein
|