CS-Assist: A Tool to Assist Computational Storage Device Offload

Appeared in 15TH ANNUAL NON-VOLATILE MEMORIES WORKSHOP 2024.

Abstract

The exponential growth of data has made data movement an obvious target of performance and power optimization for data processing applications. This has fueled a growing interest in Computational Storage Devices(CSDs) that can mitigate data movement overhead between host and storage devices in modern data-intensive applications~\cite{barbalace2021computational}. CSDs such as Samsung's SmartSSD enable this capability by integrating a hardware accelerator in every device. With ongoing technological advancements while we get faster ways of interfacing physically to CSDs (PCIe 5 and 6), better ways of interacting with it (via CXL)~\cite{leedatabase}, and better software mechanisms for programming offload~\cite{acharya1998active}, identifying the functions to offload remains the principal, and ever-present technical problem every current and future application of computational storage must address.

Existing methodologies follow an iterative implementation and evaluation cycle, which is slow and cost-prohibitive. We propose a systematic and general methodology for automated application offload analysis to address this issue. In particular, we propose CS-Assist to determine candidate kernels that should be offloaded to CSDs.

Recognizing the distinct nature of CSD's hardware capabilities and its position in system architecture, we first identify essential hardware and kernel characteristics contributing to performance (Section~\ref{sec:cs_device_characteristics}). Then, Section~\ref{sec:csd_overall_workflow} provides an overall workflow to identify candidate kernels for offloading. Section~\ref{sec:csd_initial_eval} shows our initial evaluation of an analytics workload running atop PostgreSQL DB, demonstrating accurate estimations (less than 7\% prediction error) from applying our methodology.

Publication date:
March 2024

Authors:
Lokesh Jaliminche
Yangwook Kang
Changho Choi
Pankaj Mehra
Heiner Litz

Projects:
CXL SIG (Disaggregated Memory)
Computational Storage

Available media

Full paper text: PDF

Bibtex entry

@inproceedings{jaliminche-nvmw24,
  author       = {Lokesh Jaliminche and Yangwook Kang and Changho Choi and Pankaj Mehra and Heiner Litz},
  title        = {{CS}-Assist: A Tool to Assist Computational Storage Device Offload},
  booktitle    = {15TH ANNUAL NON-VOLATILE MEMORIES WORKSHOP 2024},
  month        = mar,
  year         = {2024},
}
Last modified 14 Mar 2024