Type Safe Sharing
UP to PMG Home Page
-
Safe and Efficient Sharing of Persistent Objects in Thor,
In the proceedings of SIGMOD '96. Montreal Canada, June 1996.
Authors: B. Liskov, A. Adya, M. Castro, M. Day, S. Ghemawat,
R. Gruber, U. Maheshwari, A. Myers, L. Shrira
Thor is an object-oriented database system designed for use in a
heterogeneous distributed environment. It provides highly-reliable and
highly-available persistent storage for objects, and supports safe sharing
of these objects by applications written in different programming
languages.
Safe heterogeneous sharing of long-lived objects requires encapsulation:
the system must guarantee that applications interact with objects only by
invoking methods. Although safety concerns are important, most
object-oriented databases forgo safety to avoid paying the associated
performance costs.
This paper gives an overview of Thor's design and implementation. We focus
on two areas that set Thor apart from other object-oriented databases.
First, we discuss safe sharing and techniques for ensuring it; we also
discuss ways of improving application performance without sacrificing
safety. Second, we describe our approach to cache management at client
machines, including a novel adaptive prefetching strategy.
The paper presents performance results for Thor, on several OO7 benchmark
traversals. The results show that adaptive prefetching is very effective,
improving both the elapsed time of traversals and the amount of space used
in the client cache. The results also show that the cost of safe sharing
can be negligible; thus it is possible to have both safety and high
performance.
-
Type-Safe Heterogeneous Sharing can be Fast
In Seventh International Workshop on Persistent Object Systems, May 1996.
Authors: Barbara Liskov, Atul Adya, Miguel Castro, Quinton Zondervan
Safe sharing is a desirable feature of an object oriented database
because it protects valuable database objects from program errors in
application code. It is especially desirable in a heterogeneous
environment in which applications are written in various programming
languages, many of which have unsafe features.
However, safe sharing is not without its potential performance costs.
This paper explores these costs. It describes a number of techniques
that improve performance without sacrificing safety, and presents
results of experiments that evaluate their effectiveness. The results
show that some of these techniques are very promising, allowing safe
sharing to be achieved with essentially no performance penalty.
-
Reducing Cross-Domain Call Overhead using Batched Futures,
In the proceedings of OOPSLA '94.
Authors: P. Bogle and B. Liskov.
-
The Language-Independent Interface of the Thor Persistent Object System
To appear in Object-Oriented Multidatabase Systems
(O. Bukhres and A. Elmagarmid, eds.) Prentice-Hall, 1994.
B. Liskov, M. Day, S. Ghemawat, R. Gruber, U. Maheshwari, A. Myers, L. Shrira.
webmaster@pmg.lcs.mit.edu