Includes bibliographical references (p. 379-412) and index.
Contents
Preliminaries and notation -- Internally deterministic parallelism : techniques and algorithms -- Deterministic parallelism in sequential iterative algorithms -- A deterministic phase-concurrent parallel hash table -- Priority updates : a contention-reducing primitive for deterministic programming -- Ligra : a lightweight graph processing framework for shared memory -- Ligra++ : adding compression to Ligra -- Linear-work parallel graph connectivity -- Parallel and cache-oblivious triangle computations -- Parallel cartesian tree and suffix tree construction -- Parallel computation of longest common prefixes -- Parallel Lempel-Ziv factorization -- Parallel wavelet tree construction -- Conclusion and future work.