Adaptable Pointer Swizzling Strategies in Object Bases:
Design, Realization, and Quantitative Analysis

Alfons Kemper
Donald Kossmann
June 1993, RWTH Aachen
In this paper, different approaches are classified and evaluated for optimizing the access to main-memory resident persistent objects-techniques which are commonly referred to as "pointer swizzling".

To speed up the access along inter-object references, the persistent pointers in the form of unique object identifiers (OIDs) are transformed (swizzled) into main-memory pointers (addresses). Pointer swizzling techniques can be directed into two classes:

  1. strategies that allow replacement of swizzled objects from the buffer before the end of an application program and
  2. those that outrule the displacement of swizzled objects.
Whereas the latter class of pointer swizzling methods has received much attention in recent literature, the first class - i.e., techniques that take "precautions" for the replacement of swizzled objects - has not yet been thoroughly investigated.

Four different pointer swizzling techniques allowing object replacement were investigated and contrasted with the performance of an object manager employing no pointer swizzling. The extensive qualitative and quantitative evaluation - only part of which could be presented in this paper - proved that there is no one superior pointer swizzling strategy for all application profiles. An adaptable object base run-time system was, therefore, devised that employs the full range of pointer swizzling strategies depending on the application profile characteristics which are determined by, e.g., monitoring in combination with sampling, user specifications, and/or program analysis.

You can download the whole postscript file.
Uwe Röhm, 09.05.1994; Last Change: 07.11.94