DeepAI AI Chat
Log In Sign Up

A Moveable Beast: Partitioning Data and Compute for Computational Storage

by   Aldrin Montana, et al.
University of California Santa Cruz

Over the years, hardware trends have introduced various heterogeneous compute units while also bringing network and storage bandwidths within an order of magnitude of memory subsystems. In response, developers have used increasingly exotic solutions to extract more performance from hardware; typically relying on static, design-time partitioning of their programs which cannot keep pace with storage systems that are layering compute units throughout deepening hierarchies of storage devices. We argue that dynamic, just-in-time partitioning of computation offers a solution for emerging data-intensive systems to overcome ever-growing data sizes in the face of stalled CPU performance and memory bandwidth. In this paper, we describe our prototype computational storage system (CSS), Skytether, that adopts a database perspective to utilize computational storage drives (CSDs). We also present MSG Express, a data management system for single-cell gene expression data that sits on top of Skytether. We discuss four design principles that guide the design of our CSS: support scientific applications; maximize utilization of storage, network, and memory bandwidth; minimize data movement; and enable flexible program execution on autonomous CSDs. Skytether is designed for the extra layer of indirection that CSDs introduce to a storage system, using decomposable queries to take a new approach to computational storage that has been imagined but not yet explored. In this paper, we evaluate: partition strategies, the overhead of function execution, and the performance of selection and projection. We expected  3-4x performance slowdown on the CSDs compared to a consumer-grade client CPU but we observe an unexpected slowdown of  15x, however, our evaluation results help us set anchor points in the design space for developing a cost model for decomposable queries and partitioning data across many CSDs.


Towards an Arrow-native Storage System

With the ever-increasing dataset sizes, several file formats like Parque...

Skyhook: Towards an Arrow-Native Storage System

With the ever-increasing dataset sizes, several file formats such as Par...

Sesquickselect: One and a half pivots for cache-efficient selection

Because of unmatched improvements in CPU performance, memory transfers h...

Managed Network Services for Exascale Data Movement Across Large Global Scientific Collaborations

Unique scientific instruments designed and operated by large global coll...

A Cross-Layer Solution in Scientific Workflow System for Tackling Data Movement Challenge

Scientific applications in HPC environment are more com-plex and more da...

Partitioning Compute Units in CNN Acceleration for Statistical Memory Traffic Shaping

The design complexity of CNNs has been steadily increasing to improve ac...

DaeMon: Architectural Support for Efficient Data Movement in Disaggregated Systems

Resource disaggregation offers a cost effective solution to resource sca...