Detection of false sharing using machine learning

Detection of false sharing using machine learning
复制标题

使用机器学习检测虚假共享

DOI:
10.1145/2503210.2503269
复制
发表时间:
2013
期刊:
2013 SC - International Conference for High Performance Computing, Networking, Storage and Analysis (SC)
影响因子:
--
通讯作者:
Yanbin Liu
Yanbin Liu
中科院分区:
--
文献类型:
--
作者:
Sanath Jayasena;Saman P. Amarasinghe;Asanka Abeyweera;Gayashan Amarasinghe;Himeshi De Silva;Sunimal Rathnayake;Xiaoqiao Meng;Yanbin Liu

文献摘要

被引文献

相似文献

虚假共享是并行应用程序中一类主要的性能错误。检测虚假共享是困难的,因为它不会改变程序语义。提出了一种基于机器学习的虚假共享检测方法。我们开发了一套小程序,可以在其中打开和关闭虚假分享。然后,我们运行带有和不带有虚假共享的小程序,收集一组硬件性能事件计数,并使用收集到的数据来训练分类器。我们可以使用训练好的分类器来分析来自任意程序的数据,以检测虚假共享。PARSEC和Phoenix基准测试的实验表明,我们的方法确实有效。我们在基准测试中检测到发布的虚假共享区域,没有误报。我们的性能损失小于2%。因此,我们认为这是一种有效而实用的检测虚假共享的方法。
False sharing is a major class of performance bugs in parallel applications. Detecting false sharing is difficult as it does not change the program semantics. We introduce an efficient and effective approach for detecting false sharing based on machine learning. We develop a set of mini-programs in which false sharing can be turned on and off. We then run the mini-programs both with and without false sharing, collect a set of hardware performance event counts and use the collected data to train a classifier. We can use the trained classifier to analyze data from arbitrary programs for detection of false sharing. Experiments with the PARSEC and Phoenix benchmarks show that our approach is indeed effective. We detect published false sharing regions in the benchmarks with zero false positives. Our performance penalty is less than 2%. Thus, we believe that this is an effective and practical method for detecting false sharing.