An Approach to Implementing Persistent Computations

  • Authors:
  • Ewa Z. Bem;John Rosenberg

  • Affiliations:
  • -;-

  • Venue:
  • POS-9 Revised Papers from the 9th International Workshop on Persistent Object Systems
  • Year:
  • 2000

Quantified Score

Hi-index 0.00

Visualization

Abstract

An operating system is persistent if all objects it supports have a lifetime independent of the context in which they were created. This concept, known as orthogonal persistence, extends to data objects and computations (processes and threads). A persistent computation is required to survive system crashes and shutdowns. After the service is restored it is expected to continue with a very small loss of productive activity. Over its lifetime every computation interacts with some transient aspects of its environment, for example I/O devices, network connections etc. The main issue in providing support for persistent computations is how to control such interactions in order to prevent them from becoming a part of the preserved state of a computation. These interactions are mediated by the system kernel; therefore the provision of persistent computations relates directly to the persistence of the kernel itself. In this paper we examine the solutions offered by persistent operating systems constructed to date, and we propose a new approach, implemented in the Grasshopper operating system. We show that this approach is sufficiently flexible to handle all problems identified so far, and sufficiently general to suit any operating system.