Improving the MPI-IO Performance of Applications with Genetic Algorithm based Auto-tuning

Ayse Bagbaba, Xuan Wang
{"title":"Improving the MPI-IO Performance of Applications with Genetic Algorithm based Auto-tuning","authors":"Ayse Bagbaba, Xuan Wang","doi":"10.1109/IPDPSW52791.2021.00118","DOIUrl":null,"url":null,"abstract":"Parallel I/O is an essential part of scientific applications running on high-performance computing systems. Understanding an application’s parallel I/O behavior and identifying sources of performance bottlenecks require a multi-layer view of the I/O. Typical parallel I/O stack layers offer many tunable parameters that can achieve the best possible I/O performance. However, scientific users do often not have the time nor the experience for investigating the proper combination of these parameters for each application use-case. Auto-tuning can help users by automatically tuning I/O parameters at various layers transparently. In auto-tuning, using naïve strategy, running an application by trying all possible combinations of tunable parameters for all layers of the I/O stack to find the best settings is an exhaustive search through the huge parameter space. This strategy is infeasible because of the long execution times of trial runs. In this paper, we propose a genetic algorithm-based parallel I/O auto-tuning approach that can hide the complexity of the I/O stack from users and auto-tune a set of parameter values for an application on a given system to improve the I/O performance. In particular, our approach tests a set of parameters and then, modifies the combination of these parameters for further testing based on the I/O performance. We have validated our model using two I/O benchmarks, namely IOR and MPI-Tile-IO. We achieved an increase in I/O bandwidth of up to 7.74×over the default parameters for IOR and 5.59×over the default parameters for MPI-Tile-IO.","PeriodicalId":170832,"journal":{"name":"2021 IEEE International Parallel and Distributed Processing Symposium Workshops (IPDPSW)","volume":"36 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2021-06-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"1","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2021 IEEE International Parallel and Distributed Processing Symposium Workshops (IPDPSW)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/IPDPSW52791.2021.00118","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 1

Abstract

Parallel I/O is an essential part of scientific applications running on high-performance computing systems. Understanding an application’s parallel I/O behavior and identifying sources of performance bottlenecks require a multi-layer view of the I/O. Typical parallel I/O stack layers offer many tunable parameters that can achieve the best possible I/O performance. However, scientific users do often not have the time nor the experience for investigating the proper combination of these parameters for each application use-case. Auto-tuning can help users by automatically tuning I/O parameters at various layers transparently. In auto-tuning, using naïve strategy, running an application by trying all possible combinations of tunable parameters for all layers of the I/O stack to find the best settings is an exhaustive search through the huge parameter space. This strategy is infeasible because of the long execution times of trial runs. In this paper, we propose a genetic algorithm-based parallel I/O auto-tuning approach that can hide the complexity of the I/O stack from users and auto-tune a set of parameter values for an application on a given system to improve the I/O performance. In particular, our approach tests a set of parameters and then, modifies the combination of these parameters for further testing based on the I/O performance. We have validated our model using two I/O benchmarks, namely IOR and MPI-Tile-IO. We achieved an increase in I/O bandwidth of up to 7.74×over the default parameters for IOR and 5.59×over the default parameters for MPI-Tile-IO.
查看原文
分享 分享
微信好友 朋友圈 QQ好友 复制链接
本刊更多论文
基于遗传算法的应用程序MPI-IO性能自调优
并行I/O是运行在高性能计算系统上的科学应用程序的重要组成部分。理解应用程序的并行I/O行为和识别性能瓶颈的来源需要一个I/O的多层视图。典型的并行I/O堆栈层提供了许多可调参数,可以实现最佳的I/O性能。然而,科学用户通常没有时间和经验来调查每个应用程序用例的这些参数的适当组合。自动调优可以通过透明地自动调优各层的I/O参数来帮助用户。在自动调优中,使用naïve策略,通过尝试I/O堆栈所有层的可调参数的所有可能组合来运行应用程序,以找到最佳设置,这是在巨大的参数空间中进行穷举搜索。这种策略是不可行的,因为试运行的执行时间很长。在本文中,我们提出了一种基于遗传算法的并行I/O自动调优方法,该方法可以向用户隐藏I/O堆栈的复杂性,并为给定系统上的应用程序自动调优一组参数值,以提高I/O性能。具体来说,我们的方法测试一组参数,然后根据I/O性能修改这些参数的组合,以便进行进一步测试。我们使用两个I/O基准测试验证了我们的模型,即IOR和MPI-Tile-IO。我们实现了I/O带宽的增加,最高可达7.74×over (IOR的默认参数)和5.59×over (MPI-Tile-IO的默认参数)。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 去求助
来源期刊
自引率
0.00%
发文量
0
期刊最新文献
Time-Division Multiplexing for FPGA Considering CNN Model Switch Time Load Balancing Schemes for Large Synthetic Population-Based Complex Simulators On Data Parallelism Code Restructuring for HLS Targeting FPGAs Improving the MPI-IO Performance of Applications with Genetic Algorithm based Auto-tuning ScaDL 2021 Invited Speaker-3: AI for Social Impact: Results from multiagent reasoning and learning in the real world
×
引用
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