Shared Virtual Memory with Automatic Update Support
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.