|
|
|
|
|
|
PM3: An Orthogonal Persistent Systems Programming Language - Design, Implementation, Performance
|
Antony L. Hosking and
Jiawan Chen
View Paper (PDF)
Return to High-performance Application Support
PM3 is an orthogonally persistent extension of the Modula-3 systems programming language, supporting persistence by reachability from named persistent roots. We describe the design and implementation of the PM3 prototype, and show that its performance is competitive with its non-orthogonal counterparts by direct comparison with the SHORE/C++ language binding to the SHORE object store. Experimental results, using the traversal portions of the OO7 benchmark, reveal that the overheads of orthogonal persistence are not inherently more expensive than for non-orthogonal persistence, and justify our claim that orthogonal persistence deserves a level of acceptance similar to that now emerging for automatic memory management (i.e., "garbage collection"), even in performance-conscious settings. The consequence will be safer and more flexible persistent systems that do not compromise performance.
Note: References link to DBLP on the Web.
-
[Agrawal and Gehani 1989]
-
Rakesh Agrawal
,
Narain H. Gehani
: ODE (Object Database and Environment): The Language and the Data Model.
SIGMOD Conference 1989
: 36-45
-
[Agrawal and Gehani 1990]
-
Rakesh Agrawal
,
Narain H. Gehani
: Rationale for the Design of Persistence and Query Processing Facilities in the Database Programming Language O++.
DBPL 1989
: 25-40
-
[Algagic 1997]
-
Suad Alagic
: The ODMG Object Model: Does it Make Sense?
OOPSLA 1997
: 253-270
-
[Appel and Li 1991]
-
Andrew W. Appel
,
Kai Li
: Virtual Memory Primitives for User Programs.
ASPLOS 1991
: 96-107
-
[Atkinson et al. 1982]
-
...
-
[Atkinson et al. 1983a]
-
Malcolm P. Atkinson
,
P. J. Bailey
,
K. J. Chisholm
,
W. Paul Cockshott
,
Ronald Morrison
: An Approach to Persistent Programming.
The Computer Journal 26(4)
: 360-365(1983)
-
[Atkinson and Buneman 1987]
-
Malcolm P. Atkinson
,
Peter Buneman
: Types and Persistence in Database Programming Languages.
Computing Surveys 19(2)
: 105-190(1987)
-
[Atkinson et al. 1983b]
-
Malcolm P. Atkinson
,
Ken Chisholm
,
W. Paul Cockshott
,
Richard Marshall
: Algorithms for a Persistent Heap.
SP&E 13(3)
: 259-271(1983)
-
[Atkinson et al. 1996]
-
Malcolm P. Atkinson
,
Laurent Daynès
,
Mick J. Jordan
,
Tony Printezis
,
Susan Spence
: An Orthogonally Persistent Java.
SIGMOD Record 25(4)
: 68-75(1996)
-
[Atkinson et al. 1997]
-
Malcolm P. Atkinson
,
Mick J. Jordan
,
Laurent Daynèe
,
Susan Spence
: Design Issues for Persistent Java: A Type-Safe, Object-Oriented, Orthogonally Persistent System.
POS 1996
: 33-47
-
[Atkinson and Morrison 1995]
-
Malcolm P. Atkinson
,
Ronald Morrison
: Orthogonally Persistent Object Systems.
VLDB Journal 4(3)
: 319-401(1995)
-
[Bartlett 1988]
-
...
-
[Bartlett 1989]
-
...
-
[Baumann 1997]
-
...
-
[Brahnmath et al. 1998]
-
Kumar Brahnmath
,
Nathaniel Nystrom
,
Antony L. Hosking
,
Quintin I. Cutts
: Swizzle Barrier Optimizations for Orthogonal Persistence in Java.
POS/PJW 1998
: 268-278
-
[Brahnmath 1988]
-
...
-
[Cardelli et al. 1991]
-
...
-
[Carey et al. 1994]
-
Michael J. Carey
,
David J. DeWitt
,
Michael J. Franklin
,
Nancy E. Hall
,
Mark L. McAuliffe
,
Jeffrey F. Naughton
,
Daniel T. Schuh
,
Marvin H. Solomon
,
C. K. Tan
,
Odysseas G. Tsatalos
,
Seth J. White
,
Michael J. Zwilling
: Shoring Up Persistent Applications.
SIGMOD Conference 1994
: 383-394
-
[Carey et al. 1993a]
-
Michael J. Carey
,
David J. DeWitt
,
Jeffrey F. Naughton
: The 007 Benchmark.
SIGMOD Conference 1993
: 12-21
-
[Carey et al. 1994b]
-
Michael J. Carey
,
Michael J. Franklin
,
Markos Zaharioudakis
: Fine-Grained Sharing in a Page Server OODBMS.
SIGMOD Conference 1994
: 359-370
-
[Cattell et al. 1997]
-
R. G. G. Cattell
(Ed.): The Object Database Standard: ODMG 2.0.
Morgan Kaufmann
1997
-
[Chase et al. 1994]
-
Jeffrey S. Chase
,
Henry M. Levy
,
Michael J. Feeley
,
Edward D. Lazowska
: Sharing and Protection in a Single-Address-Space Operating System.
TOCS 12(4)
: 271-307(1994)
-
[Chase et al. 1992]
-
Jeffrey S. Chase
,
Henry M. Levy
,
Edward D. Lazowska
,
Miche Baker-Harvey
: Lightweight Shared Objects in a 64-Bit Operating System.
OOPSLA 1992
: 397-413
-
[Cheney 1970]
-
C. J. Cheney
: A Nonrecursive List Compacting Algorithm .
CACM 13(11)
: 677-678(1970)
-
[Connor and Nettles 1997]
-
Richard C. H. Connor
,
Scott Nettles
(Eds.): Proceedings of the 7th Workshop on Persistent Object Systems, Cape May, New Jersey, USA, 1996. Morgan-Kaufmann 1997, ISBN 1-55860-447-2
Contents
-
[Cutts and Hosking 1997]
-
...
-
[Dearle et al. 1990a]
-
Alan Dearle
,
Richard C. H. Connor
,
Fred Brown
,
Ronald Morrison
: Napier88 - A Database Programming Language?
DBPL 1989
: 179-195
-
[Dearle et al. 1994]
-
Alan Dearle
,
Rex di Bona
,
James Farrow
,
Frans Henskens
,
Anders Lindström
,
John Rosenberg
,
Francis Vaughan
: Grasshopper: An Orthogonally Persistent Operating System.
Computing Systems 7(3)
: 289-312(1994)
-
[Dearle et al. 1990b]
-
Alan Dearle
,
Gail M. Shaw
,
Stanley B. Zdonik
(Eds.): Implementing Persistent Object Bases, Principles and Practice, Proceedings of the Fourth International Workshop on Persistent Objects, 23-27 September 1990, Martha's Vineyard, MA, USA. Morgan-Kaufmann 1990, ISBN 1-55860-168-6
Contents
-
[Elphinstone et al. 1997]
-
Kevin Elphinstone
,
Stephen Russell
,
Gernot Heiser
,
Jochen Liedtke
: Supporting Persistent Object Systems in a Single Address Space.
POS 1996
: 111-119
-
[Haines et al. 1994]
-
Nicholas Haines
,
Darrell Kindred
,
J. Gregory Morrisett
,
Scott Nettles
,
Jeannette M. Wing
: Composing First-Class Transactions.
TOPLAS 16(6)
: 1719-1736(1994)
-
[Heiser et al. 1998]
-
Gernot Heiser
,
Kevin Elphinstone
,
Jerry Vochteloo
,
Stephen Russell
,
Jochen Liedtke
: The Mungi Single-Address-Space Operating System.
SP&E 28(9)
: 901-928(1998)
-
[Hosking 1995]
-
...
-
[Hosking 1997]
-
Antony L. Hosking
: Residency Check Elimination for Object-Oriented Persistent Language.
POS 1996
: 174-183
-
[Hosking and Chen 1999]
-
...
-
[Hosking and Moss 1990]
-
Antony L. Hosking
,
J. Eliot B. Moss
: Towards Compile-Time Optimizations for Persistence.
POS 1990
: 17-27
-
[Hosking and Moss 1991]
-
...
-
[Hosking and Moss 1993]
-
Antony L. Hosking
,
J. Eliot B. Moss
: Protection Traps and Alternatives for Memory Management of an Object-Oriented Language.
SOSP 1993
: 106-119
-
[Hosking and Novianto 1997]
-
...
-
[Hosking et al. 1999]
-
Antony L. Hosking
,
Nathaniel Nystrom
,
Quintin I. Cutts
,
Kumar Brahnmath
: Optimizing the Read and Write Barriers for Orthogonal Persistence.
POS/PJW 1998
: 149-159
-
[Hull et al. 1990]
-
Richard Hull
,
Ronald Morrison
,
David W. Stemple
(Eds.): Proceedings of the Second International Workshop on Database Programming Languages, 4-8 June, 1989, Salishan Lodge, Gleneden Beach, Oregon.
Morgan Kaufmann
1990, ISBN 1-55860-072-8
Contents
-
[ISMM 1998]
-
...
-
[Jones 1996]
-
Richard Jones
,
Rafael D. Lins
: Garbage Collection: Algorithms for Automatic Dynamic Memory Management. John Wiley 1996, ISBN 0-471-94148-4
-
[Kaehler 1986]
-
Ted Kaehler
: Virtual Memory on a Narrow Machine for an Object-Oriented Language.
OOPSLA 1986
: 87-106
-
[Kaehler et al. 1983]
-
...
-
[Kakkad et al. 1998]
-
Sheetal V. Kakkad
,
Mark S. Johnstone
,
Paul R. Wilson
: Portable Run-Time Type Description for Conventional Compilers.
ISMM 1998
: 146-153
-
[Kiesel et al. 1995]
-
Norbert Kiesel
,
Andy Schürr
,
Bernhard Westfechtel
: GRAS, a Graph-Oriented (Software) Engineering Database System.
IS 20(1)
: 21-51(1995)
-
[Lamb et al. 1991]
-
Charles Lamb
,
Gordon Landis
,
Jack A. Orenstein
,
Danel Weinreb
: The ObjectStore Database System.
CACM 34(10)
: 50-63(1991)
-
[Matthes and Schmidt 1994]
-
Florian Matthes
,
Joachim W. Schmidt
: Persistent Threads.
VLDB 1994
: 403-414
-
[Morrison et al. 1990]
-
Ronald Morrison
,
Alfred L. Brown
,
R. Carrick
,
Richard C. H. Connor
,
Alan Dearle
,
Malcolm P. Atkinson
: The Napier Type System.
POS 1989
: 3-18
-
[Moss 1992]
-
J. Eliot B. Moss
: Working with Persisten Objects: To Swizzle or Not to Swizzle.
TSE 18(8)
: 657-673(1992)
-
[Moss and Hosking 1995]
-
J. Eliot B. Moss
,
Antony L. Hosking
: Expressing Object Residency Optimizations Using Pointer Type Annotations.
POS 1994
: 3-15
-
[Nystrom et al. 1998]
-
...
-
[Nystrom 1998]
-
...
-
[Richardson 1990]
-
Joel E. Richardson
: Compiled Item Faulting: A New Technique for Managing I/O in a Persistent Language.
POS 1990
: 3-16
-
[Richardson and Carey 1987]
-
Joel E. Richardson
,
Michael J. Carey
: Programming Constructs for Database System Implementation in EXODUS.
SIGMOD Conference 1987
: 208-219
-
[Richardson and Carey 1990]
-
Joel E. Richardson
,
Michael J. Carey
: Persistence in the E Language: Issues and Implementation.
SP&E 19(12)
: 1115-1150(1989)
-
[Rosenberg et al. 1996]
-
John Rosenberg
,
Alan Dearle
,
David Hulse
,
Anders Lindström
,
Stephen Norris
: Operating System Support for Persistant and Recoverable Computations: Guaranteeing data recovery and consistency, the authors' experimental Grasshopper persistent operating system simplifies application development and encourages construction of integrated systems.
CACM 39(9)
: 62-69(1996)
-
[Schkolnick 1977]
-
Mario Schkolnick
: A Clustering Algorithm for Hierarchical Structures.
TODS 2(1)
: 27-44(1977)
-
[Sigmod 1994]
-
Richard T. Snodgrass
,
Marianne Winslett
(Eds.): Proceedings of the 1994 ACM SIGMOD International Conference on Management of Data, Minneapolis, Minnesota, May 24-27, 1994. ACM Press 1994
Contents
-
[Singhal et al. 1992]
-
Vivek Singhal
,
Sheetal V. Kakkad
,
Paul R. Wilson
: Texas: An Efficient, Portable Persistent Store.
POS 1992
: 11-33
-
[Straw et al. 1989]
-
Andrew Straw
,
Fred Mellender
,
Steve Riegel
: Object Management in a Persistent Smalltalk System.
SP&E 19(8)
: 719-737(1989)
-
[White and DeWitt 1994]
-
Seth J. White
,
David J. DeWitt
: QuickStore: A High Performance Mapped Object Store.
SIGMOD Conference 1994
: 395-406
-
[Wilson and Kakkad 1992]
-
...
Referenced by
-
Richard T. Snodgrass
: Review - PM3: An Orthogonal Persistent Systems Programming Language - Design, Implementation, Performance.
ACM SIGMOD Digital Review 1
: (1999)
@inproceedings{DBLP:conf/vldb/HoskingC99,
author = {Antony L. Hosking and
Jiawan Chen},
editor = {Malcolm P. Atkinson and
Maria E. Orlowska and
Patrick Valduriez and
Stanley B. Zdonik and
Michael L. Brodie},
title = {PM3: An Orthogonal Persistent Systems Programming Language -
Design, Implementation, Performance},
booktitle = {VLDB'99, Proceedings of 25th International Conference on Very
Large Data Bases, September 7-10, 1999, Edinburgh, Scotland,
UK},
publisher = {Morgan Kaufmann},
year = {1999},
isbn = {1-55860-615-5},
pages = {587-598},
crossref = {DBLP:conf/vldb/99},
bibsource = {DBLP, http://dblp.uni-trier.de} } },
Copyright(C) 2000 ACM
|
|
|
|
|
|
|