1 Introduction
With the increasing importance of parallel programming, there is a need to broaden the scope of parallelization research. While significant research effort has been expended over the past few decades investigating parallelism in domains such as dense linear algebra and stencil codes, less effort has been spent in finding and exploiting parallelism in irregular algorithms, i.e., those that manipulate pointer-based data structures such as trees and lists.