ACM Home Page
Please provide us with feedback. Feedback
Ace: a language for parallel programming with customizable protocols
Full text PdfPdf (297 KB)
Source ACM Transactions on Computer Systems (TOCS) archive
Volume 17 ,  Issue 3  (August 1999) table of contents
Pages: 202 - 248  
Year of Publication: 1999
ISSN:0734-2071
Authors
Mukund Raghavachari  IBM T. J. Watson Research Center, Yorktown Heights, NY
Anne Rogers  AT&T Labs—Research, Florham Park, NJ
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 9,   Downloads (12 Months): 47,   Citation Count: 0
Additional Information:

abstract   references   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/320656.320657
What is a DOI?

ABSTRACT

Customizing the protocols that manage accesses to different data structures within an application can improve the performance of software shared-memory programs substantially. Existing systems for using customizable protocols are hard to use directly because the mechanisms they provide for manipulating protocols are low-level ones. This article is an in-depth study of the issues involved in providing language support for application-specific protocols. We describe the design and implementation of a new language for parallel programming, Ace, that integrates support for customizable protocols with minimal extensions to C. Ace applications are developed using a shared-memory model with a default sequentially consistent protocol. Performance can then be optimized, with minor modifications to the application, by experimenting with different protocol libraries. The design of Ace was driven by a detailed study of the use of customizable protocols. We delineate the issues that arise when programming with customizable protocols and present novel abstractions that allow for their easy use. We describe the design and implementation of a runtime system and compiler for Ace nd discuss compiler optimizations that improve the performance of such software shared-memory systems. We study the communication patterns of a set of benchmark applications and consider the use of customizable protocols to optimize their performance. We evaluate the performance of our system through experiments on a Thinking Machine CM-5 and a Cray T3E. We also present measurements that demonstrate that Ace has good performance compared to that of a modern distributed shared-memory system.


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
ADVE, S. V. AND GHARACHORLOO, K. 1995. Shared memory consistency models: A tutorial. Tech. Rep. ECE-9512. Rice University, Houston, TX.
 
2
AGARWAL, A., CHAIKEN, D., JOHNSON, K., KRANZ, D., KUBIATOWICZ, J., KURIHARA, K., LIM, B.-H., MAA, G., AND NUSSBAUM, D. 1992. The MIT Alewife machine: A large-scale distributedmemory multiprocessor. In Scalable Shared Memory Multiprocessors, M. Dubois and S. S. Thakkar, Eds. Kluwer Academic Publishers, Hingham, MA, 239-261.
 
3
 
4
 
5
 
6
BARNES, J. AND HUT, P. 1986. A hierarchical O(NlogN) force calculation algorithm. Nature 324, 4, 446-449.
7
 
8
BERSHAD, B., ZEKAUSKAS, M., AND SAWDON, W.A. 1993. The Midway distributed shared memory system. In Proceedings of the IEEE International Computer Conference (COMP- CON '93, Feb.). IEEE Computer Society Press, Los Alamitos, CA, 528-537.
9
10
 
11
12
13
14
 
15
 
16
 
17
DWARKADAS, S., Cox, A. L., AND ZWAENEPOEL, W. 1996. An integrated compile-time/run-time software distributed shared memory system. ACM SIGOPS Oper. Syst. Rev. 30, 5, 186-197.
18
 
19
20
 
21
HIGH PERFORMANCE FORTRAN FORUM. 1992. High Performance Fortran langauge specification. Tech. Rep. CRPC-TR9225. Center for Research on Parallel Computation, Rice University, Houston, TX.
 
22
JOHNSON, K., ADLER, J., AND GUPTA, S. 1995a. CRL 1.0 software distribution. (Software). Available via http://www.pdos.lcs.mit.edu/crl.
23
 
24
25
26
27
 
28
29
30
31
32
 
33
MIDKIFF, S. AND PADUA, D. 1990. Issues in the optimization of parallel programs. In Proceedings of the International Conference on Parallel Processing. 105-113.
34
 
35
 
36
37
38
39
 
40
41
 
42
SCALES, D. J. AND LAM, M. S. 1994. The design and evaluation of a shared object system for distributed memory machines. In Proceedings of the 1st USENIX Symposium on Operating Systems Design and Implementation (OSDI '94, Monterey, CA, Nov.). USENIX Assoc., Berkeley, CA, 101-114.
43
44
 
45
SCOTT, S. L. 1996. Synchronization and communication in the T3E multiprocessor. ACM SIGOPS Oper. Syst. Rev. 30, 5, 26-36.
46
 
47
 
48
Vo, K.-P. 1996. Vmalloc: A general and efficient memory allocator. Softw. Pract. Exper. 26, 3 (Mar.), 357-374.
49
 
50


REVIEW

"Noah S. Prywes : Reviewer"

Ace, a new parallel programming language, is more efficient than existing languages for parallel processing with message passing and clustered machines. This topic may sound prosaic, but it is explained and demonstrated well, making the paper   more...

Collaborative Colleagues:
Mukund Raghavachari: colleagues
Anne Rogers: colleagues