Concert Implementation Techniques (CSAG)

Concert Implementation Techniques

A goal of the Concert project is to develop efficient implementations of concurrent object-oriented languages. The Concert system employs a variety of compiler and runtime techniques to achieve efficient implementation.

Compiler Analysis and Optimization

The Concert compiler employs interprocedural flow analysis (type inference), optimization directly procedure and class cloning, and a wealth of traditional techniques such as inlining and code motion to achieve performance competitive with C programs. These optimization techniques are generally applicable to both sequential and parallel programs. For example, the Concert compiler outputs code superior to many commercial C++ compilers. These techniques are documented by technical papers both on the analysis and optimization techniques as well as their effectiveness on benchmarks and applications.

Runtime Techniques

The Concert runtime a wide range of novel techniques to support efficient execution on both shared memory and distributed memory parallel machines. For example, the Concert runtime employs efficient communication primitives and multithreading to tolerate latency. To minimize the overheads of multithreading, threads are created only lazily, and stack-based execution is used whenever possible.

Back to CSAG home page


Last updated November 2,1995
Andrew A. Chien
webmaster