Accession Number : ADA306269

Title :   Safe and Efficient Persistent Heaps.

Descriptive Note : Doctoral thesis,

Corporate Author : CARNEGIE-MELLON UNIV PITTSBURGH PA DEPT OF COMPUTER SCIENCE

Personal Author(s) : Nettles, Scott M.

PDF Url : ADA306269

Report Date : DEC 1995

Pagination or Media Count : 206

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.

Descriptors :   *DATA BASES, *COMPUTER FILES, REQUIREMENTS, HIGH RATE, PERFORMANCE TESTS, PROGRAMMING LANGUAGES, THESES, SAFETY, DATA ACQUISITION, THROUGHPUT, RECORDS, COLLECTING METHODS, GARBAGE, OBJECT ORIENTED PROGRAMMING.

Subject Categories : Computer Systems

Distribution Statement : APPROVED FOR PUBLIC RELEASE