A Novel Thread Partitioning Approach Based on Machine Learning for Speculative Multithreading
Bin Liu, Yinliang Zhao, Xiang Zhong, Zengyu Liang, Boqin Feng
Abstract
Bin Liu, Yinliang Zhao, Xiang Zhong, Zengyu Liang, Boqin Feng
Abstract
Speculative multithreading (SpMT) is a thread-level automatic parallelization technique to accelerate sequential programs on multi-core. The existing heuristic-based approaches are only suitable for one kind of programs and cannot guarantee to get the optimal solution of thread partitioning. In this paper, we propose a novel thread partitioning approach based on machine learning to partition irregular programs into multithreads. It mainly includes: generating sufficient training samples, building and applying the prediction model to partition the irregular programs. By using the thread partition approach, an unseen irregular program can obtain a stable, much higher speedup than the heuristic-based approaches. On the Prophet, which is a SpMT processor to evaluate the performance of multithreaded programs, the novel thread partitioning approach is evaluated and reaches an average speedup of 1.80 on 4-core processor. Experiments show that our proposed approach can obtain a significant increase in speedup and Olden benchmarks deliver a better performance improvement of 5.41% than the traditional heuristic-based approach.
OpenAlex reports 13 citations for this work. Citation counts describe recorded attention and do not establish research quality.
A contribution statement is not available in the OpenAlex record.
Method details are not available in the OpenAlex metadata.
Findings are not separately available in the OpenAlex metadata.
Limitations are not available in the OpenAlex metadata.
Application details are not available in the OpenAlex metadata.
Speculative multithreading (SpMT) is a thread-level automatic parallelization technique to accelerate sequential programs on multi-core. The existing heuristic-based approaches are only suitable for one kind of programs and cannot guarantee to get the optimal solution of thread partitioning. In this paper, we propose a novel thread partitioning approach based on machine learning to partition irregular programs into multithreads. It mainly includes: generating sufficient training samples, building and applying the prediction model to partition the irregular programs. By using the thread partition approach, an unseen irregular program can obtain a stable, much higher speedup than the heuristic-based approaches. On the Prophet, which is a SpMT processor to evaluate the performance of multithreaded programs, the novel thread partitioning approach is evaluated and reaches an average speedup of 1.80 on 4-core processor. Experiments show that our proposed approach can obtain a significant increase in speedup and Olden benchmarks deliver a better performance improvement of 5.41% than the traditional heuristic-based approach.
Key concepts: Thread (computing), Multithreading, Speedup, Computer science, Parallel computing, Speculative multithreading, Partition (number theory), Simultaneous multithreading