Performance Evaluation of an Irregular Application Parallelized in Java

Christopher D. Krieger, M. Strout
{"title":"Performance Evaluation of an Irregular Application Parallelized in Java","authors":"Christopher D. Krieger, M. Strout","doi":"10.1109/ICPPW.2010.40","DOIUrl":null,"url":null,"abstract":"Irregular scientific applications are difficult to parallelize in an efficient and scalable fashion due to indirect memory references (i.e. A[B[i]]), irregular communication patterns, and load balancing issues. In this paper, we present our experience parallelizing an irregular scientific application written in Java. The application is an N-Body molecular dynamics simulation that is the main component of a Java application called the Molecular Workbench (MW). We parallelized MW to run on multicore hardware using Java's java.util.concurrent library. Speedup was found to vary greatly depending on what type of force computation dominated the simulation. In order to understand the cause of this appreciable difference in scalability, various performance analysis tools were deployed. These tools include Intel's VTune, Apple's Shark, the Java Application Monitor (JaMON), and Sun's VisualVM. Virtual machine instrumentation as well as hardware performance monitors were used. To our knowledge this is the first such performance analysis of an irregular scientific application parallelized using Java threads. In the course of this investigation, a number of challenges were encountered. These difficulties in general stemmed from a mismatch between the nature of our application and either Java itself or the performance tools we used. This paper aims to share our real world experience with Java threading and today's parallel performance tools in an effort to influence future directions for the Java virtual machine, for the Java concurrency library, and for tools for multicore parallel software development.","PeriodicalId":415472,"journal":{"name":"2010 39th International Conference on Parallel Processing Workshops","volume":"43 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2010-09-13","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"2","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2010 39th International Conference on Parallel Processing Workshops","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/ICPPW.2010.40","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 2

Abstract

Irregular scientific applications are difficult to parallelize in an efficient and scalable fashion due to indirect memory references (i.e. A[B[i]]), irregular communication patterns, and load balancing issues. In this paper, we present our experience parallelizing an irregular scientific application written in Java. The application is an N-Body molecular dynamics simulation that is the main component of a Java application called the Molecular Workbench (MW). We parallelized MW to run on multicore hardware using Java's java.util.concurrent library. Speedup was found to vary greatly depending on what type of force computation dominated the simulation. In order to understand the cause of this appreciable difference in scalability, various performance analysis tools were deployed. These tools include Intel's VTune, Apple's Shark, the Java Application Monitor (JaMON), and Sun's VisualVM. Virtual machine instrumentation as well as hardware performance monitors were used. To our knowledge this is the first such performance analysis of an irregular scientific application parallelized using Java threads. In the course of this investigation, a number of challenges were encountered. These difficulties in general stemmed from a mismatch between the nature of our application and either Java itself or the performance tools we used. This paper aims to share our real world experience with Java threading and today's parallel performance tools in an effort to influence future directions for the Java virtual machine, for the Java concurrency library, and for tools for multicore parallel software development.
查看原文
分享 分享
微信好友 朋友圈 QQ好友 复制链接
本刊更多论文
Java中并行化不规则应用程序的性能评估
由于间接内存引用(即A[B[i]])、不规则的通信模式和负载平衡问题,不规则的科学应用程序很难以有效和可扩展的方式并行化。在本文中,我们介绍了用Java编写的不规则科学应用程序的并行化经验。该应用程序是一个n体分子动力学模拟,它是称为molecular Workbench (MW)的Java应用程序的主要组件。我们使用Java的Java .util.concurrent库将MW并行化,以便在多核硬件上运行。研究发现,根据哪种类型的力计算主导了模拟,加速变化很大。为了理解可伸缩性方面这种明显差异的原因,部署了各种性能分析工具。这些工具包括英特尔的VTune、苹果的Shark、Java应用程序监视器(JaMON)和Sun的VisualVM。使用了虚拟机仪器和硬件性能监视器。据我们所知,这是第一次对使用Java线程并行化的不规则科学应用程序进行这样的性能分析。在调查过程中,遇到了一些挑战。这些困难通常源于我们的应用程序的性质与Java本身或我们使用的性能工具之间的不匹配。本文旨在分享我们在Java线程和当今并行性能工具方面的实际经验,以努力影响Java虚拟机、Java并发库和多核并行软件开发工具的未来方向。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 去求助
来源期刊
自引率
0.00%
发文量
0
期刊最新文献
GEM: Graphical Explorer of MPI Programs Predictive Space- and Time-Resource Allocation for Parallel Job Scheduling in Clusters, Grids, Clouds WS4D: Toolkits for Networked Embedded Systems Based on the Devices Profile for Web Services A Multi-hop Walkie-Talkie-Like Emergency Communication System for Catastrophic Natural Disasters Message Driven Programming with S-Net: Methodology and Performance
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
已复制链接
已复制链接
快去分享给好友吧!
我知道了
×
扫码分享
扫码分享
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1