Mar. 27, 1996 to Mar. 31, 1996
In out-of-core computations, disk storage is treated as an-other level in the memory hierarchy, below cache, local memory, and (in a parallel computer) remote memories. However the tools used to manage this storage are typically quite different from those used to manage access to local and remote memory. This disparity complicates implementation of out-of-core algorithms and hinders portability. We de-scribe a programming model that addresses this problem. This model allows parallel programs to use essentially the same mechanisms to manage the movement of data between any two adjacent levels in a hierarchical memory system. We take as our starting point the Global Arrays shared-memory model and library, which support a variety of operations on distributed arrays, including transfer between local and re-mote memories. We show how this model can be extended to support explicit transfer between global memory and secondary storage, and we define a Disk Resident Arrays library that supports such transfers. We illustrate the utility of the resulting model with two applications, an out-of-core matrix multiplication and a large computational chemistry program. We also describe implementation techniques on several parallel computers and present experimental results that demonstrate that the Disk Resident Arrays model can be implemented very efficiently on parallel computers.
J. Nieplocha, I. Foster, "Disk Resident Arrays: An Array-Oriented I/O Library for Out-Of-Core Computations", FRONTIERS, 1996, Frontiers of Massively Parallel Processing, Symposium on the, Frontiers of Massively Parallel Processing, Symposium on the 1996, pp. 196, doi:10.1109/FMPC.1996.558083