| | |
Summary: Softspec: Software-based Speculative Parallelism
Derek Bruening, Srikrishna Devabhaktuni, Saman Amarasinghe
Laboratory for Computer Science
Massachusetts Institute of Technology
Cambridge, MA 02139
iye@mit.edu
Abstract
We present Softspec, a technique for parallelizing sequen-
tial applications using only simple software mechanisms,
requiring no complex program analysis or hardware sup-
port. Softspec parallelizes loops whose memory references
are stride-predictable. By detecting and speculatively exe-
cuting potential parallelism at runtime Softspec succeeds in
parallelizing loops whose memory access patterns are stati-
cally indeterminable. For example, Softspec can parallelize
while loops with un-analyzable exit conditions, linked list
traversals, and sparse matrix applications with predictable
memory patterns. We show performance results using our
prototype implementation.
1 Introduction
|