Summary: 1
Softspec: Software-based Speculative Parallelism via Stride Prediction
Srikrishna Devabhaktuni
Advisor: Saman Amarasinghe
M.I.T. Laboratory for Computer Science
Cambridge, MA 02139, U.S.A.
{chinnama, saman} @lcs.mit.edu
Abstract: We introduce Softspec, an all-software, speculation based approach to
automatic parallelization of sequential applications. Softspec parallelizes loops
containing stride-predictable memory references, without resorting to complex compiler
analyses, special hardware support. By detecting parallel regions at runtime and
speculatively executing them in parallel, Softspec succeeds in parallelizing codes with
memory access patterns that are indeterminable until runtime. We have implemented a
prototype system and observed speedup on dense-matrix applications running on a
symmetric shared-memory multiprocessor. We show how other classes of applications
previously not amenable to automatic parallelization may be parallelized using the
Softspec approach, including sparse-matrix applications.
1. Introduction
In the pursuit of higher and higher performance, architects have greatly increased the
complexity of hardware and software systems. This is driving up the cost of design, development,