Abstract

Speculative multithreading (SpMT) technology is an effective mechanism for automatic parallelization of irregular programs. While speculative parallelization can potentially deliver significant speedup for irregular programs, several overheads associated with this technique can limit these speedups in practice. Because finding optimum thread partitioning results is NP-complete, most existing thread partitioning methods are still based on simple heuristics rules to select speculative threads. However, these heuristics rules can only be used to indirectly estimate the speculative multithreaded execution overheads and tackle individual overheads, these methods can only get the empirical optimal speculative thread solution. For the limitation of existing methods, in this paper, we first propose a fuzzy c-means (FCM) algorithm based thread partitioning method which can be used to effectively search the solution space of speculative threads and get the optimal solution. With combining the heuristic rules, we compress the solution space of speculative threads based on the analysis of several overheads. Meanwhile, in order to apply the FCM algorithm, we design and implement the cluster validity function by introducing a cost model. The experimental results show that the proposed method can effectively search the solution space of speculative threads and we can indeed get better performance. We achieve an average speedup of 1.85 on Olden benchmark suits.

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