Static grouping of small objects to enhance performance of a paged virtual memory
ACM Transactions on Computer Systems (TOCS)
Virtual memory on a narrow machine for an object-oriented language
OOPLSA '86 Conference proceedings on Object-oriented programming systems, languages and applications
Programming constructs for database system implementation in EXODUS
SIGMOD '87 Proceedings of the 1987 ACM SIGMOD international conference on Management of data
Types and persistence in database programming languages
ACM Computing Surveys (CSUR)
Garbage collection in an uncooperative environment
Software—Practice & Experience
Object management in a persistent smalltalk system
Software—Practice & Experience
ODE (Object Database and Environment): the language and the data model
SIGMOD '89 Proceedings of the 1989 ACM SIGMOD international conference on Management of data
Pitfalls of conservation garbage collection
Software—Practice & Experience
Persistence in the E Language: Issues and implementation
Software—Practice & Experience
Proceedings of the second international workshop on Database programming languages
Proceedings of the second international workshop on Database programming languages
Proceedings of the second international workshop on Database programming languages
Napier88—a database programming language?
Proceedings of the second international workshop on Database programming languages
Virtual memory primitives for user programs
ASPLOS IV Proceedings of the fourth international conference on Architectural support for programming languages and operating systems
The ObjectStore database system
Communications of the ACM
Working with Persistent Objects: To Swizzle or Not to Swizzle
IEEE Transactions on Software Engineering
Lightweight shared objects in a 64-bit operating system
OOPSLA '92 conference proceedings on Object-oriented programming systems, languages, and applications
Compiler support for garbage collection in a statically typed language
PLDI '92 Proceedings of the ACM SIGPLAN 1992 conference on Programming language design and implementation
Space efficient conservative garbage collection
PLDI '93 Proceedings of the ACM SIGPLAN 1993 conference on Programming language design and implementation
Object fault handling for persistent programming languages: a performance evaluation
OOPSLA '93 Proceedings of the eighth annual conference on Object-oriented programming systems, languages, and applications
Protection traps and alternatives for memory management of an object-oriented language
SOSP '93 Proceedings of the fourteenth ACM symposium on Operating systems principles
SIGMOD '93 Proceedings of the 1993 ACM SIGMOD international conference on Management of data
The design of the E programming language
ACM Transactions on Programming Languages and Systems (TOPLAS)
Fine-grained sharing in a page server OODBMS
SIGMOD '94 Proceedings of the 1994 ACM SIGMOD international conference on Management of data
Shoring up persistent applications
SIGMOD '94 Proceedings of the 1994 ACM SIGMOD international conference on Management of data
QuickStore: a high performance mapped object store
SIGMOD '94 Proceedings of the 1994 ACM SIGMOD international conference on Management of data
Sharing and protection in a single-address-space operating system
ACM Transactions on Computer Systems (TOCS) - Special issue on computer architecture
Composing first-class transactions
ACM Transactions on Programming Languages and Systems (TOPLAS)
Grasshopper: an orthogonally persistent operating system
Computing Systems
GRAS, a graph oriented (software) engineering database system
Information Systems
Lightweight support for fine-grained persistence of stock hardware
Lightweight support for fine-grained persistence of stock hardware
Operating system support for persistent and recoverable computations
Communications of the ACM
Garbage collection: algorithms for automatic dynamic memory management
Garbage collection: algorithms for automatic dynamic memory management
An orthogonally persistent Java
ACM SIGMOD Record
The object database standard: ODMG 2.0
The object database standard: ODMG 2.0
The ODMG object model: does it make sense?
Proceedings of the 12th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
The Mungi single-address-space operating system
Software—Practice & Experience - Special issue on multiprocessor operating systems
A memory-efficient real-time non-copying garbage collector
Proceedings of the 1st international symposium on Memory management
Portable run-time type description for conventional compilers
Proceedings of the 1st international symposium on Memory management
Mostly-copying reachability-based orthogonal persistence
Proceedings of the 14th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
A clustering algorithm for hierarchical structures
ACM Transactions on Database Systems (TODS)
A nonrecursive list compacting algorithm
Communications of the ACM
A LISP garbage-collector for virtual-memory computer systems
Communications of the ACM
Orthogonally persistent object systems
The VLDB Journal — The International Journal on Very Large Data Bases - Persistent object systems
Uniprocessor Garbage Collection Techniques
IWMM '92 Proceedings of the International Workshop on Memory Management
PM3: An Orthogonal Persistent Systems Programming Language - Design, Implementation, Performance
VLDB '99 Proceedings of the 25th International Conference on Very Large Data Bases
Update Logging for Persistent Programming Languages: A Comparative Performance Evaluation
VLDB '93 Proceedings of the 19th International Conference on Very Large Data Bases
VLDB '94 Proceedings of the 20th International Conference on Very Large Data Bases
Proceedings of the Third International Workshop on Persistent Object Systems
Expressing Object Residency Optimizations Using Pointer Type Annotations
Proceedings of the Sixth International Workshop on Persistent Object Systems
Optimizing the Read and Write Barriers for Orthogonal Persistence
Proceedings of the 8th International Workshop on Persistent Object Systems (POS8) and Proceedings of the 3rd International Workshop on Persistence and Java (PJW3): Advances in Persistent Object Systems
Orthogonal Persistence for Java? - A Mid-term Report
Proceedings of the 8th International Workshop on Persistent Object Systems (POS8) and Proceedings of the 3rd International Workshop on Persistence and Java (PJW3): Advances in Persistent Object Systems
Swizzle Barrier Optimizations for Orthogonal Persistence in Java
Proceedings of the 8th International Workshop on Persistent Object Systems (POS8) and Proceedings of the 3rd International Workshop on Persistence and Java (PJW3): Advances in Persistent Object Systems
Compiler Support for Persistent Programming
Compiler Support for Persistent Programming
PS-algol: an algol with a persistent heap
ACM SIGPLAN Notices
Mostly-copying reachability-based orthogonal persistence
Proceedings of the 14th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
PM3: An Orthogonal Persistent Systems Programming Language - Design, Implementation, Performance
VLDB '99 Proceedings of the 25th International Conference on Very Large Data Bases
An extensible mechanism for Long-Term Persistence of JavaBeans components
PPPJ '06 Proceedings of the 4th international symposium on Principles and practice of programming in Java
Semantics of persistence in the glib programming language
Companion to the 21st ACM SIGPLAN symposium on Object-oriented programming systems, languages, and applications
Automated object persistence for JavaScript
Proceedings of the 19th international conference on World wide web
Persistent Oberon: a programming language with integrated persistence
APLAS'07 Proceedings of the 5th Asian conference on Programming languages and systems
Imagen: runtime migration of browser sessions for javascript web applications
Proceedings of the 22nd international conference on World Wide Web
Hi-index | 0.00 |
We describe how reachability-based orthogonal persistence can be supported even in uncooperative implementations of languages such as C++ and Modula-3, and without modification to the compiler. Our scheme extends Bartlett's mostly-copying garbage collector to manage both transient objects and resident persistent objects, and to compute the reachability closure necessary for stabilization of the persistent heap. It has been implemented in our prototype of reachability-based persistence for Modula-3, yielding performance competitive with that of comparable, but non-orthogonal, persistent variants of C++. Experimental results, using the 007 object database benchmarks, reveal that the mostly-copying approach offers a straightforward path to efficient orthogonal persistence in these uncooperative environments. The results also characterize the performance of persistence implementations based on virtual memory protection primitives.