ABSTRACT
The software engineering community has widely used design patterns to solve software design problems and improve software development. However, there is little evidence about whether the use of design patterns has the same effect in a parallel computing environment. The growth of high-performance computing (HPC) has been achieved through massive parallelization. This paper presents a pilot controlled experiment with an objective to verify the experimental design and instrumentation. The study assessed the usability of design pattern implementations versus alternative implementations of the parallel program implemented with the Message Passing Interface (MPI). This paper describes the research questions, hypotheses and experimental design. The collected data indicated that the study design and materials produced the necessary results to be able to analyze and answer the research questions. Additionally, this paper discusses lessons learned from the experiment in order to be useful for the full-scale study.
- Arisholm, E., and Sjoberg, D. I. K. Evaluating the effect of a delegated versus centralized control style on the maintainability of object-oriented software. IEEE Transactions on Software Engineering 30, 8 (2004), 521--534. Google ScholarDigital Library
- Gamma, E., Helm, R., Johnson, R., and Vlissides, J. Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley Longman Publishing Co., Inc., MA, USA, 1995. Google ScholarDigital Library
- Hochstein, L., Nakamura, T., Basili, V. R., Asgari, S., Zelkowitz, M. V., Hollingsworth, J. K., Shull, F., Carver, J., Voelp, M., Zazworka, N., and Johnson, P. M. Experiments to understand HPC time to development. CTWatch Quarterly (Nov. 2006).Google Scholar
- Liu, J., Chandrasekaran, B., Wu, J., Jiang, W., Kini, S., Yu, W., Buntinas, D., Wyckoff, P., and Panda, D. Performance comparison of MPI implementations over InfiniBand, Myrinet and Quadrics. In ACM/IEEE Conference on Supercomputing (2003), pp. 58--58. Google ScholarDigital Library
- Massingill, B. L., Mattson, T. G., and Sanders, B. A. Simd: an additional pattern for PLPP (Pattern Language for Parallel Programming). In Proceedings of the 14th Conference on Pattern Languages of Programs (NY, USA, 2007), ACM, pp. 6:1--6:15. Google ScholarDigital Library
- Mattson, T., Sanders, B., and Massingill, B. Patterns for parallel programming, 1st ed. Addison-Wesley Professional, 2004. Google ScholarDigital Library
- McCabe, T. A complexity measure. IEEE Transactions on Software Engineering SE-2, 4 (1976), 308--320. Google ScholarDigital Library
- Ortega-Arjona, J. L. Patterns for Parallel Software Design, 1st ed. Wiley Publishing, 2010. Google ScholarDigital Library
Index Terms
- A pilot study: design patterns in parallel program development
Recommendations
Experimentation in software engineering
Experimentation in software engineering supports the advancement of the field through an iterative learning process. In this paper we present a framework for analyzing most of the experimental work performed in software engineering over the past several ...
A Detailed Performance Analysis of the Interpolation Supplemented Lattice Boltzmann Method on the Cray T3E and Cray X1A Detailed Performance Analysis of the Interpolation Supplemented Lattice Boltzmann Method on the Cray T3E and Cray X1
A detailed study of the parallel performance of the interpolation supplemented lattice Boltzmann (ISLB) method using SHMEM and MPI on the Cray T3E-900 and Cray X1 architectures is presented. The noteworthy feature of the ...
A pilot study to compare programming effort for two parallel programming models
Context: Writing software for the current generation of parallel systems requires significant programmer effort, and the community is seeking alternatives that reduce effort while still achieving good performance. Objective: Measure the effect of ...
Comments