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.
翻译:多年来,硬件趋势引入了各种不同的计算单位,同时将网络和存储带宽带宽带宽带宽带宽带宽带宽带宽带宽带宽带宽带宽带宽带宽到记忆子子系统的规模上。作为回应,开发者使用越来越奇异的解决方案从硬件中获取更多性能;通常依靠静态、设计-时间分割程序,而这种程序无法与存储系统相适应,而存储系统正在不断深化存储装置的等级分层中将计算单位进行分层计算。我们争论说,动态的、即时的计算分割为新兴数据密集系统提供了一个解决方案,以克服数据密集化系统在存储功能和记忆带宽中不断增长的数据规模。我们描述了我们的原型计算存储系统(CSkytether),Skytether系统采用了数据库视角来利用计算存储驱动器驱动器进行计算;我们还介绍了单细胞基因显示数据的数据管理系统的数据管理系统,在Skytether上,我们用Skydeal 进行一个可理解的存储功能分析,而我们又用一个可理解的存储系统进行预估测的计算。