Productivity and performance through components: the ASCI Sweep3D application
Corresponding Author
Young Yoon
Department of Computer Sciences, Taylor Hall 2.124, 1 University Station C0500, Austin, TX 78712-0233, U.S.A.
Department of Computer Sciences, Taylor Hall 2.124, 1 University Station C0500, Austin, TX 78712-0233, U.S.A.Search for more papers by this authorJames C. Browne
Department of Computer Sciences, Taylor Hall 2.124, 1 University Station C0500, Austin, TX 78712-0233, U.S.A.
Search for more papers by this authorMathew Crocker
Department of Computer Sciences, Taylor Hall 2.124, 1 University Station C0500, Austin, TX 78712-0233, U.S.A.
Search for more papers by this authorSamit Jain
Department of Computer Sciences, Taylor Hall 2.124, 1 University Station C0500, Austin, TX 78712-0233, U.S.A.
Search for more papers by this authorNasim Mahmood
Department of Computer Sciences, Taylor Hall 2.124, 1 University Station C0500, Austin, TX 78712-0233, U.S.A.
Search for more papers by this authorCorresponding Author
Young Yoon
Department of Computer Sciences, Taylor Hall 2.124, 1 University Station C0500, Austin, TX 78712-0233, U.S.A.
Department of Computer Sciences, Taylor Hall 2.124, 1 University Station C0500, Austin, TX 78712-0233, U.S.A.Search for more papers by this authorJames C. Browne
Department of Computer Sciences, Taylor Hall 2.124, 1 University Station C0500, Austin, TX 78712-0233, U.S.A.
Search for more papers by this authorMathew Crocker
Department of Computer Sciences, Taylor Hall 2.124, 1 University Station C0500, Austin, TX 78712-0233, U.S.A.
Search for more papers by this authorSamit Jain
Department of Computer Sciences, Taylor Hall 2.124, 1 University Station C0500, Austin, TX 78712-0233, U.S.A.
Search for more papers by this authorNasim Mahmood
Department of Computer Sciences, Taylor Hall 2.124, 1 University Station C0500, Austin, TX 78712-0233, U.S.A.
Search for more papers by this authorAbstract
This paper is a case study of the effectiveness of component-oriented development for enhancing both productivity and performance for parallel programs. A process for converting monolithic applications into semantically composable components is described. The supporting software, the P-COM2 compositional compiler, is briefly described. The componentized version of Sweep3D is described. Productivity is illustrated by composing different instances of the Sweep3D code through automated composition of components using P-COM2. These instances, each of which targets improving performance for some execution environment or problem case, are examples of a family of instances which are composable from a modest set of components. It is found that customization of componentized codes by component-level adaptation may yield substantial performance improvement for specific execution environments. We identify and explain some of the benefits of component-oriented development for high-performance parallel systems. Copyright © 2006 John Wiley & Sons, Ltd.
REFERENCES
- 1Szyperski C, Gruntz D, Murer S. Component Software—Byand Object-Oriented Programming ( 2nd edn). Addison-Wesley: Boston, MA, 2002.
- 2Heineman GT, Council WT. Component-Based Software Engineering: Putting the Pieces Together. Addison-Wesley: Reading, MA, 2001.
- 3The ASCII Sweep3D code, August 2005. http://www.llnl.gov/asci_benchmarks/asci/limited/Sweep3D/asci_Sweep3D.html [October 2006].
- 4Mahmood N, Deng G, Browne J. Compositional development of parallel programs. Proceedings of the 16th International Workshop on Languages and Compilers for Parallel Computing (LCPC 2003), College Station, TX, October 2003 ( Lecture Notes in Computer Sciences, vol. 2958). Springer: Berlin, 2003; 109–126.
- 5Prieto-Diaz R. Domain analysis: An introduction. Software Engineering Notes 1990; 15(2): 47–54.
10.1145/382296.382703 Google Scholar
- 6Newton P, Browne J. The CODE 2.0 graphical parallel programming language. Proceedings of the 6th ACM International Conference on Supercomputing, July 1992. ACM Press: New York, 1992.
- 7Lonestar User Guide, September 2004. http://www.tacc.utexas.edu/services/userguides/lonestar/ [October 2006].
- 8AMD Opteron processor, May 2006. http://www.amd.com [October 2006].
- 9Magee J, Dulay N, Kramer J. Structuring parallel and distributed programs. Software Engineering Journal 1993; 8(2): 73–82.
- 10Sunderam V, Kurzyniec D. Lightweight self-organizing frameworks for metacomputing. Proceedings of the 11th IEEE International Symposium on High Performance Distributed Computing HPDC-11 (HPDC'02), July 2002. IEEE Computer Society Press: Los Alamitos, CA, 2002; 113–124.
- 11Taylor I, Shields M, Wang I, Philip R. Distributed P2P computing within Triana: A galaxy visualization test case. Proceedings of the International Parallel and Distributed Processing Symposium (IPDPS 2003), April 2003. IEEE Computer Society Press: Los Alamitos, CA, 2003.
- 12Kelly W, Roe P, Sumitomo J. An enhanced programming model for Internet based cycle stealing. Proceedings of the 2003 International Conference on Parallel and Distributed Processing Techniques and Applications, June 2003. CSREA Press: Athens, GA, 2003; 1649–1655.
- 13Oldfield R, Kotz D. Armada: a parallel I/O framework for computational Grids. Future Generation Computer Systems 2002; 18(4): 501–523.
- 14Armstrong R, Gannon D, Geist A, Keahey K, Kohn S, McInnes L, Parker S, Smolinski B. Toward a common component architecture for high-performance scientific computing. Proceedings of the 8th IEEE International Symposium on High Performance Distributed Computation, August 1999. IEEE Computer Society Press: Los Alamitos, CA, 1999; 115–124.
- 15Govindaraju M, Krishnan S, Chiu K, Slominski A, Gannon D, Bramley R. Merging the CCA component model with the OGSI framework. Proceedings of the 3rd International Symposium on Cluster Computing and the Grid (CCGrid2003), May 2003. IEEE Computer Society Press: Los Alamitos, CA, 2003; 182–189.
- 16Kohn S, Kumfert G, Painter J, Ribbens C. Divorcing language dependencies from a scientific software library. Proceedings of the 10th SIAM Conference on Parallel Processing, Portsmouth, VA, 12–14 March 2001. SIAM: Philadelphia, PA, 2001.
- 17Allan B, Armstrong R, Wolfe A, Ray J, Bernholdt DE, Kohl J. The CCA core specification in a distributed memory SPMD framework. Concurrency and Computation: Practice and Experience 2002; 14(5): 323–345.
- 18Zhang K, Damevski K, Venkatachalapathy V, Parker S. SCIRun2: A CCA framework for high performance computing. Proceedings of the 9th International Workshop on High-Level Parallel Programming Models and Supportive Environments (HIPS'04). IEEE Computer Society Press: Los Alamitos, CA, 2004; 72–79.
10.1109/HIPS.2004.1299192 Google Scholar
- 19Bertrand F, Bramley R. DCA: A distributed CCA framework based on MPI. Proceedings of the 9th International Workshop on High-Level Parallel Programming Models and Supportive Environments (HIPS'04). IEEE Computer Society Press: Los Alamitos, CA, 2004; 80–89.
- 20Aldrich J, Chambers C, Notkin D. ArchJava: Connecting software architecture to implementation. Proceedings of the 22nd International Conference on Software Engineering, May 2002. ACM Press: New York, 2002; 187–197.
- 21Vanneschi M. The programming model of ASSIST, an environment for parallel and distributed portable applications. Parallel Computing 2002; 28(12): 1709–1732.
- 22Aldinucci M, Danelutto M, Paternesi A, Ravazzolo R, Vanneschi M. Building interoperable Grid-aware ASSIST applications via WebServices. Proceedings of the International Parallel Computing Conference (PARCO 2005), September 2005.
- 23Aldinucci M, Campa S, Coppola M, Magini S, Pesciullesi P, Potiti L, Ravazzolo R, Torquati M, Zoccolo C. Targeting heterogeneous architectures in ASSIST: Experimental results. Proceedings of the 10th International Conference on Parallel and Distributed Computing (Euro-Par 2004) ( Lecture Notes in Computer Science, vol. 3149), M Danelutto, M Vanneschi, D Laforenza (eds.). Springer: Berlin, 2004; 638–643.
- 24Aldinucci M, Petrocelli A, Pistoletti E, Torquati M, Vanneschi M, Veraldi L, Zoccolo C. Dynamic reconfiguration of Grid-aware applications in ASSIST. Proceedings of the 11th International Conference on Parallel and Distributed Computing (Euro-Par 2005) ( Lecture Notes in Computer Science, vol. 3648), JC Cunha, PD Medeiros (eds.). Springer: Berlin, 2005.
- 25Díaz M, Romero S, Rubio B, Soler E, Troya JM. Using SBASCO to solve reaction–diffusion equations in two-dimensional irregular domains. Proceedings of the International Conference on Computational Science, vol. 2. Springer: Berlin, 2006; 912–919.
- 26Díaz M, Rubio B, Soler E, Troya JM. SBASCO: Skeleton-Based Scientific Components. Proceedings of the 12th Euromicro Conference on Parallel, Distributed and Network-based Processing (PDP 2004), La Coruña, Spain, 2004. IEEE Computer Society Press: Los Alamitos, CA, 2004; 318–324.
- 27Keahey K, Gannon D. PARDIS: A parallel approach to CORBA. Proceedings of the 6th International Symposium on High Performance Distributed Computing (HPDC 1997), Portland, OR, August 1997. IEEE Computer Society Press: Los Alamitos, CA, 1997; 31–39.