An important issue in multiprocess systems is getting consistent views of shared memory. One solution is to use a snapshot object that is shared by all processes.
The authors of this paper introduce some new algorithms that significantly reduce both time and space complexity in updating and scanning the items in the snapshot object. The new algorithms are simple and quite easy to implement.
The first part of this paper is an introduction, in which the authors detail the use of snapshot objects and previous work, and provide a brief description of their new algorithms. The second part introduces a virtual machine that the authors use to design and analyze their algorithms. Parts 3 through 6 are detailed analyses of the new algorithms, and a comparison with previous work. The last section discusses the implementation of the new algorithms.
One main drawback of this paper is that it doesn’t have any real numbers to show the importance of improving updating and scanning performance. In other words, if even a very slow updating and scanning procedure consumes only a small fraction of a system’s resources, then improving such a procedure will not be very valuable.