Cache-Conscious Run-time Decomposition of Data Parallel Computations
Herv\'e Paulino, Nuno Delgado

TL;DR
This paper introduces a runtime system that automatically decomposes data parallel computations to optimize cache usage on multi-core architectures, reducing programmer effort and improving performance.
Contribution
It presents a novel runtime approach for cache-aware data decomposition, shifting complexity from programmers to the system.
Findings
Significant performance improvements over cache-agnostic methods
Effective automatic data distribution across cache hierarchies
Reduced programmer burden in parallel application optimization
Abstract
Multi-core architectures feature an intricate hierarchy of cache memories, with multiple levels and sizes. To adequately decompose an application according to the traits of a particular memory hierarchy is a cumbersome task that may be rewarded with significant performance gains. The current state-of-the-art in memory-hierarchy-aware parallel computing delegates this endeavour on the programmer, demanding from him deep knowledge of both parallel programming and computer architecture. In this paper we propose the shifting of these memory-hierarchy-related concerns to the run-time system, which then takes on the responsibility of distributing the computation's data across the target memory hierarchy. We evaluate our approach from a performance perspective, comparing it against the common cache-neglectful data decomposition strategy.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsParallel Computing and Optimization Techniques · Cloud Computing and Resource Management · Advanced Data Storage Technologies
