Third USENIX Conference on Object-Oriented Technologies (COOTS), 1997
Implementing Optimized Distributed Data Sharing Using Scoped Behaviour and a Class Library
Dept. of Computer Science
University of Toronto
10 King's College Road
Toronto, Ontario, M5S 3G4
Sometimes, it is desirable
to alter or optimize
the behaviour of an object
according to the needs of a specific
portion of the source code (i.e., context),
such as a particular loop or phase.
One technique to support
this form of optimization flexibility
is a novel approach called scoped behaviour.
Scoped behaviour allows the programmer to
incrementally tune applications on a
per-object and per-context basis within standard C++.
We explore the use of scoped behaviour
in the implementation of the Aurora distributed shared data (DSD) system.
In Aurora, the programmer uses scoped behaviour as the interface to
various data sharing optimizations.
We detail how a class library implements the basic data sharing functionality
and how scoped behaviour coordinates the compile-time and run-time
interaction between classes to implement the optimizations.
We also explore how the library can be expanded with
new classes and new optimization behaviours.
The good performance of Aurora
suggests that using scoped behaviour and a class library
is a viable approach for supporting this form of