Communications of the ACM
Tools for the development of application-specific virtual memory management
OOPSLA '93 Proceedings of the eighth annual conference on Object-oriented programming systems, languages, and applications
Parallel access to files in the Vesta file system
Proceedings of the 1993 ACM/IEEE conference on Supercomputing
Compilation of out-of-core data parallel programs for distributed memory machines
ACM SIGARCH Computer Architecture News - Special issue on input/output in parallel computer systems
A model and compilation strategy for out-of-core data parallel programs
PPOPP '95 Proceedings of the fifth ACM SIGPLAN symposium on Principles and practice of parallel programming
Parallel processing of spaceborne imaging radar data
Supercomputing '95 Proceedings of the 1995 ACM/IEEE conference on Supercomputing
Server-directed collective I/O in Panda
Supercomputing '95 Proceedings of the 1995 ACM/IEEE conference on Supercomputing
Input/output characteristics of scalable parallel applications
Supercomputing '95 Proceedings of the 1995 ACM/IEEE conference on Supercomputing
Global arrays: a nonuniform memory access programming model for high-performance computers
The Journal of Supercomputing
SPIFFI-A Scalable Parallel File System for the Intel Paragon
IEEE Transactions on Parallel and Distributed Systems
Disk-directed I/O for MIMD multiprocessors
ACM Transactions on Computer Systems (TOCS)
Global arrays: a portable "shared-memory" programming model for distributed memory computers
Proceedings of the 1994 ACM/IEEE conference on Supercomputing
A data management approach for handling large compressed arrays in high performance computing
FRONTIERS '95 Proceedings of the Fifth Symposium on the Frontiers of Massively Parallel Computation (Frontiers'95)
Disk-directed I/O for an out-of-core computation
HPDC '95 Proceedings of the 4th IEEE International Symposium on High Performance Distributed Computing
ViC*: A Preprocessor for Virtual-Memory C*
ViC*: A Preprocessor for Virtual-Memory C*
An API for Choreographing Data Accesses
An API for Choreographing Data Accesses
SUMMA: Scalable Universal Matrix Multiplication Algorithm
SUMMA: Scalable Universal Matrix Multiplication Algorithm
Optimizing collective I/O performance on parallel computers: a multisystem study
ICS '97 Proceedings of the 11th international conference on Supercomputing
Exploiting local data in parallel array I/O on a practical network of workstations
Proceedings of the fifth workshop on I/O in parallel and distributed systems
Automatic parallel I/O performance optimization in Panda
Proceedings of the tenth annual ACM symposium on Parallel algorithms and architectures
IEEE Transactions on Software Engineering - Special issue on architecture-independent languages and software tools parallel processing
Advanced Library Support for Irregular and Out-of-Core Parallel Computing
HPCN Europe 2001 Proceedings of the 9th International Conference on High-Performance Computing and Networking
Parallel I/O Support for HPF on Computational Grids
ISHPC '02 Proceedings of the 4th International Symposium on High Performance Computing
Programming Environment Based on Distributed Shared Arrays for High-Performance Scientific Computing
SAINT-W '04 Proceedings of the 2004 Symposium on Applications and the Internet-Workshops (SAINT 2004 Workshops)
Discretionary Caching for I/O on Clusters
Cluster Computing
High-Level Buffering for Hiding Periodic Output Cost in Scientific Simulations
IEEE Transactions on Parallel and Distributed Systems
Advances, Applications and Performance of the Global Arrays Shared Memory Programming Toolkit
International Journal of High Performance Computing Applications
Layout transformation support for the disk resident arrays framework
The Journal of Supercomputing
Multicollective I/O: A technique for exploiting inter-file access patterns
ACM Transactions on Storage (TOS)
An extensible global address space framework with decoupled task and data abstractions
IPDPS'06 Proceedings of the 20th international conference on Parallel and distributed processing
IPDPS'06 Proceedings of the 20th international conference on Parallel and distributed processing
Data and computation abstractions for dynamic and irregular computations
HiPC'05 Proceedings of the 12th international conference on High Performance Computing
Efficient layout transformation for disk-based multidimensional arrays
HiPC'04 Proceedings of the 11th international conference on High Performance Computing
Chunked extendible dense arrays for scientific data storage
Parallel Computing
Hi-index | 0.00 |
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.