|
ABSTRACT
Speculative evaluation, including leniency and futures, is often used to produce high degrees of parallelism. Understanding the performance characteristics of such evaluation, however, requires having a detailed understanding of the implementation. For example, the particular implementaion technique used to suspend and reactivate threads can have an asymptotic effect on performance. With the goal of giving the users some understanding of performance without requiring them to understand the implementation, we present a provable implementation bound for a language based on speculative evaluation. The idea is (1) to supply the users with a semantics for a language that defines abstract costs for measuring or analyzing the performance of computations, (2) to supply the users with a mapping of these costs onto runtimes on various machine models, and (3) to describe an implementation strategy of the language and prove that it meets these mappings. For this purpose we consider a simple language based on speculative evaluation. For every computation, the semantics of the language returns a directed acyclic graph (DAG) in which each node represents a unit of computation, and each edge represents a dependence. We then describe an implementation strategy of the language and show that any computation with w work (the number of nodes in the DAG) and d depth (the length of the longest path in the DAG) will run on a p-processor PRAM in O(w/p + d log p) time. The bounds are work efficient (within a constant factor of linear speedup) when there is sufficient parallelism, w/d ≥ p log p. These are the first time bounds we know of for languages with speculative evaluation. The main challenge is in parallelizing the necessary queuing operations on suspended threads.
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
|
Guy E. Blelloch , Phillip B. Gibbons , Yossi Matias, Provably efficient scheduling for languages with fine-grained parallelism, Proceedings of the seventh annual ACM symposium on Parallel algorithms and architectures, p.1-12, June 24-26, 1995, Santa Barbara, California, United States
[doi> 10.1145/215399.215403]
|
 |
3
|
|
 |
4
|
|
| |
5
|
|
 |
6
|
|
 |
7
|
Robert D. Blumofe , Christopher F. Joerg , Bradley C. Kuszmaul , Charles E. Leiserson , Keith H. Randall , Yuli Zhou, Cilk: an efficient multithreaded runtime system, Proceedings of the fifth ACM SIGPLAN symposium on Principles and practice of parallel programming, p.207-216, July 19-21, 1995, Santa Barbara, California, United States
|
 |
8
|
|
| |
9
|
|
| |
10
|
|
| |
11
|
|
 |
12
|
|
 |
13
|
|
| |
14
|
|
 |
15
|
Ron Goldman , Richard P. Gabriel, Qlisp: experience and new directions, Proceedings of the ACM/SIGPLAN conference on Parallel programming: experience with applications, languages and systems, p.111-123, July 19-21, 1988, New Haven, Connecticut, United States
|
 |
16
|
|
| |
17
|
GREINER, J. 1997. Semantics-based parallel cost models and their use in provably efficient implementations. Ph.D. thesis, Carnegie Mellon University.
|
 |
18
|
|
 |
19
|
|
 |
20
|
|
| |
21
|
|
| |
22
|
|
 |
23
|
|
 |
24
|
|
| |
25
|
|
| |
26
|
|
| |
27
|
|
 |
28
|
D. A. Kranz , R. H. Halstead, Jr. , E. Mohr, Mul-T: a high-performance parallel Lisp, Proceedings of the ACM SIGPLAN 1989 Conference on Programming language design and implementation, p.81-90, June 19-23, 1989, Portland, Oregon, United States
|
| |
29
|
LANDIN, P. J. 1964. The mechanical evaluation of expressions. The Computer Journal 6, 308-320.
|
| |
30
|
|
| |
31
|
|
| |
32
|
MILLER, J. S. 1987. MultiScheme: A parallel processing system based on MIT Scheme. Ph.D. thesis, Massachusetts Institute of Technology.
|
| |
33
|
|
| |
34
|
MOREAU, L. 1995. The semantics of Scheme with future. Tech. Rep. M95/7, Department of Electronics and Computer Science, University of Southampton.
|
 |
35
|
|
| |
36
|
NIKHIL, R. S. 1990. The parallel programming language Id and its compilation for parallel machines. Tech. Rep. Computation Structures Group Memo 313, Massachusetts Institute of Technology. July.
|
| |
37
|
NIKHIL, R. S. 1991. Id version 90.1 reference manual. Tech. Rep. Computation Structures Group Memo 284-1, Laboratory for Computer Science, Massachusetts Institute of Technology. July.
|
| |
38
|
NIKHIL, R. S., ARVIND, HICKS, J., ADITYA, S., AUGUSTSSON, L., MAESSEN, J.-W., AND ZHOU, Y. 1995. pH language reference manual, version 1.0--preliminary. Tech. Rep. Computation Structures Group Memo 369, Laboratory for Computer Science, Massachusetts Institute of Technology. Jan.
|
| |
39
|
OSBORNE, R. B. 1989. Speculative computation in Multilisp. Ph.D. thesis, Massachusetts Institute of Technology.
|
| |
40
|
|
| |
41
|
PARTRIDGE, t. S. 1991. Speculative evaluation in parallel implementations of lazy functional languages. Ph.D. thesis, Department of Computer Science, University of Tasmania.
|
| |
42
|
PARTRIDGE, A. S. AND DEKKER, A. H. 1989. Speculative parallelism in a distributed graph reduction machine. In Proceedings Hawaii International Conference on System Sciences. Vol. 2. 771-779.
|
| |
43
|
|
| |
44
|
PLOTKIN, G. D. 1974. Call-by-name, call-by-value and the A-calculus. Theor. Comput. Sci. 1.
|
| |
45
|
|
| |
46
|
ROE, P. 1990. Calculating lenient programs' performance. In Proceedings Functional Programruing, Glasgow 1990, S. L. Peyton Jones, G. Hutton, and C. K. Holst, Eds. Workshops in computing. Springer-Verlag, 227-236.
|
| |
47
|
ROE, P. 1991. Parallel programming using functional languages. Ph.D. thesis, Department of Computing Science, University of Glasgow.
|
 |
48
|
|
| |
49
|
SANDS, D. 1990. Calculi for time analysis of functional programs. Ph.D. thesis, University of London, Imperial College.
|
| |
50
|
TRAUB, K. R. 1988. Sequential implementation of lenient programming languages. Ph.D. thesis, Massachusetts Institute of Technology.
|
| |
51
|
TREMBLAY, G. AND GAO, G. R. 1995. The impact of laziness on parallelism and the limits of strictness analysis. In Proceedings High Performance Functional Computing, A. P. W. Bohm and J. T. Feo, Eds. 119-133.
|
|