Zero-Overhead Parallel Scans for Multi-Core CPUs

Publication date

2024-03-06

Authors

de Wolff, Ivo GabeISNI 000000051252583X
van Balen, DavidORCID 0000-0002-2807-9860ISNI 0000000527796659
Keller, GabrieleORCID 0000-0003-1442-5387ISNI 0000000353696972
McDonell, TrevorISNI 0000000512552643

Editors

Advisors

Supervisors

Document Type

Contribution to conference
Open Access logo

License

cc_by

Abstract

We present three novel parallel scan algorithms for multi-core CPUs which do not need to fix the number of available cores at the start, and have zero overhead compared to sequential scans when executed on a single core. These two properties are in contrast with most existing parallel scan algorithms, which are asymptotically optimal, but have a constant factor overhead compared to sequential scans when executed on a single core. We achieve these properties by adapting the classic three-phase scan algorithms. The resulting algorithms also exhibit better performance than the original ones on multiple cores. Furthermore, we adapt the chained scan with decoupled look-back algorithm to also have these two properties. While this algorithm was originally designed for GPUs, we show it is also suitable for multi-core CPUs, outperforming the classic three-phase scans in our benchmarks, by better using the caches of the processor at the cost of more synchronisation. In general our adaptive chained scan is the fastest parallel scan, but in specific situations our assisted reduce-then-scan is better.

Keywords

Citation

de Wolff, I G, van Balen, D, Keller, G & McDonell, T 2024, 'Zero-Overhead Parallel Scans for Multi-Core CPUs', Paper presented at 15th International Workshop on Programming Models and Applications for Multicores and Manycores, Edinburgh, United Kingdom, 3/03/24 - 3/03/24 pp. 52-61. https://doi.org/10.1145/3649169.3649248, conference