论文阅读——SSD In-Storage Computing for List Intersection

SSD In-Storage Computing for List Intersection
求列表交集的SSD存内计算实现
SMART SSD相关
本文主要聚焦于研究智能SSD在搜索引擎领域的应用。搜索引擎公司提供信息搜索服务,是一个规模庞大结构复杂的系统,包括许多组件,组件子事件需要协同工作以准确快速响应用户请求。因此需要判断哪些操作是可以offloading到SSD以获得性能的提升。

Abstract

本文认为对I/O通信带宽敏感(I/O intensive)和对数据敏感(data-intensive)的两类操作;而需要高效计算、对CPU计算敏感的操作则不适合offloading到SSD中。
本文分析如何将list intersection任务offloading到SSD中。

Section I Introduction

常规SSD只用来做存储,但有两大限制:
(1)SSD内部带宽非常快,外部接口(SATA/SAS)等限制了数据传输带宽;(2)虽然SSD也配备了ARM核但其计算力经常被忽略,单纯作为存储设备。
Smart SSD:不同于‘move data closer to data’,Smart SSD希望借助SSD本身的处理器实现一些基本运算,再将远小于原先数据量的结果返回给CPU。。这样做有两大好处:一是可以充分利用SSD内部带宽;二是Arm核比CPU拥有更低能耗,适合于数据中心等的。
本文主要聚焦于如何将intersection分解给SSD完成。intersection在搜索引擎中十分重要。也比较适合分解到SSD内部完成,原因是intersection对带宽敏感但对计算要求不高

Section II About Samsung Smart SSD

包含两部分,Smart SSD固件和主机程序。
SSD固件又分为:SSDlet:program,负责逻辑运算和回应主程序,以事件驱动,支持基础的IO读写操作等。基础驱动主要有READ WRITE PUT GET
SSD runtime
和基础固件。
Smart SSD Architecture

Section III Smart SSD系统设计与实现

聚焦于如何将list intersection用smart SSD实现。
当CPU发送数据(如地址,list长度),Smart SSD
(1)从flash把数据读到DRAM,如果放不下考虑增加DRAM或切片,并且DRAM上有固定的256Kb的空间作为core memory,所有从flash读到的数据先存到这里然后放到更大的DRAM区域
(2)SSD执行list intersection
(3)计算结果放到输出缓存上发挥CPU端
求交集的算法:SvS algrithm,遍历L1中的元素看L2是否有(membership checking),但列表较短时线性搜索更快,我们两个都实现了最终展示结果最快的那个。

Section IV实验分析

主要对比耗能和求intersection的性能。
将整个Smart SSD处理流程分为4步:
Load data
Memory Copy
Do intersection
Send results
Step 1 Load Data
加载数据的时间 = 总数据量/传输带宽 常规SSD是Smart SSD的3倍,也显示出SSD internal bandwitdh的优越性
Step 2 Memory Copy是Smart SSD独有的
Step 3执行intersection求交集 与搜索的字长和执行的指令数,这一部分Smart SSD比不过CPU,因为访问存储的时延和时钟频率限制了。也能看出intersection是计算简单类型的指令因此主要限制因素是存储访问次数而不是处理速度,也希望Step 1能弥补一些。
Step 4SendingResults to Host
也是Smart SSD 独有的,可以吧数据移动降为原来的1/k

Section V 实验

CPU Intel i7 3.4GHz
via 550 MB/s SAS
400GB SLC SSB
internal bandwidth:1.5GB/s
Embeded Arm :Cortex-R4 400MHz
测试了Entry size,List Size Ratio,Intersection Ratio的影响
Entry Size:s是bottleneck 会显著影响memcpy部分的时间
List Size Ratio:L1/L2长度比0-100还是线性搜索,100-1000用SvS所以借助于data skipping可有限减少load data的时间
Intersection Ratio:L1 L2的交集比例也会增加送回CPU的时间。

Summary

影响List Intersection的Smart SSD主要因素有:
SSD 内部带宽
输入的EntrySize
List Size Ratio
Intersection Size

这篇算是最近能看的明白一点点的 继续找Smart SSD系列的进行阅读。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值