Computer Science Department
School of Computer Science, Carnegie Mellon University


Virtual Memory Management for Recoverable Objects in the TABS Prototype


Jeffrey L. Eppinger, Alfred Z. Spector

December 1985

To support failure atomicity and permanence, transaction systems store objects in recoverable storage . Recoverable storage is commonly implemented using a combination of non-volatile storage for the current state of objects and and stable storage for a log that permits operations to be undone or redone. While data is being processed, data pages are buffered in volatile, primary memory. Traditionally, transaction processing systems have implemented recoverable storage, but many advantages accrue if the operating system undertakes this responsibility. Data can be mapped into virtual memory and thereby accessed more conveniently. The operating system's fast address translation and paging components provide increased performance. The amount of primary memory allocated to buffering data is adapted to system load. Multiple, separate data managers can share the use of the operating system's buffer management and use a common log. This paper discusses these issues and describes the implementation of recoverable storage in the TABS prototype, focusing on the buffer management issues. It concludes with a statement of requirements for an improved, production quality implementation.

15 pages

Return to: SCS Technical Report Collection
School of Computer Science homepage

This page maintained by