The Cache Complexity of Multithreaded Cache Oblivious Algorithms

  • Authors:
  • Matteo Frigo;Volker Strumpen

  • Affiliations:
  • IBM Austin Research Laboratory, 11501 Burnet Road, 78758, Austin, TX, USA;IBM Austin Research Laboratory, 11501 Burnet Road, 78758, Austin, TX, USA

  • Venue:
  • Theory of Computing Systems - Special Issue: Symposium on Parallelism in Algorithms and Architectures 2006; Guest Editors: Robert Kleinberg and Christian Scheideler
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

Abstract

We present a technique for analyzing the number of cache misses incurred by multithreaded cache oblivious algorithms on an idealized parallel machine in which each processor has a private cache. We specialize this technique to computations executed by the Cilk work-stealing scheduler on a machine with dag-consistent shared memory. We show that a multithreaded cache oblivious matrix multiplication incurs cache misses when executed by the Cilk scheduler on a machine with P processors, each with a cache of size Z, with high probability. This bound is tighter than previously published bounds. We also present a new multithreaded cache oblivious algorithm for 1D stencil computations incurring cache misses with high probability, one for Gaussian elimination and back substitution, and one for the length computation part of the longest common subsequence problem incurring cache misses with high probability.