Architecture-Aware Currying

In near-data computing (NDC), computation is brought into data, as opposed to bringing data to computation. While there is prior work focusing on different NDC opportunities, there is no study, to our knowledge, that investigates the importance of "neighborhood" in NDC. This paper explores...

Full description

Saved in:
Bibliographic Details
Published in:2023 32nd International Conference on Parallel Architectures and Compilation Techniques (PACT) pp. 250 - 264
Main Authors: Kandemir, Mahmut Taylan, Akbulut, Gulsum Gudukbay, Choi, Wonil, Karakoy, Mustafa
Format: Conference Proceeding
Language:English
Published: IEEE 21.10.2023
Subjects:
Online Access:Get full text
Tags: Add Tag
No Tags, Be the first to tag this record!
Description
Summary:In near-data computing (NDC), computation is brought into data, as opposed to bringing data to computation. While there is prior work focusing on different NDC opportunities, there is no study, to our knowledge, that investigates the importance of "neighborhood" in NDC. This paper explores the neighborhood concept in multithreaded programs that run on on-chip network-based manycore systems. We define the concept of "neighborhood", in terms of on-chip network links, and use it to formulate the NDC problem. We propose a "generic" compiler algorithm, called "architecture-aware currying", that uses the neighborhood concept to implement NDC. So, a core can perform some portions of computation with the nearby data and postpone the remainder of the computation until the remaining data become nearby. It can also perform computations - with nearby data - on behalf of other cores. Our experimental evaluation shows that the proposed compiler algorithm outperforms state-of-the-art data locality optimization strategies.
DOI:10.1109/PACT58117.2023.00029