Toprogrammassivelyconcurrent MIMDmachines, programmersneed tools for managingcomplexity. One important tool that has been used in the sequential programmingworld is hierarchies of abstractions. Unfortunately, most concurrent object-oriented languages construct hierarchical abstractions from objects that serialrializing the abstractions. In machines with tens of thousands of processors, unnecessary serialization of this sort can cause signi cant loss of concurrency. Concurrent Aggregates (CA) is an object-oriented language that allows programmers to build unserialized hierarchies of abstractions by using aggregates. An aggregate in CA is a homogeneous collection of objects (called representatives) that are grouped together and may be referenced by a single aggregate name. Aggregates are integrated into the object model, allowing themto be used wherever an object couldbe used. Concurrent Aggregates also incorporates several innovative language features that facilitate programming with a...
Andrew A. Chien, William J. Dally