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 条
  • [41] An efficient multi-level trace toolkit for multi-threaded applications
    Danjean, V
    Namyst, R
    Wacrenier, PA
    EURO-PAR 2005 PARALLEL PROCESSING, PROCEEDINGS, 2005, 3648 : 166 - 175
  • [42] Performance and energy metrics for multi-threaded applications on DVFS processors
    Rauber, Thomas
    Ruenger, Gudula
    Stachowski, Matthias
    SUSTAINABLE COMPUTING-INFORMATICS & SYSTEMS, 2018, 17 : 55 - 68
  • [43] A scalability prediction approach for multi-threaded applications on manycore processors
    Bai, Xiuxiu
    Wang, Endong
    Dong, Xiaoshe
    Zhang, Xingjun
    JOURNAL OF SUPERCOMPUTING, 2015, 71 (11): : 4072 - 4094
  • [44] Fault Detection in Multi-Threaded C++ Server Applications
    Muehlenfeld, Arndt
    Wotawa, Franz
    ELECTRONIC NOTES IN THEORETICAL COMPUTER SCIENCE, 2007, 174 (09) : 5 - 22
  • [45] Multi-Threaded Hierarchical Clustering by Parallel Nearest-Neighbor Chaining
    Jeon, Yongkweon
    Yoon, Sungroh
    IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS, 2015, 26 (09) : 2534 - 2548
  • [46] SPARTA: High-Level Synthesis of Parallel Multi-Threaded Accelerators
    Gozzi, Giovanni
    Fiorito, Michele
    Curzel, Serena
    Barone, Claudio
    Castellana, Vito Giovanni
    Minutoli, Marco
    Tumeo, Antonino
    Ferrandi, Fabrizio
    ACM TRANSACTIONS ON RECONFIGURABLE TECHNOLOGY AND SYSTEMS, 2025, 18 (01)
  • [47] Clustering the heap in multi-threaded applications for improved garbage collection
    Cohen, Myra
    Kooi, Shiu Beng
    Srisa-An, Witawas
    GECCO 2006: GENETIC AND EVOLUTIONARY COMPUTATION CONFERENCE, VOL 1 AND 2, 2006, : 1901 - +
  • [48] Feedback-based resource management for multi-threaded applications
    Alessandro V. Papadopoulos
    Kunal Agrawal
    Enrico Bini
    Sanjoy Baruah
    Real-Time Systems, 2023, 59 : 35 - 68
  • [49] Multi-Threaded Message Dispatcher Framework for Mission Critical Applications
    Marginean, Marcel-Titus
    Lu, Chao
    2016 IEEE/ACIS 14TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING RESEARCH, MANAGEMENT AND APPLICATIONS (SERA), 2016, : 83 - 89
  • [50] Performance Analysis of Multi-threaded Applications in NUMA Multicore Processors
    Fang, Juan
    Fan, Qing-Wen
    Hao, Xiao-Ting
    Cai, Min
    Song, Shu-Ying
    Li, Bin
    2015 INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING AND INFORMATION SYSTEM (SEIS 2015), 2015, : 257 - 262