英伟达要“甩开”CPU
BaM:一种能达到细粒度,高吞吐率的GPU编排的内存访问方法
摘要
加速器类似于图像处理单元(GPU)已经越来越多地用在现代的数据中心,因为他们拥有高计算能力和高带宽。传统来说这些加速器依赖于“主应用代码”和运行在CPU上的操作系统来控制他们对存储设备的访问。CPU控制GPU对存储设备的访问在典型的GPU应用上都有比较出色的表现,比如稠密的神经网络训练,其中数据访问的模板预定义的很好,有规律的,而且稠密,独立于数据值,能使CPU把存储数据粗粒化,并且能使存储数据访问和与加速器的数据交互有效协同。不幸的是,这种以CPU为中心的策略导致了CPU-GPU过度的同步,并且IO阻塞恶化,减少了需要细粒度的存储访问模板的新兴中的访存带宽,例如图和数据分析,推荐系统,图神经网络。在我们的工作中,我们提出了一种能达到细粒度,高吞吐率的GPU内存访问方法来访问NVMe固态存储硬盘(SSDs)通过一个新的叫BaM的系统结构。BaM缓和了IO阻塞恶化通过使用GPU线程来读或者写少量的需要计算的数据。
我们展示了(1)运行在GPU上的BaM基础软件可以识别并细粒度,高效率地对底层存储设备进行访问。(2)即使是消费级地SSD,BaM系统和贵很多的只用DRAM地方案相比也可以支持应用性能。(3)减少的IO阻塞可以带来更大的性能收益。这些结果是通过引入高吞吐率的GPU数据结构类似碎裂和软件缓存来实现GPU中大量的进程级并行来解决SSDs访问的长延迟。我们已经简历了一个BaM系统原型并且在一些应用和数据集上面使用不同的SSD类型估算了它的性能。和最先进的解决方案相比,BaM原型提供了平均的0.92x和1.72x端到端加速倍数,载荷为BFS和CC图分析,使用了4个Intel Optane SSD硬盘和高达4.9倍的数据分析负载,使用了一个Optane SSD。
简 介
背景和动机
A.CPU为中心的访存途径中的软件开销
B.一个具体的I/O扩大的例子
C.延迟,吞吐率,队列深度和并发性
D.NVMe队列
BaM系统和结构
A.BaM系统概览
B.和以CPU为中心的设计的比较
C.I/O栈
1)启用直接的从GPU线程访问NVMe的机制
2)高吞吐量的I/O队列
D.BaM软件缓存
E.BaM抽象和软件API
F.BaM原型系统的设计
评 估
BaM 可以生成足够的 I/O 请求以使底层存储系统饱和(详见IV-A)。 即使仅有一个SSD,BaM的性能也可以达到活超越最优秀的解决方案(详见IV-B和IV-C)。 BaM 设计与所使用的 SSD 存储介质无关,可实现特定于应用的经济高效的解决方案。 BaM 显着降低了数据分析工作负载的I/O扩大和CPU控制开销(详见IV-C)。 BaM 性能随着 SSD 的添加而扩展。
A.使用微基准测量的BaM的原始吞吐量
B.图分析中的性能收益
在 BaM 中运行的工作负载可以生成足够的 I/O 请求以使驱动器的吞吐量饱和. 4K 的粒度在某些图中利用了大型邻接列表的空间局部性,并且为较小的邻接列表传输的额外字节不会降低性能,因为 PCIe 带宽没有过饱和。 BaM 的细粒度访问减少了 I/O 放大,从而提高了有效带宽。
C.数据分析中的I/O扩大收益
相关工作
A.优化的以CPU为中心的模型
B.以加速器为中心的模型的先前尝试
C.硬件扩展
结论
致谢:感谢电子科技大学黄乐天老师与研究生邓昊瑀同学在翻译和校正中提供的帮助。
★ 本文原文发表在Arxiv,点击文末【阅读原文】,可查看本文原文链接!
*免责声明:本文由作者原创。文章内容系作者个人观点,半导体行业观察转载仅为了传达一种不同的观点,不代表半导体行业观察对该观点赞同或支持,如果有任何异议,欢迎联系半导体行业观察。
今天是《半导体行业观察》为您分享的第2987内容,欢迎关注。
推荐阅读
半导体行业观察
『半导体第一垂直媒体』
实时 专业 原创 深度
识别二维码,回复下方关键词,阅读更多
晶圆|集成电路|设备|汽车芯片|存储|台积电|AI|封装
回复 投稿,看《如何成为“半导体行业观察”的一员 》
回复 搜索,还能轻松找到其他你感兴趣的文章!
点击阅读原文,可查看本文原文链接!