Compframe 2005

Atlanta, GA, June 22-23, 2005


Productivity and Performance Through Components: The ASCI Sweep3D Application.
Samit Jain ,Matthew Crocker, Nasim Mahmood and James C. Browne.
Abstract

The paper presents an experiment in component-oriented development focusing on development of application families. The experiments are based on construction of a componentized version of the SWEEP3D neutron transport code which enables automated composition of applications that are near-optimal with respect to different execution environments and different cases of input data in terms of performance, stability or structure. The motivations for this approach to component-oriented development are: It is often the case that there is a family of applications which can be generated from a modest number of appropriately-defined components. Maintaining multiple versions of components allows adaptation of parallel programs to different execution environments and application instances. Componentization allows specialization of functionality and focus on optimizations local to each component. Programs generated and maintained as compositions of components are much more understandable and thus more readily modifiable and maintainable. The compositional approach sometimes gives better performance even for sequential versions of the program. We have used P-COM2, an interface definition language, along with the P-COM2 compiler [Mahmood 2003] which composes parallel programs from components encapsulated with interfaces which incorporate information on behaviors and implementations of components The composition is based on matching of associative interfaces [Mahmood 2003] generating as final output either a serial program, an MPI program or multi-threaded code for a shared memory multiprocessor.
Access Extended Abstract (pdf file)