Abstract:Speculative multithreading (SpMT) is a thread-level automatic parallelization technique that can accelerate sequential programs, especially for irregular applications that are hard to be parallelized by conventional approaches. Thread partition plays a critical role in SpMT. Conventional machine learning-based thread partition approaches applied machine learning to offline guide partition, but could not explicitly explore the law between partition and performance. In this paper, we build a parametric model (Qi… Show more
“…and Prophet [26][27][28] Framework GSpecPal [3] Algorithms [29,30] Related products [31][32][33][34][35] of programs while our approach based on machine learning proposes a program-aware partitioning scheme according to characteristics of the target program.…”
Section: Itemmentioning
confidence: 99%
“…In recent years, the researches [1,[36][37][38][39][40][41][42][43] introduced various machine learning approaches to the parallelism of programs. Wang et al [40] made use of a machine learning method to map a parallelized program to multi-core processors with an automatic compiler-based approach.…”
Section: Itemmentioning
confidence: 99%
“…Thread-level speculation (TLS) [1][2][3][4], which is also called Speculative Multithreading (SpMT for short) and makes use of parallelizing compiler [5] is an auto-parallelization technique on multi-core processors for sequential programs. Without user interactions and with lowest cost, TLS can accelerate irregular sequential programs with comparison to manual parallelization.…”
As an auto-parallelization technique with the level of thread on multi-core,Thread-Level Speculation (TLS) which is also called Speculative Multithreading(SpMT), partitions programs into multiple threads and speculatively executesthem under conditions of ambiguous data and control dependence. Thread par-titioning approach plays a key role to the performance enhancement in TLS.The existing heuristic rules-based approach (HR-based approach) which is anone-size-fits-all strategy, can not guarantee to achieve the optimal thread parti-tioning. In this paper, an importance degree based thread partitioning approach(IDaTPA) is proposed to realize the partition of irregular programs into mul-tithreads. IDaTPA implements biasing partitioning for every procedure with amachine learning method. It mainly includes: constructing sample set, expres-sion of knowledge, calculation of similarity, prediction model and the partitionof the irregular programs is performed by the prediction model. Using IDaTPA,the subprocedures in unseen irregular programs can obtain their optimal parti-tion. On a generic SpMT processor (called Prophet) to perform the performanceevaluation for multithreaded programs, the IDaTPA is evaluated and averagelydelivers a speedup of 1.80 upon a 4-core processor. Furthermore, in order toobtain the portability evaluation of IDaTPA, we port IDaTPA to 8-core processorand obtain a speedup of 2.82 on average. Experiment results show that IDaTPAobtains a significant speedup increasement and Olden benchmarks respectively deliver a 5.75% performance improvement on 4-core and a 6.32% performanceimprovement on 8-core, and SPEC2020 benchmarks obtain a 38.20% performanceimprovement than the conventional HR-based approach.
“…and Prophet [26][27][28] Framework GSpecPal [3] Algorithms [29,30] Related products [31][32][33][34][35] of programs while our approach based on machine learning proposes a program-aware partitioning scheme according to characteristics of the target program.…”
Section: Itemmentioning
confidence: 99%
“…In recent years, the researches [1,[36][37][38][39][40][41][42][43] introduced various machine learning approaches to the parallelism of programs. Wang et al [40] made use of a machine learning method to map a parallelized program to multi-core processors with an automatic compiler-based approach.…”
Section: Itemmentioning
confidence: 99%
“…Thread-level speculation (TLS) [1][2][3][4], which is also called Speculative Multithreading (SpMT for short) and makes use of parallelizing compiler [5] is an auto-parallelization technique on multi-core processors for sequential programs. Without user interactions and with lowest cost, TLS can accelerate irregular sequential programs with comparison to manual parallelization.…”
As an auto-parallelization technique with the level of thread on multi-core,Thread-Level Speculation (TLS) which is also called Speculative Multithreading(SpMT), partitions programs into multiple threads and speculatively executesthem under conditions of ambiguous data and control dependence. Thread par-titioning approach plays a key role to the performance enhancement in TLS.The existing heuristic rules-based approach (HR-based approach) which is anone-size-fits-all strategy, can not guarantee to achieve the optimal thread parti-tioning. In this paper, an importance degree based thread partitioning approach(IDaTPA) is proposed to realize the partition of irregular programs into mul-tithreads. IDaTPA implements biasing partitioning for every procedure with amachine learning method. It mainly includes: constructing sample set, expres-sion of knowledge, calculation of similarity, prediction model and the partitionof the irregular programs is performed by the prediction model. Using IDaTPA,the subprocedures in unseen irregular programs can obtain their optimal parti-tion. On a generic SpMT processor (called Prophet) to perform the performanceevaluation for multithreaded programs, the IDaTPA is evaluated and averagelydelivers a speedup of 1.80 upon a 4-core processor. Furthermore, in order toobtain the portability evaluation of IDaTPA, we port IDaTPA to 8-core processorand obtain a speedup of 2.82 on average. Experiment results show that IDaTPAobtains a significant speedup increasement and Olden benchmarks respectively deliver a 5.75% performance improvement on 4-core and a 6.32% performanceimprovement on 8-core, and SPEC2020 benchmarks obtain a 38.20% performanceimprovement than the conventional HR-based approach.
SummarySpeculative multithreading is an effective technique to automatically parallelize sequential programs. Conventional thread partition approaches primarily include heuristic rule–based (HR‐based) and machine learning–based. Heuristic rule–based approaches are effective to parallelize one type of programs and can seldom obtain the respective optimal partitions for different programs, and existing machine learning–based approaches usually use vector‐based characterization to represent a program, but easily ignore control information among basic blocks and partitions along other paths except the critical path. This paper proposes a novel graph‐based thread partition approach to overcome these 2 bottlenecks. Our approach characterizes programs with graphs, integrating feature and control informations, extracting good partition scheme successfully, and also applies a machine‐learning algorithm to predict partition for unseen programs. Prophet, which consists of an automatic parallelization compiler and a multicore simulator, evaluates the performance of multithreaded programs. Experiment results reveal that our approach delivers a maximum performance improvement of about 55.49% on an 8 core than HR‐based approach and a maximum 97.67% performance improvement over HR‐based partition for SPEC2000 benchmarks. This result suggests that graph‐based thread partition approach is effective for thread partition in speculative multithreading.
As an auto-parallelization technique with the level of thread on multi-core, Thread-Level Speculation (TLS) which is also called Speculative Multithreading (SpMT), partitions programs into multiple threads and speculatively executes them under conditions of ambiguous data and control dependence. Thread partitioning approach plays a key role to the performance enhancement in TLS. The existing heuristic rules-based approach (HR-based approach) which is an one-size-fits-all strategy, can not guarantee to achieve the satisfied thread partitioning. In this paper, an importance degree based thread partitioning approach (IDaTPA) is proposed to realize the partition of irregular programs into multithreads. IDaTPA implements biasing partitioning for every procedure with a machine learning method. It mainly includes: constructing sample set, expression of knowledge, calculation of similarity, prediction model and the partition of the irregular programs is performed by the prediction model. Using IDaTPA, the subprocedures in unseen irregular programs can obtain their satisfied partition. On a generic SpMT processor (called Prophet) to perform the performance evaluation for multithreaded programs, the IDaTPA is evaluated and averagely delivers a speedup of 1.80 upon a 4-core processor. Furthermore, in order to obtain the portability evaluation of IDaTPA, we port IDaTPA to 8-core processor and obtain a speedup of 2.82 on average. Experiment results show that IDaTPA obtains a significant speedup increasement and Olden benchmarks respectively deliver a 5.75% performance improvement on 4-core and a 6.32% performance improvement on 8-core, and SPEC2020 benchmarks obtain a 38.20% performance improvement than the conventional HR-based approach.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.