Achieving high performance for out-of-core applications typically involves explicit management of the movement of data between the disk and the physical memory. We are developing a programming environment in which the different levels of the memory hierarchy are handled efficiently in a unified transparent framework. In this paper, we present our experiences with implementing efficient non-collective I/O (GPC-IO) as part of this framework. As a generalization of the Remote Procedure Call (RPC) that was used as a foundation for the Sun NFS system, we developed a global procedure call (GPC) to invoke procedures on a remote node to handle non-collective I/O. We consider alternative approaches that can be employed in implementing this functionality. The approaches are evaluated using a representative computation from quantum chemistry. The results demonstrate that GPC-IO achieves better absolute execution times, strong-scaling, and weakscaling than the alternatives considered.
Revised: September 30, 2010 |
Published: September 13, 2007
Citation
Krishnamoorthy S., J. Piernas Canovas, V. Tipparaju, J. Nieplocha, and P. Sadayappan. 2007.Non-collective Parallel I/O for Global Address Space Programming Models. In IEEE International Conference on Cluster Computing: IEEE CLUSTER'2007, 41-49. Los Alamitos, New Mexico:IEEE Computer Society.PNNL-SA-57215.doi:10.1109/CLUSTR.2007.4629215