next up previous
Next: Evaluation and Experimentation with Up: Implementation of COBS Previous: The Object Transport Layer

Above the OTL

Above the Object Transport Layer are several types of generic services that are useful in object-based applications. user level services:

DSM Services -
Distributed shared memories (DSM) allow processes to share memory objects even when they execute in environments such as workstation cluster where shared memory is not provided by the the hardware. We have implemented Indigo, a user-level library which can be used to implement several types of distributed memory systems. We have already implemented a DSM that exploits weak consistency and synchronization information to provide high performance memory objects.

Caching and Consistency Services -

We have implemented causal consistency and strong consistency object caching mechanisms using the mutual consistency mechanism[KA96]. We also implemented a DASH style consistency protocol that is used in the XFS file system in order to quantify the advantages of our strong consistency protocol over traditional protocols.

The prototype has also been ported to use the Object Transport Layer as the transport instead of Fresco's native reliable request-response protocol transport. The port exploited the subcontract mechanism that Fresco's Object Communication System (OCS) uses. This will allow the object caching system to take advantage of the features in OTL. For example, while the object caching system currently allows only class implementors to specify whether or not caching should be used (and the desired level of consistency), attributes can be easily employed to allow client applications to indicate application specific requirements to the caching system.

In a separate, but related, effort as described in [WSTA], we have implemented a system that attempts to exploit spatial and temporal locality in object references in order to reduce overall locking overheads. This system will be ported to OTL in the next few months.

Object Event Services -
Events have been receiving renewed attention in the OS community as a useful structuring mechanism for distributed and parallel systems. Event services also form the basis of the Event Reaction Architecture that IBM is developing as their structuring tool for collaboration environments. Given this interest we are developing a configurable user-level event services library. The DataExchange and PBIO libraries already provide us with significant infrastructure in this effort. Our next efforts will be to add object-specific delivery and routing mechanisms and to provide an efficient implementation of the CORBA Event Services specification for use by COBS programs.

Applications -
A variety of applications on top of OTL and its associated services are planned or in the works. Some of these applications are useful because they drive the development of specific features and configurability in lower layers. Others are of interest because of the novel elements that object-level configurability enables at the application level. In the former category, we have complex applications in the area of atmospheric modeling and molecular dynamics which can take advantage of configurability in their network interactions to improve performance. Encapsulating the network interfaces of those applications in object-based interfaces also allows us to introduce complex optimizations without complicating the structure of the application. A joint Georgia Tech/Honeywell project also shows promise of improving programability and functionality through application-level configurability. This project seeks to facilitate efficient use of processing and communication resources through dynamic relocation of an applications functional components.


next up previous
Next: Evaluation and Experimentation with Up: Implementation of COBS Previous: The Object Transport Layer


Greg Eisenhauer
Tue Oct 15 10:41:35 EDT 1996