学习理财博客空间

理财鱼

您现在的位置是:理财鱼 > 理财方法 >

理财方法

英伟达要「甩开」CPU(2)

发布时间:2022-03-22 13:32理财方法 评论

在我们已经拥有的认知中,BaM是第一个加速器中心的模型,GPU可以独立地识别和完成数据访存请求不管它是储存在内存或者存储设备中,不依赖于CPU的控制。当传统的庞大而单调的服务器架构在用户级别对于存储设备队列的实现出现安全问题时,最近数据中心开始转向零新人的安全模型,并且NiC/DPU进行的安全相关性检查也为加速器为中心的访存模型,比如BaM,提供了新的框架。

我们已经通过现成的硬件组件简历了一个BaM原型系统。采用多种不同类型的工作负载,多种数据集对BaM原型系统进行评价,展示了BaM能与最优秀的解决方案达到相同水平,或是略慢一点,甚至是更加出色。

总结一下,我们主要做出了以下这几点贡献:

1.提出了BaM,一个以加速器为中心的架构,GPU线程能细粒度,按需访存,不管它是存储在内存或者其他存储设备中。

2.允许按需的,高吞吐量的细粒度访存请求,通过高并行的I/O队列实现

3.为程序员提供高吞吐量,低延迟的缓存和软件API,来利用局部性并且控制它们应用中的数据搬运。

4.对于成本敏感性的内存容量可变的加速器,提出和评估了一种经过概念验证的设计。

我们计划开源硬件和软件优化的细节,来使任何人都能建立BaM系统。

背景和动机

A.CPU为中心的访存途径中的软件开销

这个部分展示了对于BaM模型背景信息的重要评估数据,来使得读者更好地理解BaM系统中的关键点。

按需的访存请求可以分为两种类型a)隐式和间接的 b)显式和直接的。隐式和间接的访存途径在CPU为中心的模型中可以采用扩展CPU内存映射的文件抽象到GPU线程中的方式实现。NVIDIA Pascal架构中,GPU驱动和编程模型允许GPU线程来隐式地访问大型的虚拟内存对象,这些可能会部分分布于主存中,采用了通用虚拟内存抽象(UVM)。之前的工作展示了UVM驱动可以被扩展成连接文件系统的接口来访问存储,当一个页面是一个内存映射的文件中的一部分,并且它在GPU内存和主存中缺失。

这个方法的主要优点是所有的访存操作都是简单的访存操作,可以在GPU的内存带宽上进行访问只要页和待访问的数据存储在GPU的内存。然而,这个反应的途径在虚拟地址转换和缺页处理时,当待访问的数据不在GPU内存中并且它需要被从外部存储调入GPU内存中时会引起软件开销。因此,我们可以看到对于UVM实现来说最大化的页传输吞吐量会成为基于虚拟地址转换和缺页处理的按需访存请求的上界。

图1.跨不同数据集的 BFS 图遍历应用程序的 UVM 页面错误开销

图1中的每一条都展示了完成的主存到GPU内存的数据传输带宽对于UVM缺页请求在英伟达A100 GPU,PCIe Gen4系统中执行BFS图遍历在5个不同的数据集上(参见表4),边列表在UVM地址空间中,初始化在主存中,根据图1,UVM缺页机制完成的PCIe带宽约为14.52GBps,它只有测量的PCIe Gen4带宽26.3GBps的55.2%。从资料手机的数据来看,在我们的实验中最大的缺页处理速率达到了约500K IOP。从表3中可以看出,500K IOP只有Samsung 980proSSD的一半完全吞吐量,并且比Intel Optane SSD的完全吞吐量少10%。再则,UVM缺页处理器的IOP由于几种因素被限制,其中包括有限数量的可使用资源来处理TLB确实以及串行驱动器的实现。在我们的实验中,我们发现主CPU上的UVM缺页处理在进行图遍历性能测试的时候100%执行了。

由于存在这些限制,即使我们通过集成系统层到UVM驱动的方式构建了一个假定的系统,并且假设它没有附加的开销,对于当前的UVM实现来在一个相当的高速率来做到对SSD的细粒度的完全使用依旧是不可能的。因此,BaM采用了软件缓存和高吞吐率的用户级别的NVMe队列来避免TLB和缺页处理的性能瓶颈,并且提供显式和直接的存储访问方式。

B.一个具体的I/O扩大的例子

一个以CPU为中心的处理缺页请求的途径要求程序员来对数据进行分块并且编写CPU的代码来根据各个计算的阶段来控制数据搬运。尽管这种以CPU为中心的模型在一些经典的具有很好的预定义,有规律和稠密的访存模板的GPU应用中有较好的工作情况,但当它被应用到我们的目标程序例如数据分析上面时就会出现问题。用于同步的执行时间开销和CPU的控制迫使开发者采用粗粒度的数据传输,它会加剧I/O扩大的恶化。

把在纽约出租车数据集上执行分析问题作为一个例子。假设我们进行提问:问题1:从Williamsburg开始的平均旅行距离是多少?这个问题要求扫描整个数据集中的pickup_gid列来找到符合从Williamsburg出发的条件的项目。然后那些旅程中的trip_dist值需要被加起来来产生问题的答案。然而,由于对trip_dist列的访问和pickup_gid列的访问是独立的,在CPU为中心的模型中,CPU不能决定哪个trip_dist值是被要求的。所以,为了增强存储带宽,目前最优秀的GPU加速数据分析的框架,文献中的RAPIDS,会从GPU的存储中抓取这两列中的所有的行。因为只有901k从Williamburg出发的旅途和因此只有0.05%的第二列数据会被使用。上述问题导致RAPIDS在这个问题上引起了6.34倍的I/O扩大。

如果把问题改成:问题1:从Williamsburg开始的旅行的平均总花费是多少?那么有三列会被访问到:pickup_id,trip_dist和total_amt。为了这个提问,RAPIDS导致了10.36倍的I/O扩大由于它传输了两个完全数据独立的列,trip_dist和total_amt到GPU的内存中。这个提问可以扩展为回答一些更加感兴趣的问题通过增加数据独立的指标,比如附加费(问题3),打车费(问题4),通行费(问题5)和税费(问题6),但是完成这些会导致CPU为中心的模型中的严重的I/O扩大,如图2中所示,在BaM的这些细粒度的,按需的访存能力能缓解这些I/O扩大的问题。

图2.使用最先进的 RAPIDS系统对 GPU 加速的数据分析应用程序中的I/O扩大现象

C.延迟,吞吐率,队列深度和并发性

高吞吐量的访存系统的设计都要基本地遵循Little定律:。T是目标地吞吐量,例如期望的每秒的访存数,L是平均延迟,例如从开始到完成每个访存的秒数,Qd是需要在一段时间内支撑目标吞吐量的最小队列深度。

共8页: 上一页下一页

>相关《英伟达要「甩开」CPU(2)》内容:


1、 英伟达收购失败后,ARM计划裁员15%,主要集中在英美两国

理财鱼小提示:英伟达收购失败后,ARM计划裁员15%,主要集中在英美两国 据BBC新闻报道,继美国英伟达(Nvidia)收购失败后,软银集团(SoftBank Group)旗下安谋(ARM)计划裁员15%。 总部位于英国的安谋在全球约有6400名员工。据报道,裁员将主要集中在英国和...【继续阅读】


2、 英伟达退出并购交易后 Arm计划将其六千员工裁减一千

在英伟达斥资400亿美元收购交易失败后,英国芯片设计商Arm计划裁减多达1000个工作岗位,占其员工总数的15%。 Arm发言人周二告诉媒体,“像任何企业一样,Arm正在不断审查其业务计划,以确保公司在机会和成本之间取得适当的平衡。不幸的是,其中就包括在全...【继续阅读】


3、 英伟达新款 MX550 测试出炉:R7 6800H 核显水平

今天,数码博主 " 金猪升级包 " 放出了英伟达新款 MX550 2GB 独显的测试数据。 跑分方面,MX550 在 3DMark FireStrike 上得分 6058 分,不及 R7 6800H 核显的 7573 分。 在游戏实测中,MX550 在《战争机器战略版》《全面战争 传奇特洛伊》《F1 2018》《CS...【继续阅读】