language: en

Irregular Applications under Software Shared Memory

Liviu Iftode, Jaswinder Pal Singh and Kai Li
Department of Computer Science Princeton University
Princeton, NJ 08544
liv,jps,li@cs.princeton.edu

Abstract Shared Virtual Memory (SVM) provides an inexpensive way to support the popular shared address space programming model on networks of workstations or personal computers. Despite recent advances in SVM systems, their performance for all but coarse-grained or regular applications is not well understood. Nor is there an understanding of whether and how fine-grained, irregular programs should be written differently for SVM, with its large granularities of communication and coherence, than for the more familiar hardware coherent at cache line granularity. In this paper we try to understand the performance and programming issues for emerging, irregular applications on SVM systems. We examine performance on both an aggressive all-software system as well as one with a little hardware support in the network interface. We also present approaches to improve the performance of irregular applications at both the programming and the system level. As a result of our experiences, we identify a set of guidelines and techniques that pertain specifically to programming SVM systems, beyond the guidelines commonly used for programming hardware-coherent systems as well. We also present a further relaxation of the memory consistency model, called scope consistency, which is particularly effective for such applications.

1 Introduction