Abstract

Speculative Multithreading (SpMT) is a thread level automatic parallelization technique to accelerate sequential programs. Conventional thread partition algorithms primarily include heuristic-based and machine learning-based. The existing heuristic-based approaches are only suitable for one kind of programs and can not guarantee to get the optimal solution of thread partitioning, and the existing machine learning-based approaches usually use vector-based characterization to represent a program, but easily ignore control information among basic blocks. In this paper, we present a novel graph-based thread partition approach to avoid these problems. It characterizes programs by graphs, integrating static and dynamic features, as well as data and control information. The graph-based partition approach learns partition knowledge and predicts partition for unseen programs. Prophet, which consists of an automatic parallelization compiler and a multi-core simulator, evaluates the performance of multithreaded programs. Olden benchmarks are used to realize the approach. Experiments show that our approach delivers a maximum performance improvement of 37.42% on a 16 core than heuristic-based approach, and 37.41% against conventional machine learning-based approach. These results suggest that our graph-based thread partition approach is effective for thread partition in Speculative Multithreading.

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