The Cache Complexity of Multithreaded Cache Oblivious Algorithms

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 wi...

Full description

Saved in:
Bibliographic Details
Published in:Theory of computing systems Vol. 45; no. 2; pp. 203 - 233
Main Authors: Frigo, Matteo, Strumpen, Volker
Format: Journal Article
Language:English
Published: New York Springer-Verlag 01.08.2009
Springer Nature B.V
Subjects:
ISSN:1432-4350, 1433-0490
Online Access:Get full text
Tags: Add Tag
No Tags, Be the first to tag this record!
Description
Summary: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.
Bibliography:ObjectType-Article-1
SourceType-Scholarly Journals-1
content type line 14
ISSN:1432-4350
1433-0490
DOI:10.1007/s00224-007-9098-2