The dynamic nature and the encapsulation provided by the component approach maps quite naturally to the concepts of multiple-program multiple-data (MPMD) programming. In this paper, we will introduce a new programming model called multiple component multiple data (MCMD). The MCMD model provides a high-level infrastructure in the common component architecture (CCA) environment to exploit hardware parallelism in emerging petascale and exascale systems. We demonstrate the effectiveness of CCA MCMD programming in context of subsurface simulations to express and manage many-task parallelism. Our target application is STOMP, a large scale (~800K lines of code) subsurface simulation code. The performance results for a 3D saturated flow problem with the STOMP CCA framework show that the MCMD programming model is very effective to achieve scalability on thousands of processors with high efficiency. For example, to simulate the saturated flow problem containing ~1.2 million nodes on 2048 processors, the CCA MCMD version of STOMP is an order of magnitude faster than the original parallel version of STOMP.
Revised: September 27, 2010 |
Published: November 15, 2009
Citation
Gurumoorthi V., M. Krishnan, Y. Fang, B.J. Palmer, and D. ChavarrÃa-Miranda. 2009.Multiple Component Multiple Data Programming in Subsurface Simulations: The CCA Approach. In Proceedings of the Workshop on Component-Based High Performance Computing (CBHPC 2009). New York, New York:ACM Press.PNNL-SA-68966.