Caching of CORBA Compliant Objects

Caching of CORBA Compliant Objects

CORBA compliant objects allow applications to be built in a heterogeneous environment. However, the performance of CORBA compliant object implementations has not been satisfactory. We have added object caching at client nodes to the Fresco toolkit which provides significantly better performance when there is reasonable access locality. This system has demonstrated the performance improvements that are possible with object replication and caching with flexible notions of consistency among copies.

Distributed objects which are used to build scalable services need to the replicated and cached at clients to avoid high latency and communication costs. Consistency needs to be maintained across the multiple copies that result from such replication and caching. We have developed scalable consistency algorithms where consistency overheads at a node only depend on the accesses actually made by the node. Furthermore, our algorithms provide multiple levels of consistency for a related group of objects. Such levels can be changed based on application needs and the availability of resources. These algorithms are described in a paper that will be published in the proceedings of the International Conference on Distributed Computing, May 1996. Currently we are exploring the implementation of these consistency algorithms by enhancing a CORBA compliant system by adding object caching to it. We are also investigating applications that will be based on this distributed object system which will be used in the evaluation of the consistency algorithms.

The initial prototype of the object caching system was layered on top of Fresco version 0.7. A more recent version of Fresco became publicly available recently. Most of our effort this quarter has been in the area of porting the object caching system on top of the latest release of Fresco. Simultaneously, efforts are on to port the object caching system on top of OTL. While Fresco provided an object veneer on top of synchronous remote procedure calls (RPC), OTL provides a much richer transport layer. Consequently, the design of our system needs to be changed to take advantage of the advanced features of OTL such as asynchronous object invocations and user level threads. Thus, the effort to port our system on top of OTL is geared towards coming up with the above mentioned design.



Greg Eisenhauer
Mon Apr 15 10:42:03 EDT 1996