Quick links

Language and Compiler Mechanisms for Parallel Programming with Customizable Protocols (Thesis)

Report ID:
October 1997
Download Formats:


Customizing the protocols used to 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, however, are hard to use because they force
programmers to rely on low-level mechanisms for manipulating these
protocols. Since several shared-memory systems implement protocols in
software and can support customizable protocols, the development of
intuitive abstractions for the use of application-specific protocols is

This dissertation is an in-depth study of the issues involved with providing
language support for customizable 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 examination of the use of
customizable protocols. We delineate the issues that must be considered when
programming with customizable protocols and present novel abstractions that
allow for the easy use of customizable protocols. We describe the design
and implementation of a runtime system and compiler for
Ace and 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 using experimentation on a Thinking Machine CM-5 and a Cray T3E. We
also present measurements that demonstrate that Ace has good performance
compared to a modern software distributed shared-memory system.

Follow us: Facebook Twitter Linkedin