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:
- Release version 0.1 of Shore to a number of alpha-test sites.
- 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.
- At the request of TI, we extended the Exodus Storage Manager to
support transactions that span multiple, distributed instances of the
storage manager.
- 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.