Developing and debugging parallel programs particularly for distributed memory architectures is still a difficult task. The most popular approach to developing parallel programs for distributed memory architectures requires adding explicit message passing calls into existing sequential programs for data distribution, coordination, and communication. This approach creates separate source tree for sequential code and parallel code as well as further branches based on the specific set of message passing primitives used (point-to-point communication vs. one-sided communication). Aspect oriented programming provides an option to separate programming concerns and weave code into applications instead of directly modifying the original program. This paper described an effort to use Aspect Oriented Programming (specifically AspectC++), components and patterns for data distribution and message passing to develop parallel programs without making any changes to existing sequential program. This technique is used to generate a suite of parallel matrix multiplication algorithms as well as several simple parallel algorithms without making any changes to the sequential code. Performance results obtained indicate that the desired functionality is achieved without compromising performance.
机译:使用生成设计模式为分布式内存环境生成并行代码
机译:分布式块计算方法,用于自行调度分布式内存系统上的并行应用程序
机译:调度分布式系统中多组件应用程序的体系结构模式
机译:使用方面,组件和模式为分布式存储系统生成并行应用程序
机译:分布式共享内存在并行文件系统中的元数据存储中的应用。
机译:共享和分布式内存架构并行FDTD方法的性能:应用脚踏电磁
机译:使用方面,组件和模式为分布式内存系统生成并行应用程序
机译:分布式存储器机器的分子动力学程序的并行化:CHaOs运行时支持库的应用。