Department of Computer Science and Technology

Technical reports

Restructuring virtual memory to support distributed computing environments

Feng Huang

July 1995, 145 pages

This technical report is based on a dissertation submitted July 1995 by the author for the degree of Doctor of Philosophy to the University of Cambridge, Clare Hall.

DOIhttps://doi.org/10.48456/tr-375

Abstract

This dissertation considers the limitations of conventional memory and storage management approaches and proposes a coherent memory-mapped object system architecture for emerging distributed computing environments.

Conventionally, main memory and secondary storage management is based on the two-level store architecture, which provides one interface to access memory segments and another to access secondary storage objects. The quality and productivity of software development is impaired by two different views of volatile data and persistent data. Operating system performance is compromised because of mandatory data copying and unnecessary user/kernel boundary crossings. This is exacerbated in microkernel architectures, in which most of the user/kernel boundary crossings become context switches. Double paging may cause resources to be used inefficiently and the double paging anomaly may occur if a database system is implemented on top of this architecture. The work presented here seeks to tackle these problems by integrating main memory with secondary storage by using memory-mapping techniques. The different views of volatile and persistent data are unified; mandatory information copying and unnecessary user/kernel boundary crossings (or context switches in microkernels) are avoided; and double paging is eliminated.

Distributed Shared Memory (DSM) has been proposed as an attractive abstraction for constructing distributed applications bacause it is easier to program than the message-passing abstraction. However, the overhead for maintaining memory coherency in DSM systems is high. Also, existing DSM systems typically provide only one coherence protocol and there exists a potential mismatch between the supplied protocol and some applications’ requirements. This work explores the architectural support for a flexible coherence mechanism, through which clients can choose the most suitable protocols for their applications to avoid coherency mismatch. Also low-level coherency control is integrated with high level concurrency control so that system-wide object coherency and synchronisation are realised without sacrificing performance.

In this dissertation, an architectural framework is proposed; various design issues are discussed and the design of a flexible coherence mechanism, which accommodates multiple coherence protocols, is detailed. A prototype implementation and performance measurements are then presented; and the use of the architecture is illustrated.

Full text

PDF (13.0 MB)

BibTeX record

@TechReport{UCAM-CL-TR-375,
  author =	 {Huang, Feng},
  title = 	 {{Restructuring virtual memory to support distributed
         	   computing environments}},
  year = 	 1995,
  month = 	 jul,
  url = 	 {https://www.cl.cam.ac.uk/techreports/UCAM-CL-TR-375.pdf},
  institution =  {University of Cambridge, Computer Laboratory},
  doi = 	 {10.48456/tr-375},
  number = 	 {UCAM-CL-TR-375}
}