Solid-state drives (SSDs) are well suited for near-data processing (NDP) because they: (1) store large application datasets, and (2) support three NDP paradigms: in-storage processing (ISP), processing using DRAM in the SSD (PuD-SSD), and in-flash processing (IFP). A large body of prior SSD-based NDP techniques operate in isolation, mapping computations to only one or two NDP paradigms (i.e., ISP, PuD-SSD, or IFP) within the SSD. These techniques (1) are tailored to specific workloads or kernels, (2) do not exploit the full computational potential of an SSD, and (3) lack programmer-transparency. While several prior works propose techniques to partition computation between the host and near-memory accelerators, adapting these techniques to SSDs has limited benefits because they (1) ignore the heterogeneity of the SSD resources, and (2) make offloading decisions based on limited factors such as bandwidth utilization, or data movement cost. We propose Conduit, a general-purpose, programmer-transparent NDP framework for SSDs that leverages multiple SSD computation resources. At compile time, Conduit executes a custom compiler (e.g., LLVM) pass that (i) vectorizes suitable application code segments into SIMD operations that align with the SSD's page layout, and (ii) embeds metadata (e.g., operation type, operand sizes) into the vectorized instructions to guide runtime offloading decisions. At runtime, within the SSD, Conduit performs instruction-granularity offloading by evaluating six key features, and uses a cost function to select the most suitable SSD resource. We evaluate Conduit and two prior NDP offloading techniques using an in-house event-driven SSD simulator on six data-intensive workloads. Conduit outperforms the best-performing prior offloading policy by 1.8x and reduces energy consumption by 46%.


翻译:固态硬盘(SSD)非常适合进行近数据处理(NDP),原因在于:(1)其存储大量应用数据集;(2)支持三种NDP范式:存储内处理(ISP)、利用SSD中DRAM的处理(PuD-SSD)以及闪存内处理(IFP)。现有大量基于SSD的NDP技术独立运行,仅将计算映射到SSD中的一种或两种NDP范式(即ISP、PuD-SSD或IFP)。这些技术(1)针对特定工作负载或计算内核定制;(2)未能充分利用SSD的全部计算潜力;(3)缺乏程序员透明性。虽然已有若干研究提出在主机与近内存加速器之间划分计算的技术,但这些技术适配SSD的收益有限,因为它们(1)忽视了SSD资源的异构性;(2)仅基于带宽利用率或数据移动成本等有限因素做出卸载决策。我们提出Conduit,一个面向SSD的通用、程序员透明的NDP框架,可充分利用SSD的多种计算资源。在编译时,Conduit执行自定义编译器(如LLVM)传递,该传递(i)将适用的应用程序代码段向量化为与SSD页面布局对齐的SIMD操作;(ii)在向量化指令中嵌入元数据(如操作类型、操作数大小)以指导运行时卸载决策。在运行时,Conduit在SSD内部通过评估六个关键特征进行指令粒度卸载,并利用成本函数选择最合适的SSD资源。我们使用自主研发的事件驱动型SSD模拟器,在六种数据密集型工作负载上评估Conduit及两种先前的NDP卸载技术。Conduit的性能表现优于先前最佳卸载策略1.8倍,同时降低能耗46%。

0
下载
关闭预览

相关内容

SSD算法,其英文全名是Single Shot MultiBox Detector,Single shot指明了SSD算法属于one-stage方法,MultiBox指明了SSD是多框预测。
数据受限条件下的多模态处理技术综述
专知会员服务
93+阅读 · 2022年7月16日
Python分布式计算,171页pdf,Distributed Computing with Python
专知会员服务
108+阅读 · 2020年5月3日
数据受限条件下的多模态处理技术综述
专知
22+阅读 · 2022年7月16日
盘点来自工业界的GPU共享方案
计算机视觉life
12+阅读 · 2021年9月2日
【综述论文】2020年最新深度学习自然语言处理进展综述论文!!!
深度学习自然语言处理
13+阅读 · 2020年4月6日
深度学习中Attention Mechanism详细介绍:原理、分类及应用
深度学习与NLP
10+阅读 · 2019年2月18日
国家自然科学基金
1+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
8+阅读 · 2015年12月31日
国家自然科学基金
1+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
1+阅读 · 2014年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
VIP会员
相关基金
国家自然科学基金
1+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
8+阅读 · 2015年12月31日
国家自然科学基金
1+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
1+阅读 · 2014年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
Top
微信扫码咨询专知VIP会员