用于MPI应用程序正确性检查的编译器辅助类型跟踪

Alexander Huck, Jan-Patrick Lehr, S. Kreutzer, Joachim Protze, C. Terboven, C. Bischof, Matthias S. Müller
{"title":"用于MPI应用程序正确性检查的编译器辅助类型跟踪","authors":"Alexander Huck, Jan-Patrick Lehr, S. Kreutzer, Joachim Protze, C. Terboven, C. Bischof, Matthias S. Müller","doi":"10.1109/Correctness.2018.00011","DOIUrl":null,"url":null,"abstract":"MUST, a dynamic MPI correctness checker, is extended with a type and memory allocation tracking sanitizer called TypeART for C/C++ codes based on the LLVM compiler framework. The sanitizer extracts type information and inserts instrumentation to track memory allocations and deallocations relevant to MPI communication. This allows MUST to check for type compatibility between the type-less communication buffer and the declared MPI datatype at all phases of the MPI communication, namely message assembly, message transfer and message disassembly into the receiving buffer. We evaluate our approach on benchmarks taken from SPEC MPI 2007 and two CORAL mini applications. The results show that our approach typically exhibits acceptable runtime and memory overheads. In particular, the memory overhead was below 20% in all cases.","PeriodicalId":217525,"journal":{"name":"2018 IEEE/ACM 2nd International Workshop on Software Correctness for HPC Applications (Correctness)","volume":"140 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2018-11-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"10","resultStr":"{\"title\":\"Compiler-aided Type Tracking for Correctness Checking of MPI Applications\",\"authors\":\"Alexander Huck, Jan-Patrick Lehr, S. Kreutzer, Joachim Protze, C. Terboven, C. Bischof, Matthias S. Müller\",\"doi\":\"10.1109/Correctness.2018.00011\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"MUST, a dynamic MPI correctness checker, is extended with a type and memory allocation tracking sanitizer called TypeART for C/C++ codes based on the LLVM compiler framework. The sanitizer extracts type information and inserts instrumentation to track memory allocations and deallocations relevant to MPI communication. This allows MUST to check for type compatibility between the type-less communication buffer and the declared MPI datatype at all phases of the MPI communication, namely message assembly, message transfer and message disassembly into the receiving buffer. We evaluate our approach on benchmarks taken from SPEC MPI 2007 and two CORAL mini applications. The results show that our approach typically exhibits acceptable runtime and memory overheads. In particular, the memory overhead was below 20% in all cases.\",\"PeriodicalId\":217525,\"journal\":{\"name\":\"2018 IEEE/ACM 2nd International Workshop on Software Correctness for HPC Applications (Correctness)\",\"volume\":\"140 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2018-11-01\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"10\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"2018 IEEE/ACM 2nd International Workshop on Software Correctness for HPC Applications (Correctness)\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/Correctness.2018.00011\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"2018 IEEE/ACM 2nd International Workshop on Software Correctness for HPC Applications (Correctness)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/Correctness.2018.00011","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 10

摘要

MUST是一个动态MPI正确性检查器,它扩展了一个名为TypeART的类型和内存分配跟踪清理程序,用于基于LLVM编译器框架的C/ c++代码。消毒程序提取类型信息并插入仪器来跟踪与MPI通信相关的内存分配和释放。这允许MUST在MPI通信的所有阶段检查无类型通信缓冲区和声明的MPI数据类型之间的类型兼容性,即消息组装,消息传输和消息拆卸到接收缓冲区。我们在SPEC MPI 2007和两个CORAL迷你应用程序的基准测试中评估我们的方法。结果表明,我们的方法通常表现出可接受的运行时和内存开销。特别是,在所有情况下,内存开销都低于20%。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
Compiler-aided Type Tracking for Correctness Checking of MPI Applications
MUST, a dynamic MPI correctness checker, is extended with a type and memory allocation tracking sanitizer called TypeART for C/C++ codes based on the LLVM compiler framework. The sanitizer extracts type information and inserts instrumentation to track memory allocations and deallocations relevant to MPI communication. This allows MUST to check for type compatibility between the type-less communication buffer and the declared MPI datatype at all phases of the MPI communication, namely message assembly, message transfer and message disassembly into the receiving buffer. We evaluate our approach on benchmarks taken from SPEC MPI 2007 and two CORAL mini applications. The results show that our approach typically exhibits acceptable runtime and memory overheads. In particular, the memory overhead was below 20% in all cases.
求助全文
通过发布文献求助,成功后即可免费获取论文全文。 去求助
来源期刊
自引率
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学术文献互助群
群 号:481959085
Book学术官方微信