The Case for Segments

  • 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: This paper argues two points: firstly that persistent systems ought to have some kind of user-level intermediate structure, unlike systems where the persistent store is just a huge collection of small objects; and secondly it describes the Barbados system (which has such an intermediate structure) and argues that it is an effective implementation of persistence. The first point is almost a philosophical point. The argument is that many operations have high fixed overhead costs, but that these costs can be factored out by grouping small objects together and operating on them as a group. These "operations" include both implementation-level and user-level operations, for example transferral of data-structures to remote systems. Therefore, the "loss of orthogonality", or the fact that the programmer now has to deal with these storage entities is not a compromise that is being made, but rather a conceptual advance that is to be embraced. The Barbados system, which has been implemented, is based on the idea of a "segment". A segment is a grouping of logically related small objects that acts as a coherent (medium-sized) object. It can also be thought of as a "data-structure". These entities are simultaneously the units of disk I/O, sharing, locking, storage, memory protection, recompilation, persistence, transferral, deletion and so on.