Bulk bitwise operations are commonplace in application domains such as databases, web search, cryptography, and image processing. The ever-growing volume of data and processing demands of these domains often result in high energy consumption and latency in conventional system architectures, mainly due to data movement between the processing and memory subsystems. Non-volatile memories (NVMs), such as RRAM, PCM and STT-MRAM, facilitate conducting bulk-bitwise logic operations in-memory (CIM). Efficient mapping of complex applications to these CIM-capable NVMs is non-trivial and can even lead to slowdowns. This paper presents Sherlock, a novel mapping and scheduling method for efficient execution of bulk bitwise operations in NVMs. Sherlock collaboratively optimizes for performance and energy consumption and outperforms the state-of-the-art by 10× and 4.6×, respectively.
%0 Conference Paper
%1 farzaneh_dac24
%A Farzaneh, Hamid
%A Lima, João Paulo Cardoso De
%A Khelejani, Ali Nezhadi
%A Khan, Asif Ali
%A Mayahinia, Mahta
%A Tahoori, Mehdi
%A Castrillon, Jeronimo
%B Proceedings of the 61th ACM/IEEE Design Automation Conference (DAC'24)
%C New York, NY, USA
%D 2024
%E IEEE,
%I Association for Computing Machinery
%K compiler computing-in-memory myown
%R 10.1145/3649329.3658485
%T SHERLOCK: Scheduling Efficient and Reliable Bulk Bitwise Operations in NVMs
%U https://doi.org/10.1145/3649329.3658485
%X Bulk bitwise operations are commonplace in application domains such as databases, web search, cryptography, and image processing. The ever-growing volume of data and processing demands of these domains often result in high energy consumption and latency in conventional system architectures, mainly due to data movement between the processing and memory subsystems. Non-volatile memories (NVMs), such as RRAM, PCM and STT-MRAM, facilitate conducting bulk-bitwise logic operations in-memory (CIM). Efficient mapping of complex applications to these CIM-capable NVMs is non-trivial and can even lead to slowdowns. This paper presents Sherlock, a novel mapping and scheduling method for efficient execution of bulk bitwise operations in NVMs. Sherlock collaboratively optimizes for performance and energy consumption and outperforms the state-of-the-art by 10× and 4.6×, respectively.
%@ 9798400706011
@inproceedings{farzaneh_dac24,
abstract = {Bulk bitwise operations are commonplace in application domains such as databases, web search, cryptography, and image processing. The ever-growing volume of data and processing demands of these domains often result in high energy consumption and latency in conventional system architectures, mainly due to data movement between the processing and memory subsystems. Non-volatile memories (NVMs), such as RRAM, PCM and STT-MRAM, facilitate conducting bulk-bitwise logic operations in-memory (CIM). Efficient mapping of complex applications to these CIM-capable NVMs is non-trivial and can even lead to slowdowns. This paper presents Sherlock, a novel mapping and scheduling method for efficient execution of bulk bitwise operations in NVMs. Sherlock collaboratively optimizes for performance and energy consumption and outperforms the state-of-the-art by 10\texttimes{} and 4.6\texttimes{}, respectively.},
added-at = {2025-01-02T10:33:34.000+0100},
address = {New York, NY, USA},
articleno = {293},
author = {Farzaneh, Hamid and Lima, Jo{\~a}o Paulo Cardoso De and Khelejani, Ali Nezhadi and Khan, Asif Ali and Mayahinia, Mahta and Tahoori, Mehdi and Castrillon, Jeronimo},
biburl = {https://puma.scadsai.uni-leipzig.de/bibtex/200ca9ee003da378ca7553b88154ec151/joca354e},
booktitle = {Proceedings of the 61th ACM/IEEE Design Automation Conference (DAC'24)},
doi = {10.1145/3649329.3658485},
editor = {IEEE},
interhash = {ed394d453b5e306d2253a83089a598c3},
intrahash = {00ca9ee003da378ca7553b88154ec151},
isbn = {9798400706011},
keywords = {compiler computing-in-memory myown},
location = {San Francisco, California},
month = jun,
numpages = {6},
publisher = {Association for Computing Machinery},
series = {DAC '24},
timestamp = {2025-01-02T10:33:34.000+0100},
title = {{SHERLOCK}: Scheduling Efficient and Reliable Bulk Bitwise Operations in {NVMs}},
url = {https://doi.org/10.1145/3649329.3658485},
year = 2024
}