Multicore-enabling the MPJ express messaging library

A. Shafi, Jawad Manzoor, Kamran Hameed, Bryan Carpenter, M. Baker
{"title":"Multicore-enabling the MPJ express messaging library","authors":"A. Shafi, Jawad Manzoor, Kamran Hameed, Bryan Carpenter, M. Baker","doi":"10.1145/1852761.1852769","DOIUrl":null,"url":null,"abstract":"With the transition to multicore processors almost complete, the parallel processing community is seeking efficient ways to port legacy message passing applications on shared memory and multicore processors. MPJ Express is our reference implementation of Message Passing Interface (MPI)-like bindings for the Java language. Starting with the current release, the MPJ Express software can be configured in two modes: the multicore and the cluster mode. In the multicore mode, parallel Java applications execute on shared memory or multicore processors. In the cluster mode, Java applications parallelized using MPJ Express can be executed on distributed memory platforms like compute clusters and clouds. The multicore device has been implemented using Java threads in order to satisfy two main design goals of portability and performance. We also discuss the challenges of integrating the multicore device in the MPJ Express software. This turned out to be a challenging task because the parallel application executes in a single JVM in the multicore mode. On the contrary in the cluster mode, the parallel user application executes in multiple JVMs. Due to these inherent architectural differences between the two modes, the MPJ Express runtime is modified to ensure correct semantics of the parallel program. Towards the end, we compare performance of MPJ Express (multicore mode) with other C and Java message passing libraries---including mpiJava, MPJ/Ibis, MPICH2, MPJ Express (cluster mode)---on shared memory and multicore processors. We found out that MPJ Express performs signicantly better in the multicore mode than in the cluster mode. Not only this but the MPJ Express software also performs better in comparison to other Java messaging libraries including mpiJava and MPJ/Ibis when used in the multicore mode on shared memory or multicore processors. We also demonstrate effectiveness of the MPJ Express multicore device in Gadget-2, which is a massively parallel astrophysics N-body siimulation code.","PeriodicalId":169989,"journal":{"name":"Principles and Practice of Programming in Java","volume":"8 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2010-09-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"19","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Principles and Practice of Programming in Java","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/1852761.1852769","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 19

Abstract

With the transition to multicore processors almost complete, the parallel processing community is seeking efficient ways to port legacy message passing applications on shared memory and multicore processors. MPJ Express is our reference implementation of Message Passing Interface (MPI)-like bindings for the Java language. Starting with the current release, the MPJ Express software can be configured in two modes: the multicore and the cluster mode. In the multicore mode, parallel Java applications execute on shared memory or multicore processors. In the cluster mode, Java applications parallelized using MPJ Express can be executed on distributed memory platforms like compute clusters and clouds. The multicore device has been implemented using Java threads in order to satisfy two main design goals of portability and performance. We also discuss the challenges of integrating the multicore device in the MPJ Express software. This turned out to be a challenging task because the parallel application executes in a single JVM in the multicore mode. On the contrary in the cluster mode, the parallel user application executes in multiple JVMs. Due to these inherent architectural differences between the two modes, the MPJ Express runtime is modified to ensure correct semantics of the parallel program. Towards the end, we compare performance of MPJ Express (multicore mode) with other C and Java message passing libraries---including mpiJava, MPJ/Ibis, MPICH2, MPJ Express (cluster mode)---on shared memory and multicore processors. We found out that MPJ Express performs signicantly better in the multicore mode than in the cluster mode. Not only this but the MPJ Express software also performs better in comparison to other Java messaging libraries including mpiJava and MPJ/Ibis when used in the multicore mode on shared memory or multicore processors. We also demonstrate effectiveness of the MPJ Express multicore device in Gadget-2, which is a massively parallel astrophysics N-body siimulation code.
多核启用MPJ快速消息传递库
随着向多核处理器的过渡几乎完成,并行处理社区正在寻求将遗留消息传递应用程序移植到共享内存和多核处理器上的有效方法。MPJ Express是类似于消息传递接口(MPI)的Java语言绑定的参考实现。从当前版本开始,MPJ Express软件可以配置为两种模式:多核模式和集群模式。在多核模式下,并行Java应用程序在共享内存或多核处理器上执行。在集群模式下,使用MPJ Express并行化的Java应用程序可以在分布式内存平台(如计算集群和云)上执行。多核设备使用Java线程实现,以满足可移植性和性能两个主要设计目标。我们还讨论了在MPJ Express软件中集成多核器件所面临的挑战。这是一项具有挑战性的任务,因为并行应用程序在多核模式下在单个JVM中执行。相反,在集群模式下,并行用户应用程序在多个jvm中执行。由于两种模式之间存在这些固有的体系结构差异,因此需要修改MPJ Express运行时以确保并行程序的正确语义。最后,我们将MPJ Express(多核模式)与其他C和Java消息传递库(包括mpiJava、MPJ/Ibis、MPICH2、MPJ Express(集群模式))在共享内存和多核处理器上的性能进行了比较。我们发现MPJ Express在多核模式下的性能明显优于在集群模式下的性能。不仅如此,当MPJ Express软件在共享内存或多核处理器上以多核模式使用时,与其他Java消息传递库(包括mpiJava和MPJ/Ibis)相比,MPJ Express软件的性能也更好。我们还在Gadget-2中演示了MPJ Express多核设备的有效性,Gadget-2是一个大规模并行天体物理n体模拟代码。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:604180095
Book学术官方微信