ACM Home Page
Please provide us with feedback. Feedback
Supporting dynamic data structures on distributed-memory machines
Full text PdfPdf (2.05 MB)
Source ACM Transactions on Programming Languages and Systems (TOPLAS) archive
Volume 17 ,  Issue 2  (March 1995) table of contents
Pages: 233 - 263  
Year of Publication: 1995
ISSN:0164-0925
Authors
Anne Rogers  Princeton Univ., Princeton, NJ
Martin C. Carlisle  Princeton Univ., Princeton, NJ
John H. Reppy  AT&T Bell Labs, Murray Hill, NJ
Laurie J. Hendren  McGill Univ., Montreal, P.Q., Canada
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 10,   Downloads (12 Months): 89,   Citation Count: 78
Additional Information:

abstract   references   cited by   index terms   review   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/201059.201065
What is a DOI?

ABSTRACT

Compiling for distributed-memory machines has been a very active research area in recent years. Much of this work has concentrated on programs that use arrays as their primary data structures. To date, little work has been done to address the problem of supporting programs that use pointer-based dynamic data structures. The techniques developed for supporting SPMD execution of array-based programs rely on the fact that arrays are statically defined and directly addressable. Recursive data structures do not have these properties, so new techniques must be developed. In this article, we describe an execution model for supporting programs that use pointer-based dynamic data structures. This model uses a simple mechanism for migrating a thread of control based on the layout of heap-allocated data and introduces parallelism using a technique based on futures and lazy task creation. We intend to exploit this execution model using compiler analyses and automatic parallelization techniques. We have implemented a prototype system, which we call Olden, that runs on the Intel iPSC/860 and the Thinking Machines CM-5. We discuss our implementation and report on experiments with five benchmarks.


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
CALLAHAN, D. AND KENNEDY, K. 1988. Compiling programs for distributed-memory multiprocessors. J. Supercomput. 2, 2 (Oct.), 151-169.
 
10
11
12
 
13
 
14
15
 
16
 
17
GERNDT, M. 1990. Automatic parallelization for distributed-memory multiprocessing systems. Ph. D. thesis, University of Bonn.
 
18
GumAs, L. AND STOLFI, J. 1985. General subdivisions and voronoi diagrams. A CM Trans. Graph. g, 2, 74-123.
 
19
GUPTA, R. 1992. SPMD execution of programs with dynamic data structures on distributed memory machines. In Proceedings of the 1992 International Conference on Computer Languages. IEEE Computer Society Press, Los Alamitos, Ca., 232-241.
20
 
21
 
22
23
24
 
25
I-IOGEN, G. AND LOOGEN, R. 1993. A new stack technique for the management of runtime structures in distributed implementations. Tech. Rep. 3, RWTH Aachen.
26
27
28
29
30
 
31
I~ARP, 1:(. 1977. Probabilistic analysis of partitioning algorithms for the traveling-saleman problem in the plane. Math. Oper. Res. 2, 3 (Aug.), 209-224.
 
32
 
33
 
34
35
36
 
37
LEE, D. W. AND SCHACHTER, }3. J. 1980. Two algorighms for constructing a delaunay triangulation. Int. J. Comput. Inf. Sci. 9, 3, 219-242.
38
 
39
 
40
M/JLLER, J. 1993. Parallelverarbeitung auf workstation-clustern mlttels express und networklinda. Diplomarbeit in Elektrotedanik, RWTH-Aachen.
 
41
 
42
ROBERTS, E. S. AND VANDEVOORDE, ~I. T. 1989. WorkCrews: An abstraction for controlling parallelism. Tech. Rap. 42, DEC Systems Research Center, Palo Alto, Ca. April.
43
 
44
45
46
 
47
WEII-m, W., BREWER, E., COLBROOK, A., DELLAROCAS, C., HSIEH, W., JOSEPH, A., WALD- SPURGER, C., AND \~ANG, t}. 1991. Prelude: A system for portable parallel software. MIT/LCS 519, Massachusetts Institute of Technology, Cambridge, Mass.
 
48
 
49
ZIMA, H., BAST, H., AND GERNDT, M. 1988. SUPERB: A tool for semi-automatic MIMD/SIMD parallelizatlon. Parallel Comput. 6, 1, 1-18.

CITED BY  78


REVIEW

"R. Nigel Horspool : Reviewer"

A good general principle for programming a distributed-memory machine is that the processor that owns an item of data is responsible for updating that item. This principle reduces the volume of interprocessor messages and makes synchronization  more...

Collaborative Colleagues:
Anne Rogers: colleagues
Martin C. Carlisle: colleagues
John H. Reppy: colleagues
Laurie J. Hendren: colleagues