Using Machine Learning Techniques to Detect Parallel Patterns of Multi-threaded Applications

被引:0
|
作者
Etem Deniz
Alper Sen
机构
[1] Bogazici University,Department of Computer Engineering
关键词
Parallel patterns; Parallel programming; Multi-threaded applications; Multicore software; Pattern detection;
D O I
暂无
中图分类号
学科分类号
摘要
Multicore hardware and software are becoming increasingly more complex. The programmability problem of multicore software has led to the use of parallel patterns. Parallel patterns reduce the effort and time required to develop multicore software by effectively capturing its thread communication and data sharing characteristics. Hence, detecting the parallel pattern used in a multi-threaded application is crucial for performance improvements and enables many architectural optimizations; however, this topic has not been widely studied. We apply machine learning techniques in a novel approach to automatically detect parallel patterns and compare these techniques in terms of accuracy and speed. We experimentally validate the detection ability of our techniques on benchmarks including PARSEC and Rodinia. Our experiments show that the k-nearest neighbor, decision trees, and naive Bayes classifier are the most accurate techniques. Overall, decision trees are the fastest technique with the lowest characterization overhead producing the best combination of detection results. We also show the usefulness of the proposed techniques on synthetic benchmark generation.
引用
收藏
页码:867 / 900
页数:33
相关论文
共 50 条
  • [21] A multi-threaded fast convolver for dynamically parallel image filtering
    Kepner, J
    JOURNAL OF PARALLEL AND DISTRIBUTED COMPUTING, 2003, 63 (03) : 360 - 372
  • [22] An efficient multi-threaded memory allocator for PDES applications
    Li, Tianlin
    Yao, Yiping
    Tang, Wenjie
    Zhu, Feng
    Lin, Zhongwei
    SIMULATION MODELLING PRACTICE AND THEORY, 2020, 100
  • [23] Execution replay and debugging of distributed multi-threaded parallel programs
    de Kergommeaux, JC
    Ronsse, M
    De Bosschere, K
    COMPUTERS AND ARTIFICIAL INTELLIGENCE, 2000, 19 (06): : 511 - 526
  • [24] A scalable architecture for multi-threaded JAVA']JAVA applications
    Mrva, M
    Buchenrieder, K
    Kress, R
    DESIGN, AUTOMATION AND TEST IN EUROPE, PROCEEDINGS, 1998, : 868 - 874
  • [25] Dynamic Cache Contention Detection in Multi-threaded Applications
    Zhao, Qin
    Koh, David
    Raza, Syed
    Bruening, Derek
    Wong, Weng-Fai
    Amarasinghe, Saman
    ACM SIGPLAN NOTICES, 2011, 46 (07) : 27 - 37
  • [26] An Offline Demand Estimation Method for Multi-Threaded Applications
    Perez, Juan F.
    Pacheco-Sanchez, Sergio
    Casale, Giuliano
    2013 IEEE 21ST INTERNATIONAL SYMPOSIUM ON MODELING, ANALYSIS & SIMULATION OF COMPUTER AND TELECOMMUNICATION SYSTEMS (MASCOTS 2013), 2013, : 21 - +
  • [27] Workshop on multi-threaded architectures and applications-MTAAP
    Derose, Luiz, 1600, IEEE Computer Society
  • [28] Bandwidth based performance optimization of Multi-threaded applications
    Manakkadu, Sheheeda
    Dutta, Sourav
    2014 SIXTH INTERNATIONAL SYMPOSIUM ON PARALLEL ARCHITECTURES, ALGORITHMS AND PROGRAMMING (PAAP), 2014, : 118 - 122
  • [29] Multi-threaded Output in CMS using ROOT
    Riley, Daniel
    Jones, Christopher
    23RD INTERNATIONAL CONFERENCE ON COMPUTING IN HIGH ENERGY AND NUCLEAR PHYSICS (CHEP 2018), 2019, 214
  • [30] Multi-Threaded Circuit Simulation using OpenMP
    Zwolinski, Mark
    2010 FIRST IEEE LATIN AMERICAN SYMPOSIUM ON CIRCUITS AND SYSTEMS (LASCAS), 2010, : 188 - 191