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.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call