From: Ian King (iking_at_killthewabbit.org)
Date: Wed Feb 18 2004 - 17:39:56 PST
The authors discuss a method of applying transactional processing to the
interaction between a processor and its virtual memory system. They place some
well-described constraints on the problem, then analyze the performance of the
resulting system; they compare and contrast their results with an earlier system
called Camelot, which included transacted virtual memory as one feature.
This paper explores other ramifications of the one-level store by placing
transactioning between the dynamic memory and the backing store. It is clear
both from the authors' express statements as well as the discussion of the
system that this is most appropriate for a subset of virtual memory usage, and
they analyze it in the context of persistent metadata for other, more volatile
objects. The primary advantage is crash recovery, and this mechanism is clearly
intended for applications where reliability is of primary importance.
The principle "less is more" shines through this paper; by focusing on a small
layer of an overall system, the authors created a mechanism that surprised them
with its efficiency, even in comparison with a system (Camelot) that was far
more integrated with the underlying operating system. What would have been
interesting is a comparison between RVM and an equivalent system with
non-transacted virtual memory; while it is obvious there would have been a
performance penalty, how much? Another goal is transparency, and it was not
clear to me from this paper just how well that was served; the authors claimed
that Camelot required much more programmer knowledge, but there was little
evidence to allow the reader to draw a conclusion.
This archive was generated by hypermail 2.1.6 : Wed Feb 18 2004 - 17:50:35 PST