Shared Virtual Memory with Automatic Update Support
Report ID: TR-575-98Author: Oppenheimer, David L. / Blumrich, Matthias A. / Iftode, Liviu / Li, Kai / Singh, Jaswinder Pal / Dubnicki, Cezary
Date: 1998-02-00
Pages: 13
Download Formats: |Postscript|
Abstract:
Shared virtual memory systems provide the abstraction of a shared address space on top of a message-passing communication architecture. The overall performance of an SVM system therefore depends on both the raw performance of the underlying communication mechanism and the efficiency with which the SVM protocol uses that mechanism. The Automatic Update Release Consistency (AURC) protocol was proposed to take advantage of simple memory-mapped communication and automatic update support to accelerate a shared virtual memory protocol. However, there has not yet been a real system on which an implementation of this protocol could be evaluated.
This paper reports our evaluation of AURC on the shrimp{} multicomputer, the only hardware platform that supports an automatic update mechanism. Automatic update propagates local memory writes to remote memory locations automatically. We compare the AURC protocol with its all-software counterpart protocol, Home-based Lazy Release Consistency (HLRC). We first show that virtual memory-mapped communication itself helps all home-based LRC protocols because these protocols can easily take advantage of the zero-copy communication allowed by the memory mapping mechanism. By integrating AU support into the protocol as well, the AURC protocol can further improve performance. For applications with write-write false sharing, an AU-based multiple-writer protocol can significantly outperform an all-software home-based multiple-writer LRC protocol that uses diffs. For applications without much write-write false sharing, the two protocols perform similarly. Our results also show that write-through caching and automatic update traffic does not perturb the computation, validating the implementation as achieving its goals.