Multiversioning and Logging in the Grasshopper Kernel Persistent Store

  • Authors:
  • Affiliations:
  • Venue:
  • IWOOOS '95 Proceedings of the 4th International Workshop on Object-Orientation in Operating Systems
  • Year:
  • 1995

Quantified Score

Hi-index 0.00

Visualization

Abstract

Abstract: The Grasshopper operating system supports persistence of all system entities including computations. It also makes strong guarantees about the consistency of the system after a restart. A central part of the implementation of this is the store used for kernel meta-data. The store is designed to accommodate a number of different consistency strategies which may be broadly classed as either pessimistic or optimistic. Existing persistent stores use pessimistic approaches which ensure that the the on-disk image of the store is always consistent. An optimistic approach is one that does not guarantee a consistent on-disk image; any inconsistencies are eliminated at recovery time. The main benefit of this approach is the reduction of disk accesses during normal operation. Most existing persistent stores use shadow paging to move from one consistent state to the next. This is not possible when optimistic strategies are used. Therefore, the Grasshopper kernel store uses a new approach, based on multi-versioning and logging, that can support both pessimistic and optimistic consistency strategies.