Safe and Efficient Persistent Heaps.
Abstract
Persistent data continue to exist after the programs that create or manipulate them terminate. Files and database records are familiar examples, but they only allow specific datatypes to be made persistent. Object-oriented databases and persistent programming languages are examples of systems that require arbitrary persistent datatypes. Persistent heaps allow arbitrary persistent datatypes to be dynamically allocated and stored and are essential components of such systems. Data stored in persistent heaps are valuable, and must be protected from both machine failures and programmer errors. This safety requirement may conflict with the need to provide high throughput and low latency access to the data. This conflict may lead to sacrificing safety for performance. My thesis is that it is possible to build persistent heaps so that safety does not need to be sacrificed for performance. This dissertation demonstrates the thesis in two parts: Part I presents the design of Sidney, a safe persistent heap, along with the details of its implementation, and Part II presents a performance evaluation that demonstrates that Sidney satisfies the claim of the thesis. Sidney' s design uses transactions and garbage collection to provide safe heap management of persistent data. Good performance is achieved by combining traditional systems techniques for transactions with a novel concurrent garbage collection technique, replicating collection. Sidney's implementation is the first to provide concurrent collection of a transactional heap. Replicating collection allows a much simpler implementation than previous (unimplemented) designs based on other concurrent collection techniques. The performance evaluation characterizes Sidney's performance and compares it to other approaches, including a persistent malloc-and-free implementation.
Document Details
- Document Type
- Technical Report
- Publication Date
- Dec 01, 1995
- Accession Number
- ADA306269
Entities
People
- Scott M. Nettles
Organizations
- Carnegie Mellon University