Issue No. 03 - May/June (2009 vol. 11)
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/MCSE.2009.50
Yang Zhang , Mississippi State University
Edward Luke , Mississippi State University
The parallel coordination of tasks and data is the most significant challenge in high-performance scientific software development. Performance dictates that distributed data communication is best performed outside of a software module, but this comes with a cost of increased coupling and loss of system cohesion. Therefore, developers often face complicated component interactions and distributed data management problems that are hard to design and optimize. The authors developed a software framework called Loci that provides an automatic system for the generating the communication and synchronization that are required to correctly compose software modules. Within Loci, software components only document their needs: the communication coupling between components is removed because the framework automatically generates it. This significantly simplifies concurrency management for those who develop simulation codes and results in a cleaner software architecture and clear separations of concerns between the numerical algorithms and management of distributed datasets.
parallel programming, software composition, numerical simulation
Y. Zhang and E. Luke, "Concurrent Composition Using Loci," in Computing in Science & Engineering, vol. 11, no. , pp. 27-35, 2009.