Skip to main content
QUICK REVIEW

[Paper Review] Past, Present and Future of Computational Storage: A Survey

Corne Lukken, Animesh Trivedi|arXiv (Cornell University)|Dec 13, 2021
Advanced Data Storage Technologies4 citations
TL;DR

This paper proposes a broadly applicable prototype for Computational Storage Devices (CSDs) using Zoned Namespace (ZNS) SSDs emulated in QEMU, leveraging the NVMe Zoned Namespace command set to enable research on host-device semantic alignment and access control. The key contribution is a functional, open-source prototype demonstrating how ZNS SSDs can reduce the semantic gap between host and device, with full development and debugging support via CMake.

ABSTRACT

We live in a data-centric world where we are heading to generate close to 200 Zettabytes of data by the year 2025. Our data processing requirements have also increased as we push to build data processing frameworks that can process large volumes of data in a short duration, a few milli- and even micro-seconds. In the prevalent computer systems designs, data is stored passively in storage devices which is brought in for processing and then the results are written out. As the volume of data explodes this constant data movement has led to a "data movement wall" which hinders further process and optimizations in data processing systems designs. One promising alternative to this architecture is to push computation to the data (instead of the other way around), and design a computational-storage device or CSD. The idea of CSD is not new and can trace its root to the pioneering work done in the 1970s and 1990s. More recently, with the emergence of non-volatile memory (NVM) storage in the mainstream computing (e.g., NAND flash and Optane), the idea has again gained a lot of traction with multiple academic and commercial prototypes being available now. In this brief survey we present a systematic analysis of work done in the area of computation storage and present future directions.

Motivation & Objective

  • To investigate the feasibility of using ZNS SSDs as Computational Storage Devices (CSDs) for research.
  • To address the lack of physical ZNS SSD availability by enabling emulation in QEMU.
  • To build a broadly applicable, open-source prototype for CSD research using existing technologies.
  • To reduce the semantic gap between host and device through ZNS's zone-level abstractions.
  • To explore safety guarantees via zone-level Access Control Lists (ACLs) in CSD workloads.

Proposed method

  • Utilize QEMU's existing support for the NVMe Zoned Namespace (ZNS) command set to emulate ZNS SSDs.
  • Design a CSD prototype that exposes computational capabilities at the storage device level using ZNS's zone-based structure.
  • Implement the prototype using CMake for build configuration and development workflow.
  • Leverage existing open-source tools and libraries to minimize custom development and ensure portability.
  • Integrate host-side software to interact with ZNS zones, enabling data processing at the device level.
  • Document the full stack, including dependencies, configuration, and debugging procedures, for reproducibility.

Experimental results

Research questions

  • RQ1Can ZNS SSDs in QEMU emulate a viable platform for Computational Storage Device (CSD) research despite the absence of physical hardware?
  • RQ2How does the ZNS abstraction reduce the semantic gap between host applications and storage device internals?
  • RQ3What are the practical limitations of using QEMU-emulated ZNS SSDs for CSD prototyping?
  • RQ4How can zone-level Access Control Lists (ACLs) be effectively modeled and enforced in a CSD architecture?
  • RQ5What are the key design trade-offs in building a broadly applicable CSD prototype using only existing, stable technologies?

Key findings

  • A fully functional, open-source CSD prototype was successfully implemented using QEMU-emulated ZNS SSDs, enabling research without physical hardware.
  • The NVMe Zoned Namespace command set is natively supported in QEMU, allowing accurate emulation of ZNS SSD behavior.
  • The prototype demonstrates that ZNS's zone-level abstraction reduces the semantic gap between host and device, enabling more predictable data processing.
  • Zone-level ACLs can be effectively modeled and enforced, offering potential for fine-grained security in CSD workloads.
  • The use of CMake and existing tooling enabled a maintainable, reproducible, and extensible development environment for the prototype.
  • The prototype serves as a foundation for future research on computational storage, with documented design decisions and alternative technology evaluations.

Better researchstarts right now

From reading papers to final review, dramatically reduce your research time.

No credit card · Free plan available

This review was created by AI and reviewed by human editors.