Home-based Shared Virtual Memory (Thesis)

Report ID: TR-583-98
Author: Iftode, Liviu
Date: 1998-06-00
Pages: 147
Download Formats: |Postscript|
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.