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

被引:6
|
作者
Deniz, Etem [1 ]
Sen, Alper [1 ]
机构
[1] Bogazici Univ, Dept Comp Engn, Istanbul, Turkey
关键词
Parallel patterns; Parallel programming; Multi-threaded applications; Multicore software; Pattern detection;
D O I
10.1007/s10766-015-0396-z
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
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
页数:34
相关论文
共 50 条
  • [1] Using Machine Learning Techniques to Detect Parallel Patterns of Multi-threaded Applications
    Etem Deniz
    Alper Sen
    [J]. International Journal of Parallel Programming, 2016, 44 : 867 - 900
  • [2] Multi-Threaded Parallel I/O for OpenMP Applications
    Kshitij Mehta
    Edgar Gabriel
    [J]. International Journal of Parallel Programming, 2015, 43 : 286 - 309
  • [3] Multi-Threaded Parallel I/O for OpenMP Applications
    Mehta, Kshitij
    Gabriel, Edgar
    [J]. INTERNATIONAL JOURNAL OF PARALLEL PROGRAMMING, 2015, 43 (02) : 286 - 309
  • [4] Paje, an interactive visualization tool for tuning multi-threaded parallel applications
    de Kergommeaux, JC
    Stein, B
    Bernard, PE
    [J]. PARALLEL COMPUTING, 2000, 26 (10) : 1253 - 1274
  • [5] Parallel Refinement for Multi-Threaded Program Verification
    Yin, Liangze
    Dong, Wei
    Liu, Wanwei
    Wang, Ji
    [J]. 2019 IEEE/ACM 41ST INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE 2019), 2019, : 643 - 653
  • [6] Thread to Strand Binding of Parallel Network Applications in Massive Multi-Threaded Systems
    Radojkovic, Petar
    Cakarevic, Vladimir
    Verdu, Javier
    Pajuelo, Alex
    Cazorla, Francisco J.
    Nemirovsky, Mario
    Valero, Mateo
    [J]. PPOPP 2010: PROCEEDINGS OF THE 2010 ACM SIGPLAN SYMPOSIUM ON PRINCIPLES AND PRACTICE OF PARALLEL PROGRAMMING, 2010, : 191 - 201
  • [7] Testing Multi-Threaded Applications Using Answer Set Programming
    Xue, Xiaozhen
    Siami-Namini, Sima
    Namin, Akbar Siami
    [J]. INTERNATIONAL JOURNAL OF SOFTWARE ENGINEERING AND KNOWLEDGE ENGINEERING, 2018, 28 (08) : 1151 - 1175
  • [8] Thread to Strand Binding of Parallel Network Applications in Massive Multi-Threaded Systems
    Radojkovic, Petar
    Cakarevic, Vladimir
    Verdu, Javier
    Pajuelo, Alex
    Cazorla, Francisco J.
    Nemirovsky, Mario
    Valero, Mateo
    [J]. ACM SIGPLAN NOTICES, 2010, 45 (05) : 191 - 201
  • [9] A Framework for Systematic Testing of Multi-threaded Applications
    Florian, Mihai
    [J]. 2011 IEEE 17TH PACIFIC RIM INTERNATIONAL SYMPOSIUM ON DEPENDABLE COMPUTING (PRDC), 2011, : 278 - 279
  • [10] Analysing Dataflow Multi-Threaded Applications at Runtime
    Mazumdar, Somnath
    Scionti, Alberto
    [J]. 2017 7TH IEEE INTERNATIONAL ADVANCE COMPUTING CONFERENCE (IACC), 2017, : 744 - 749