ACM Home Page
Please provide us with feedback. Feedback
A provably time-efficient parallel implementation of full speculation
Full text PdfPdf (507 KB)
Source ACM Transactions on Programming Languages and Systems (TOPLAS) archive
Volume 21 ,  Issue 2  (March 1999) table of contents
Pages: 240 - 285  
Year of Publication: 1999
ISSN:0164-0925
Authors
John Greiner  Rice Univ., Houston, TX
Guy E. Blelloch  Carnegie Mellon Univ., Pittsburgh, PA
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 2,   Downloads (12 Months): 34,   Citation Count: 3
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/316686.316690
What is a DOI?

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/dp 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
3
4
 
5
6
7
8
 
9
 
10
 
11
12
13
 
14
15
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
 
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.


Collaborative Colleagues:
John Greiner: colleagues
Guy E. Blelloch: colleagues