Abstract
Abstract Run-time parallelization is a technique for solving problems whose data access patterns are difficult to analyze at compile time. In this paper we propose a worker–checker framework to classify different run-time parallelization schemes. Under the framework, operations performed during run-time parallelization are classified loosely into a worker and a checker. Different schemes are then cast into the framework based on the relative execution order of their worker and checker. From the framework, we identified several new run-time parallelization methods. In the second part of the paper we then examine the implementation of one such method derived from speculative parallelization [L. Rauchwerger, D. Padua, Proceedings of 1995 Conference on Programming Language Design and Implementation, 1995]. The implementation is based on the idea of embedding hardware checkers inside memory controllers. We will present the design of the hardware checker and evaluate the effectiveness of the design on run-time parallelizing DOALL and DOACROSS loops.
Published Version
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have