The software is being used in the Tapestry Parallel Computing Laboratory at the University of Illinois to study the performance of algorithms, mechanisms, and policies for parallel systems. This paper describes the architectural design and class hierarchy of the Choices memory and secondary storage management system. The mechanisms and policies of a virtual memory system implement a memory hierarchy that exploits the trade-offs between response times and storage capacities. In Choices , the notion of a memory hierarchy is represented by layers in which abstract classes define interfaces between and internal to the layers.
Concrete subclasses implement new algorithms or data structures or specializations of existing ones.
Special attention is paid to the advantages in both design and implementation that have resulted from using object-oriented techniques. The Digital Library is published by the Association for Computing Machinery.