Balanced Partitioning of Several Cache-Oblivious Algorithms

11/03/2020
by   Yuan Tang, et al.
0

Frigo et al. proposed an ideal cache model and a recursive technique to design sequential cache-efficient algorithms in a cache-oblivious fashion. Ballard et al. pointed out that it is a fundamental open problem to extend the technique to an arbitrary architecture. Ballard et al. raised another open question on how to parallelize Strassen's algorithm exactly and efficiently on an arbitrary number of processors. We propose a novel way of partitioning a cache-oblivious algorithm to achieve perfect strong scaling on an arbitrary number, even a prime number, of processors within a certain range in a shared-memory setting. Our approach is Processor-Aware but Cache-Oblivious (PACO). We demonstrate our approach on several important cache-oblivious algorithms, including LCS, 1D, GAP, classic rectangular matrix multiplication on a semiring, and Strassen's algorithm. We discuss how to extend our approach to a distributed-memory architecture, or even a heterogeneous computing system. Hence, our work may provide a new perspective on the fundamental open problem of extending the recursive cache-oblivious technique to an arbitrary architecture. We provide an almost exact solution to the open problem on parallelizing Strassen. Our approach may provide a new perspective on extending the recursive cache-oblivious technique to an arbitrary architecture. All our algorithms demonstrate better scalability or better overall parallel cache complexities than the best known algorithms. Preliminary experiments justify our theoretical prediction that the PACO algorithms can outperform significantly state-of-the-art Processor-Oblivious (PO) and Processor-Aware (PA) counterparts.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
11/13/2019

Improving the Space-Time Efficiency of Processor-Oblivious Matrix Multiplication Algorithms

Classic cache-oblivious parallel matrix multiplication algorithms achiev...
research
01/06/2017

Reducing Competitive Cache Misses in Modern Processor Architectures

The increasing number of threads inside the cores of a multicore process...
research
05/11/2017

Cache-oblivious Matrix Multiplication for Exact Factorisation

We present a cache-oblivious adaptation of matrix multiplication to be i...
research
03/31/2022

Instability of backoff protocols with arbitrary arrival rates

In contention resolution, multiple processors are trying to coordinate t...
research
01/24/2023

Balanced Allocations with Heterogeneous Bins: The Power of Memory

We consider the allocation of m balls (jobs) into n bins (servers). In t...
research
12/16/2016

Efficient sparse polynomial factoring using the Funnel heap

This work is a comprehensive extension of Abu-Salem et al. (2015) that i...
research
10/29/2018

Sesquickselect: One and a half pivots for cache-efficient selection

Because of unmatched improvements in CPU performance, memory transfers h...

Please sign up or login with your details

Forgot password? Click here to reset