SHORE Research Summary -- for ARPA

SHORE - A High-Performance, Scalable, Persistent Object System - TASK #2

ORGANIZATION:
University of Wisconsin-Madison
SUB-CONTRACTORS:
None
PRINCIPAL INVESTIGATORS:
David DeWitt, dewitt@cs.wisc.edu, 608-262-5776, 263-5489
Michael Carey, carey@cs.wisc.edu, 608-262-5776, 262-2252
Marvin Solomon, solomon@cs.wisc.edu, 608-262-1204, 262-1106
Jeff Naughton, naughton@cs.wisc.edu, 608-262-8737, 262-7506
TITLE OF EFFORT:
SHORE - A High-Performance, Scalable, Persistent Object System - TASK #2
See Also: SHORE Project Home Page (for the latest information)

OBJECTIVE:

The objective of the SHORE project is to design, implement, and evaluate a persistent object system that will serve the needs of a wide variety of target applications including hardware and software CAD systems, persistent programming languages, geographic information systems, satellite data repositories, and multi-media applications. Shore expands on the basic capabilities of the widely-used Exodus Storage Manager (developed at Wisconsin, funded by ARPA) in a number of ways including support for typed objects, multiple programming languages, a "Unix-like" hierarchical name space for named objects, and a Unix-compatible interface to objects with a "text" field. This interface is intended to ease the transition of applications from the Unix file system environment to Shore as existing Unix tools such as vi and cc will be able to store their data in Shore objects without modification (basically a Unix file becomes either a single Shore object or the text field of a more complex object).

SHORE is being targeted at a wide range of hardware environments, scaling all the way from individual workstations to heterogeneous client/server networks to large multiprocessors. A recent report describing the Shore project and further information on Shore are available on the UW-Madison CS Department WWW server.

PROGRESS:

The key components of Shore have been designed and are currently being implemented. Initial versions of compiler for the type definition language (SDL), the Shore storage manager, the language binding of SDL into C++, and the Unix file system compatibility support are now operational. The various components of Shore are now sufficiently complete to support an implementation of the OO7 object-oriented database system benchmark. After some tuning, the performance looks like it will be quite competitive.

We are currently working on extensions to the Shore server to permit its operation on parallel processors such as the Intel Paragon or a collection of workstations. The underlying communications package is completed and we are currently designing various server-to-server caching algorithms. Concurrently, we have designed and prototyped the application-program interface to Parallel Shore.

Our current goal is to produce a beta release of Shore in the February 1995 period.

RECENT ACCOMPLISHMENTS:

  1. Release version 0.1 of Shore to a number of alpha-test sites.

  2. Publication of research papers on a variety of fundamental issues in the design and implementation of persistent object stores. A list of Shore-related publications is available.

  3. At the request of TI, we extended the Exodus Storage Manager to support transactions that span multiple, distributed instances of the storage manager.

  4. We have defined a new benchmark for persistent object stores, the OO7 benchmark. We have implemented this benchmark on a number of commercial OODBMS systems (Objectivity, ObjectStore, Ontos, and Versant) as well as the Exodus storage manager. This benchmark has been and will continue to be instrumental in helping us to understand the performance of persistent object stores; furthermore, it appears to be gaining acceptance as the standard benchmark for persistent object storage systems.

FY-95 PLANS:

1) Complete implementation of Shore V0.2. (beta release)

2) Complete implementation of Shore V1.0. (general release)

3) More to come ...

FY-94 PLANS:

1) Complete implementation of Shore V0.1. (alpha release)

2) Complete implementation of a parallel file system for the Intel Paragon.

3) Continue to support current Exodus clients such as TI and Arcadia. Continue preparations for transition of such clients from Exodus to Shore.

TECHNOLOGY TRANSITION:

The Exodus Storage Manager is being used in a large number of projects and some commercial products. Key ARPA projects using Exodus for their basic object management needs include the Texas Instruments Open OODB project, the Arcadia consortium, and the University of Utah. At the request of TI, we extended Exodus to support distributed transactions spanning multiple object servers. Exodus is also being used in many projects at companies and universities. It is used in at least one product, a multi-media database system developed by Mediaway Inc. (a Bay-area startup).

Source code for the Exodus Storage Manager and a compiler for the E persistent programming language , is available via ftp on ftp.cs.wisc.edu. No licenses are required. If more information is needed contact

Mike Zwilling / zwilling@cs.wisc.edu.
All Shore software will be available through the same distribution mechanism.

A report (description and some performance numbers) and implementation sources (for E/Exodus and various commercial systems), of the OO7 benchmark are available via anonymous ftp from ftp.cs.wisc.edu. We have logged over 500 people pulling these files over the net. Our hope is that making this material available will further increase the transfer of information about persistent object storage systems from researchers to practitioners.

DOCUMENT HISTORY:

Prepared: April 15, 1994
Last updated: Dec. 1, 1994

Michael Carey / carey@cs.wisc.edu.
Michael Zwilling / zwilling@cs.wisc.edu.