The primary impediment to wide acceptance of parallelism and harnessing of the now ubiquitous multi-cores is
the inherent difficulty in writing parallel programs. While
we believe that multi-threaded runtime systems such as Cilk
ease this difficulty by providing useful abstractions to express parallelism, we observe how the dependencies expressed
in Cilk can be overly constrained and lead to poor scalability.
To overcome this performance roadblock without burdening
the programmer, we propose and evaluate optimistic concurrency in the Cilk infrastructure. Armed with a gamut
of optimizations and an accurate predictor, we show that
optimistic concurrency is not only viable but delivers gains
of up to 1.6× on 30 cores over baseline Cilk.