O ( n ) Key–value Sort with Active Compute Memory

Pouya Esmaili-Dokht,Miquel Guiot,Petar Radojković,Xavier Martorell,Eduard Ayguadé,Jesus Labarta,Jason Adlard,Paolo Amato,Marco Sforzin
DOI: https://doi.org/10.1109/tc.2024.3371773
IF: 3.183
2024-01-01
IEEE Transactions on Computers
Abstract:We propose the Active Compute Memory (ACM), a near-memory-processing architecture capable of performing key–value sort directly in the DRAM. In the ACM architecture, sort is merely the writing of data into memory with one addressing protocol (perspective) and reading it back with different perspective. The first perspective is conventional, based on the data address; the second perspective is the sorted order. The ACM requires additional tables to store the meta-data and moderate control logic enhancements that can be implemented directly in the DRAM silicon. By these modest enhancements to DRAM, ACM exploits the parallelism inherently available in the row buffer to enable sort with $O(n)$O(n) complexity. This leads to an order of magnitude improvement in ACM performance and energy compared to conventional $O(n\log{}n)$O(nlog⁡n) CPU-centric sort algorithms. The ACM also shows superior performance compared to other near-memory sort accelerators. This is because the ACM processing is done near the row buffer and it exploits much lower memory access latency, higher bandwidth and wider parallel processing. The sort operation covered in this paper is just an example of an address management operation that can be efficiently implemented directly in the DRAM silicon. We release as an open source the simulation infrastructure for the ACM performance and energy modeling. We would encourage the community to use it, adapt it to other PIM proposals, and share their own evaluations.
engineering, electrical & electronic,computer science, hardware & architecture
What problem does this paper attempt to address?