Abstract
The Global Arrays (GA) toolkit provides a shared-memory programming model in which data locality is explicitly managed by the programmer. It inter-operates with MPI and supports a variety of language bindings. The Disk Resident Arrays (DRA) model extends the GA programming model to secondary storage. GA and DRA together provide a convenient programming model that encourages locality-aware programming by the user, while presenting a high-level abstraction. High performance depends on the appropriate distribution of the data in the disk-resident arrays. In this paper, we discuss the addition of layout transformation support to DRA. The implementation of an efficient parallel layout transformation algorithm is done on top of existing GA/DRA functions; thus GA/DRA is itself used in implementing the enhanced DRA functionality. Experimental performance data is provided that demonstrates the effectiveness of the new layout transformation functionality.
Similar content being viewed by others
References
Anderson GL (1980) A stepwise approach to computing the multidimensional fast fourier transform of large arrays. IEEE Transactions on Acoustics and Speech Signal Processing 28(3):280–284
Bailey DH (1990) FFTs in external or hierarchical memory. Journal of Supercomputing 4(1):23–35
Baumgartner G, Bernholdt DE, Cociorva D, Harrison R, Hirata S, Lam C, Nooijen M, Pitzer R, Ramanujam J, Sadayappan P (2003) A high-level approach to synthesis of high-performance codes for quantum chemistry. In: Proceedings of Supercomputing 2002
Chen Y, Foster I, Nieplocha J, Winslett W (1997) Optimizing collective I/O performance on parallel computers: A multisystem study. In: 11th ACM Intl. Conf. on Supercomputing
Cociorva D, Baumgartner G, Lam C, Sadayappan P, Ramanujam J, Nooijen M, Bernholdt D, Harrison R (2002) Space-time trade-off optimization for a class of electronic structure calculations. In: Proc. of ACM SIGPLAN 2002 Conference on Programming Language Design and Implementation (PLDI)
Cociorva D, Gao X, Krishnan S, Baumgartner G, Lam C, Sadayappan P, Ramanujam J (2003) Global communication optimization for tensor contraction expressions under memory constraints. In: Proc. of 17th International Parallel & Distributed Processing Symposium (IPDPS)
Cociorva D, Wilkins J, Baumgartner G, Sadayappan P, Ramanujam J, Nooijen M, Bernholdt DE, Harrison R (2001) Towards automatic synthesis of high-performance codes for electronic structure calculations: Data locality optimization. In: Proc. of the Intl. Conf. on High Performance Computing
Eklundh JO (1972) A fast computer method for matrix transposing. IEEE Transactions on Computers 20(7):801–803
The Panda Project: Data Management for High-Performance Scientific Computation. http://drl.cs.uiuc.edu/panda/
Foster I, Nieplocha J (2001) Disk Resident Arrays: An array-oriented I/O library for out-of-core computations. In: Rajkumar Buyya, Hai Jin, and Toni Cortes (eds.) Disk arrays and parallel I/O: Theory and practice. IEEE Computer Society Press
Kaushik SD, Huang C-H, Johnson RW, Sadayappan P, Johnson JR (1993) Efficient transposition algorithms for large matrices. In: Proceedings of the 1993 ACM/IEEE conference on Supercomputing ACM Press, pp. 656–665.
Kazhiyur-Mannar R, Wenger R, Crawfis R, Dey TK (2003) Adaptive resolution isosurface construction in three and four dimensions. Technical Report OSU-CISRC-7/03–TR38, Dept. of Computer and Information Science, The Ohio State University
Krishnamoorthy S, Baumgartner G, Cociorva D, Lam C, Sadayappan P (2003) Efficient parallel out-of-core matrix transposition. In: Proceedings of the International Conference on Cluster Computing. IEEE Computer Society Press
Krishnamoorthy S, Baumgartner G, Cociorva D, Lam C, Sadayappan P (2003) On efficient out-of-core matrix transposition. Technical Report OSU-CISRC-9/03-T52, Dept. of Computer and Information Science, The Ohio State University
Krishnan S, Krishnamoorthy S, Baumgartner G, Cociorva D, Lam C, Sadayappan P, Ramanujam J, Bernholdt DE, Choppella V (2003) Data locality optimization for synthesis of efficient out-of-core algoritms. In: Proc. of the Intl. Conf. on High Performance Computing
Krishnan S, Krishnamoorthy S, Baumgartner G, Lam C, Ramanujam J, Choppella V, Sadayappan P (2004) Efficient synthesis of out-of-core algorithms using a nonlinear optimization solver. In: Proc. of 18th International Parallel & Distributed Processing Symposium (IPDPS)
Mirin AA, Cohen RH, Curtis BC, Dannevik WP, Dimits AM, Duchaineau MA, Eliason DE, Schikore DR, Anderson SE, Porter DH, Woodward PR, Shieh LJ, White SW (1999) Very high resolution simulation of compressible turbulence on the IBM-SP system. In: Proceedings of the 1999 ACM/IEEE Conference on Supercomputing (CDROM) 70. ACM Press
Nieplocha J, Foster I (1996) Disk Resident Arrays: An array-oriented I/O library for out-of-core computations. In: Proceedings of the Sixth Symposium on the Frontiers of Massively Parallel Computation. IEEE Computer Society Press, pp. 196–204.
Nieplocha J, Harrison RJ, Littlefield RJ (1994) Global Arrays: A portable programming model for distributed memory computers. In: Supercomputing, pp. 340–349.
Nieplocha J, Harrison RJ, Littlefield RJ (1996) Global Arrays: A nonuniform memory access programming model for high-performance computers. The Journal of Supercomputing 10(2):169–189
Kent E Seamons and Marianne Winslett (1996) Multidimensional array I/O in Panda 1.0. The Journal of Supercomputing 10(2):191–211
Jinwoo Suh, Prasanna VK (2002) An efficient algorithm for out-of-core matrix transposition. IEEE Transactions on Computers 51(4):420–438
Synthesis of High-Performance Algorithms for Electronic Structure Calculations. http://www.cse.ohio-state.edu/~saday/TCE/index.html
Author information
Authors and Affiliations
Corresponding author
Additional information
This work was supported in part through funding from the U.S. Department of Energy and the National Science Foundation (award 0121676).
Rights and permissions
About this article
Cite this article
Krishnamoorthy, S., Baumgartner, G., Lam, CC. et al. Layout transformation support for the disk resident arrays framework. J Supercomput 36, 153–170 (2006). https://doi.org/10.1007/s11227-006-7955-4
Issue Date:
DOI: https://doi.org/10.1007/s11227-006-7955-4