Global arrays: a nonuniform memory access programming model for high-performance computers
The Journal of Supercomputing
Global arrays: a portable "shared-memory" programming model for distributed memory computers
Proceedings of the 1994 ACM/IEEE conference on Supercomputing
Exploiting processor groups to extend scalability of the GA shared memory programming model
Proceedings of the 2nd conference on Computing frontiers
Advances, Applications and Performance of the Global Arrays Shared Memory Programming Toolkit
International Journal of High Performance Computing Applications
Advances, Applications and Performance of the Global Arrays Shared Memory Programming Toolkit
International Journal of High Performance Computing Applications
Distributed component support for integrating large-scale parallel HPC applications
Proceedings of the 2007 symposium on Component and framework technology in high-performance and scientific computing
Scientific Programming - Complexity in Scalable Computing
Development of high performance scientific components for interoperability of computing packages
SpringSim '09 Proceedings of the 2009 Spring Simulation Multiconference
Extending software component models with the master-worker paradigm
Parallel Computing
High-performance numerical optimization on multicore clusters
Euro-Par'11 Proceedings of the 17th international conference on Parallel processing - Volume Part II
An evaluation of parallel numerical hessian calculations
HPCS'09 Proceedings of the 23rd international conference on High Performance Computing Systems and Applications
Heuristic static load-balancing algorithm applied to the fragment molecular orbital method
SC '12 Proceedings of the International Conference on High Performance Computing, Networking, Storage and Analysis
A case study on expressiveness and performance of component-oriented parallel programming
Journal of Parallel and Distributed Computing
Hi-index | 0.00 |
The development of complex scientific applications for high-end systems is a challenging task. Addressing complexity of the involved software and algorithms is becoming increasingly difficult and requires appropriate software engineering approaches to address interoperability, maintenance, and software composition challenges. At the same time, the requirements for performance and scalability to thousand processor configurations magnifies the level of difficulties facing the scientific programmer due to the variable levels of parallelism available in different algorithms or functional modules of the application. This paper demonstrates how the Common Component Architecture (CCA) and Global Arrays (GA) can be used in context of computational chemistry to express and manage multi-level parallelism through the use of processor groups. For example, the numerical Hessian calculation using three levels of parallelism in NWChem computational chemistry package outperformed the original version of the NWChem code based on single level parallelism by a factor of 90% when running on 256 processors.