Carleton University
Technical Report TR-99-02
January 1999

TR-99-02: Parallel Virtual Memory

Frank Dehne, W. Dittrich, D. Hutchinson, A. Maheshwari

Abstract

Parallel algorithms for the Bulk Synchronous Parallel (BSP) and closely related Coarse Gained Multicomputer (CGM) programming model assume that all data can be distributed over the main memories of the processors involved. In practice, this may not be the case. For large scale applications where parallel processing is helpful, the total amount of data often exceeds the total main memory available and parallel disk I/O becomes a necessity. A common scenario for distributed memory parallel machines assumes that each processor has multiple local hard disks available, where each disk is only accessible by the respective local processor. Parallel disk I/O has been identified as a critical component of a suitable high performance computer for a number of the Grand Challenge problems (see for instance the Scalable I/O Initiative project [5]).For sequential computing, the virtual memory concept has long been established as a standard method for managing external memory. Its main advantage is that it allows the application programmer to access a large virtual memory without having to deal with the intricacies of blocked secondary memory accesses. We present a similar, transparent, parallel virtual memory programming environment for BSP-style parallel computing.

TR-99-02.pdf