Home-based Shared Virtual Memory (Thesis)
Abstract:
In this dissertation, I investigate how to improve the performance
of shared virtual memory (SVM) by examining consistency models,
protocols, hardware support and applications. The main conclusion
of this research is that the performance of shared virtual memory
can be significantly improved when performance-enhancing techniques
from all these areas are combined.This dissertation proposes home-based lazy release consistency as
a simple, effective, and scalable way to build shared virtual memory
systems. In home-based protocols each shared page has a home to which
all writes are propagated and from which all copies are derived.
Two home-based protocols are described, implemented and evaluated
on two hardware and software platforms: Automatic Update Release
Consistency (AURC), which requires hardware support for fine-grained
remote writes (automatic updates), and Home-based Lazy Release
Consistency (HLRC), which is implemented exclusively in software.The dissertation investigates the impact of memory-mapped network technology,
in particular that of automatic update support, on home-based protocol
design and performance. The performance evaluation of HLRC and AURC
prototypes implemented on SHRIMP, the PC-based multicomputer built at
Princeton, indicates that memory-mapped communication can significantly
improve the efficiency of home-based protocols, and that the automatic update
support is an effective SVM accelerator.The dissertation proposes a new memory consistency model called Scope
Consistency (ScC). ScC offers most of the potential performance advantages
of entry consistency without requiring explicit association between data
and synchronization. A simulation-based comparative evaluation of ScC
and AURC protocols shows that ScC reduces false sharing for irregular
applications with lock-based synchronization.Finally, this dissertation proposes a classification of parallel applications
which can serve as a framework for understanding the performance of shared
virtual memory protocols. This classification derives from an analysis of
the sharing patterns induced by the interaction between the sharing patterns
inherent in the algorithm, and the coherence granularity imposed by the
protocol implementation. The dissertation also includes an extensive
simulation-based performance evaluation of the traditional LRC and AURC
protocols on the Splash-2 application suite which uses the proposed
classification framework for performance understanding.