Proceedings ArticleDOI
Low depth cache-oblivious algorithms
Guy E. Blelloch,Phillip B. Gibbons,Harsha Vardhan Simhadri +2 more
- pp 189-199
TLDR
This paper describes several cache-oblivious algorithms with optimal work, polylogarithmic depth, and sequential cache complexities that match the best sequential algorithms, including the first such algorithms for sorting and for sparse-matrix vector multiply on matrices with good vertex separators.Abstract:
In this paper we explore a simple and general approach for developing parallel algorithms that lead to good cache complexity on parallel machines with private or shared caches. The approach is to design nested-parallel algorithms that have low depth (span, critical path length) and for which the natural sequential evaluation order has low cache complexity in the cache-oblivious model. We describe several cache-oblivious algorithms with optimal work, polylogarithmic depth, and sequential cache complexities that match the best sequential algorithms, including the first such algorithms for sorting and for sparse-matrix vector multiply on matrices with good vertex separators.Using known mappings, our results lead to low cache complexities on shared-memory multiprocessors with a single level of private caches or a single shared cache. We generalize these mappings to multi-level cache hierarchies of private or shared caches, implying that our algorithms also have low cache complexities on such hierarchies. The key factor in obtaining these low parallel cache complexities is the low depth of the algorithms we propose.read more
Citations
More filters
Posted Content
Parallel Triangle Counting in Massive Streaming Graphs
TL;DR: This paper presents the design and implementation of a fast parallel algorithm for estimating the number of triangles in a massive undirected graph whose edges arrive as a stream, designed for shared-memory multicore machines and can make efficient use of parallelism and the memory hierarchy.
Proceedings ArticleDOI
Cache-adaptive algorithms
Michael A. Bender,Roozbeh Ebrahimi,Jeremy T. Fineman,Golnaz Ghasemiesfeh,Rob Johnson,Samuel McCauley +5 more
TL;DR: The cache-adaptive model, which generalizes the external-memory model to apply to environments in which the amount of memory available to an algorithm can fluctuate, is introduced, and it is established that if a cache-oblivious algorithm is optimal on "square" memory profiles then, given resource augmentation it is ideal on all memory profiles.
Proceedings ArticleDOI
Write-Avoiding Algorithms
Erin Carson,James Demmel,Laura Grigori,Nicholas Knight,Penporn Koanantakool,Oded Schwartz,Harsha Vardhan Simhadri +6 more
TL;DR: The interaction of WA algorithms with cache replacement policies is explored and it is argued that the Least Recently Used policy works well with the WA algorithms in this paper.
Proceedings ArticleDOI
Theoretically-Efficient and Practical Parallel DBSCAN
Yiqiu Wang,Yan Gu,Julian Shun +2 more
TL;DR: This paper presents new parallel algorithms for Euclidean exact DBSCAN and approximate DBS CAN that match the work bounds of their sequential counterparts, and are highly parallel (polylogarithmic depth).
Proceedings ArticleDOI
Sorting with Asymmetric Read and Write Costs
TL;DR: In this paper, the authors consider a variant of the external memory (EM) model that charges $omega > 1$ for writing a block of size $B$ to the secondary memory, and present variants of three EM sorting algorithms (multi-way mergesort, sample sort, and heapsort using buffer trees) that asymptotically reduce the number of writes over the original algorithms, and perform roughly $\omega$ block reads for every block write.
References
More filters
Journal ArticleDOI
A bridging model for parallel computation
TL;DR: The bulk-synchronous parallel (BSP) model is introduced as a candidate for this role, and results quantifying its efficiency both in implementing high-level language features and algorithms, as well as in being implemented in hardware.
Journal ArticleDOI
Amortized efficiency of list update and paging rules
TL;DR: This article shows that move-to-front is within a constant factor of optimum among a wide class of list maintenance rules, and analyzes the amortized complexity of LRU, showing that its efficiency differs from that of the off-line paging rule by a factor that depends on the size of fast memory.
Journal ArticleDOI
Cilk: An Efficient Multithreaded Runtime System
Robert D. Blumofe,Christopher F. Joerg,Bradley C. Kuszmaul,Charles E. Leiserson,Keith H. Randall,Yuli Zhou +5 more
TL;DR: It is shown that on real and synthetic applications, the “work” and “critical-path length” of a Cilk computation can be used to model performance accurately, and it is proved that for the class of “fully strict” (well-structured) programs, the Cilk scheduler achieves space, time, and communication bounds all within a constant factor of optimal.
Book
An introduction to parallel algorithms
TL;DR: This book provides an introduction to the design and analysis of parallel algorithms, with the emphasis on the application of the PRAM model of parallel computation, with all its variants, to algorithm analysis.
Proceedings ArticleDOI
LogP: towards a realistic model of parallel computation
David E. Culler,Richard M. Karp,David A. Patterson,Abhijit Sahay,Klaus Erik Schauser,Eunice E. Santos,Ramesh Subramonian,Thorsten von Eicken +7 more
TL;DR: A new parallel machine model, called LogP, is offered that reflects the critical technology trends underlying parallel computers and is intended to serve as a basis for developing fast, portable parallel algorithms and to offer guidelines to machine designers.