- 1、本文档共14页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
01
背景介绍
本文首先分析了单个可路由PCIe路径的通信特性,并与本地PCIe链路进行了比较。接着利用rPCIeBench剖析了在可路由PCIe结构内部的流量编排行为,并得出了几个关键的发现。基于这些见解,研究者开发了一个边缘约束放宽算法,用于准确预测在共享的可路由PCIe结构上每个PCIe流的通信性能。最后,通过不同的实验设置验证了算法的准确性,并展示了其在设计高效流调度器方面的潜力。
02
引言
最近,可组合基础设施——将计算、内存和存储组织为弹性资源池——越来越受到关注。通过新兴的集群互连技术,在这样的平台上运行的应用程序可以本地访问分散的硬件资源,根据工作负载需求进行自适应扩展,并与同位置的租户实现细粒度共享,从而实现独立的扩展能力、高设备利用率和成本效率的提高。
已经看到了许多早期的工程样本和商业原型,如GigaIO的FabreX、Liqid的SmartStack、H3的Falcon、Groq的GroqRack和Enfabria的ACF。PCIe(外围组件互连快速)是高性能主机内通信的事实标准互连。通过引入一种特殊的非透明桥接(NTB)设备,可以扩展PCIe总线树,并促进来自不同交换域的PCIe设备之间的通信,从而实现主机间PCIe事务或可路由PCIe。
这些技术为当今许多可组合基础设施奠定了基础。更重要的是,可路由PCIe还作为新兴内存结构(如CXL)的基础。然而业界对可路由PCIe的能力和限制的系统理解,因此迫切需要对可路由PCIe结构进行量化来准确的回答这些问题。
03
rPCIeBench框架
rPCIeBench由三个组件组成(图1-b),分布在主机服务器和远程设备上。第一个是编程API,允许开发人员实现和部署任意测试场景。用户指定基准测试服务器和目标设备,初始化系统环境,并配置数据移动模式和属性。第二部分是主机运行时和驱动程序,负责制造和提交PCIe请求,与底层PCIe子系统和主机适配器交互,处理事务完成,并进行性能分析。最后一块是FPGA加速器中的位流。位流设置FPGA执行环境,接收数据传输请求,通过可路由PCIe结构上的DMA引擎实例化一系列数据传输,读取写入内存目标,并发出返回信号。
??
3.1系统API
rPCIeBench提供了三种类型的API。第一种用于初始化远程FPGA的执行环境,配置设备内存,并设置主机-设备地址映射。第二类允许设备端内存管理,以便可以为数据传输指定内存位置的源和目的地。最后一类提供通用通信原语,通过MMIO(内存映射IO)或DMA引擎实现主机-设备和设备-设备数据移动。
3.2软件组件
rPCIeBench使用三个软件子系统(图1-b)对可路由PCIe结构进行基准测试和特性化。
-性能分析器:跟踪一个PCIe事务的整个生命周期,从基准测试应用程序提交请求直到接收完成信号。实用程序在纳秒精度上标记了事务排队时间(第1阶段)、数据在结构上传输的时间(第2阶段)以及远程加速器上的命令执行(第3阶段)。使用轮询来提高系统分析的准确性。
3.3命令数据路径
rPCIeBench支持三种类型的通信原语(表1)。第一类是主机处理器发出的MMIO读写,它只生成一个PCIe读写事务来访问设备内存。第二类是主机-设备数据移动。
如图2-ab所示,它包括四个步骤:(a)通过MMIO写传递命令参数,(b)在主机和设备之间移动数据,(c)读写HBM,以及(d)通过另一个PCIe写入发出完成信号,总共产生1个MMIO写入和2个PCIe传输(这将根据命令大小转换为多个PCIe事务)。最后一种是设备-设备通信(图2-cd),其操作类似于主机-设备情况。
04
可路由PCIe的基本性能
本节检查可路由PCIe的性能特性,并将其与本地PCIe情况进行比较。
4.1实验方法
硬件测试平台。主机服务器是2UDellR740机箱,内含两颗20核IntelXeonGold6248处理器(运行在2.5GHz),192GBDRAM,以及1.92TBHDD。禁用了超线程和TurboBoost功能。服务器的所有PCIe通道都是Gen3。使用XilinxAlveoU55C卡(×16)作为主要的连接到结构的设备。如上所述,选择GigaIO的Farbex作为可路由PCIe基础的可组合测试平台。它的RS4024交换机有24个端口,每个端口连接到一个PCIeGen3×4链路。
实验配置。本节重点关注单个通信路径。在可组合测试平台中,有三种类型的通信路径:主机到设备(H2D)、设备到主机(D2H)和设备到设备(D2D)。为每种路径设置环境,并使用rPCIeBench的通信原语进行流量生成。通过改变突出的PCIe流的数量、每个流的每个数据包大小和其突发性来改变流量配置文件。rPCIeBench
文档评论(0)