Loading [MathJax]/jax/output/SVG/jax.js
  • 中国精品科技期刊
  • CCF推荐A类中文期刊
  • 计算领域高质量科技期刊T1类
高级检索

基于可重构架构的数据中心异构加速软硬件系统级平台

王彦伟, 李仁刚, 徐冉, 刘钧锴

王彦伟, 李仁刚, 徐冉, 刘钧锴. 基于可重构架构的数据中心异构加速软硬件系统级平台[J]. 计算机研究与发展. DOI: 10.7544/issn1000-1239.202440041
引用本文: 王彦伟, 李仁刚, 徐冉, 刘钧锴. 基于可重构架构的数据中心异构加速软硬件系统级平台[J]. 计算机研究与发展. DOI: 10.7544/issn1000-1239.202440041
Wang Yanwei, Li Rengang, Xu Ran, Liu Junkai. Data Center Heterogeneous Acceleration Software-Hardware System-Level Platform Based on Reconfigurable Architecture[J]. Journal of Computer Research and Development. DOI: 10.7544/issn1000-1239.202440041
Citation: Wang Yanwei, Li Rengang, Xu Ran, Liu Junkai. Data Center Heterogeneous Acceleration Software-Hardware System-Level Platform Based on Reconfigurable Architecture[J]. Journal of Computer Research and Development. DOI: 10.7544/issn1000-1239.202440041

基于可重构架构的数据中心异构加速软硬件系统级平台

基金项目: 新一代人工智能国家科技重大专项(2021ZD0113004);山东省自然科学基金资助项目(ZR2023LZH010).
详细信息
    作者简介:

    王彦伟: 1985年生. 博士研究生,副研究员. CCF会员. 主要研究方向为计算机体系结构、异构加速、高性能网络和分布式计算平台

    李仁刚: 1980年生. 博士,正高级工程师. CCF会员. 主要研究方向为计算机体系结构、异构加速、高性能网络、人工智能和高性能计算

    徐冉: 1988年生. 博士. 主要研究方向为计算机体系结构、异构加速和高性能网络

    刘钧锴: 1979年生. 硕士. 主要研究方向为网络数据传输协议、FPGA原型验证

    通讯作者:

    徐冉(xuran03@ieisystem.com

  • 中图分类号: TP303

Data Center Heterogeneous Acceleration Software-Hardware System-Level Platform Based on Reconfigurable Architecture

Funds: This work was supported by the National Science and Technology Major Project (2021ZD0113004) and the Shandong Provincial Natural Science Foundation (ZR2023LZH010).
More Information
    Author Bio:

    Wang Yanwei: born in 1985. PhD, associate researcher. Member of CCF. His main research interests include computer architecture, heterogeneous acceleration, high-performance networks, and distributed computing platforms

    Li Rengang: born in 1980. PhD, senior engineer. Member of CCF. His main research interests include computer architecture, heterogeneous acceleration high-performance networks, artificial intelligence and high performance computing

    Xu Ran: born in 1988. PhD. His main research interests include computer architecture, heterogeneous acceleration and high-performance networks

    Liu Junkai: born in 1977. Master. His main research interests include, network data transmission protocols and FPGA prototype verification

  • 摘要:

    构建数据中心加速服务的软硬件系统级原型平台,需要考虑高计算能力、扩展性、灵活性和低成本等因素. 为了提高数据中心的能力,从软硬件协同的角度研究数据中心异构计算在云平台架构、硬件实现、高速互连和应用等方面的创新,研究设计并构建了一个可重构组合的软硬件加速原型系统,简化了现有以处理器为中心的系统级计算平台构建方法,实现目标软硬件设计的快速部署与系统级原型验证. 针对以上目标,通过解耦的可重构架构设备虚拟化和远程映射等方法,发掘独立计算单元的潜力,构建了一套ISOF(independent system of FPGA(field programmable gate arrays))软硬件计算平台系统,可使其超越普通服务器设计所能提供的能力,实现计算单元低成本高效扩展,使客户端可灵活使用外设资源,并且为满足系统级通信挑战,设计了一套计算单元之间的通信硬件平台和交互机制. 此外,为提升软硬件系统级平台的敏捷性,ISOF提供了灵活统一的调用接口. 最后,通过对平台目标系统级的分析评估,验证了该平台在满足了当下计算与加速需求下,保证了高速、低延时的通信,以及良好的吞吐率和弹性扩容效率,另外在高速通信的基础上改进的拥塞避免和丢包恢复机制,满足了数据中心规模通信的稳定性需求.

    Abstract:

    Constructing a software and hardware system-level prototype platform for accelerating data center services requires the consideration of factors such as high computing power, scalability, flexibility, and low cost. To enhance data center capabilities, research from the perspective of software-hardware synergy has been conducted on the innovation of heterogeneous computing in cloud platform architecture, hardware implementation, high-speed interconnection, and applications. A reconfigurable and combinable software-hardware acceleration prototype system is designed and built to simplify existing processor-centric system-level computing platform construction methods, enabling rapid deployment and system-level prototype validation of target software-hardware designs. To achieve these objectives, methods such as decoupled reconfigurable architecture device virtualization and remote mapping are utilized to uncover the potential of independent computing units. An ISOF (independent system of FPGA) software-hardware computing platform system is constructed to surpass the capabilities of conventional server designs, enabling low-cost and efficient expansion of computing units while allowing clients to flexibly utilize peripheral resources. To address system-level communication challenges, a communication hardware platform and interaction mechanism between computing units are designed. Additionally, to enhance the agility of the software-hardware system-level platform, ISOF provides a flexible and unified invocation interface. Finally, through the analysis and evaluation of the system-level objectives of the platform, it has been verified that the platform meets the current computing and acceleration requirements, ensuring high-speed, low-latency communication, as well as good throughput and efficient elastic scalability. In addition, improvements have been made in congestion avoidance and packet recovery mechanisms based on high-speed communication, meeting the stability requirements of communication at data center scale.

  • 海量数据涌现时代,数据中心作为承载存储、计算和数据分析等方面的基础设施,对系统能力的需求不断增长. 但是随着摩尔定律的消退,传统数据中心中仅由CPU组成的计算架构已经不能满足需求. 领域专用体系架构得到越来越多的关注,以GPU,FPGA(field programmable gate arrays),ASIC(application specific integrated circuit)为代表的领域专用处理器虽然专注于特定应用的执行,但因其执行效果极好,其重要性日益提高. 现在已经形成了以CPU为中心,GPU,FPGA,ASIC等为扩展加速设备所组成的异构计算平台,平台以更高的性能共同应对现有的算力需求[1].

    目前数据中心服务器节点配备越来越多的与CPU紧耦合的高性能异构计算外围设备[2],设备使用附加设备模式与配套服务器构成强依赖关系,每个节点的计算单元设备数量受到服务器限制. 可重构架构已经成为计算和数据密集型领域的加速器,因为它们提供了接近ASIC的能量和面积效率,同时保留了足够的可编程性以降低开发成本[3]. 在可重构架构中FPGA具备特有的灵活性等特征,在性能、可编程及功耗等方面也具备较好的平衡性,除了可以作为硬件量产前的验证平台,FPGA原型作为系统级验证也具备明显优势[4]. 考虑到数据中心和云服务器工作负载的多样性和它们的快速变化速度等,FPGA可以在满足严格能耗需求的情况下,在逻辑层面对计算或者通信在内的各种应用进行加速,而且能够实现高吞吐和可预测的延迟,可在加速应用保持灵活性的同时,保持较高性能,提供有效的时间到价值的转换[5-8].

    因此当今人工智能时代在数字经济潮流的推动下,基于FPGA的研究和应用越来越多,比如基于FPGA开发的开源GPGPU(general purpose GPU)项目Vortex[9],加速Bing搜索的微软Catapult项目[10],以及亚马逊尝试实现基于FPGA云加速的AWS[11]等. 无论是基于FPGA提供底层开源硬件的探索,还是把FPGA应用于数据中心各种网络或者计算等功能的加速,或者将底层可重构硬件资源从计算平台中分离出来,用以实现FPGA云服务的异构计算资源池化等[12],都可以通过采用FPGA加速的形式,把任务卸载到以FPGA为主的扩展硬件资源上. 以上方式的好处在于:一方面,可以释放宝贵的CPU内核资源减少系统负载降低延时;另外一方面,通过将基于软件处理的方式卸载到硬件进行处理,可以大大提高系统性能的同时,还可以打破服务器的固定设计降低扩展成本.

    在面向通信密集及计算密集型等多并发高性能计算场景中,往往需要运行多设备协作大规模应用程序,而以CPU为中心的架构无法有效实现对加速设备的协同调度,而且数据需要经CPU进行处理,也加大了平台整体延时,这就部分抵消了加速单元所带来的效率提升. 比如在金融业务的加速中,部分计算结果并不需要返回给服务器,仅需要返回给请求者,但现有以服务器为中心的模式,远端数据流转路径首先必须将数据传输到运行在其本地CPU上的守护进程,该守护进程将数据传递给远程CPU,然后远程CPU最终将数据写入目标设备,就会存在数据传输路径过长,无法有效满足业务低延迟的需求[13]. 设备的操作需要频繁调用复杂的内核例程,尤其高性能外围设备的密集使用会使主机端的CPU非常繁忙,而且网络数据也需要先经网卡设备到达CPU,经CPU处理后到达各加速设备[13]. 因此服务器的整体性能受到了软件组件的延迟和CPU的负载等方面限制.

    为满足数据中心动态业务处理需求,在构建基础平台架构时,对于可扩展性和灵活性等方面有着至关重要考虑. 但现有平台大多采用把FPGA作为扩展外设集成,通过PCIe(peripheral component interconnect express)将FPGA连接到CPU的单机单设备和单机多设备的绑定模式[2,13]. 这种CPU与计算加速设备强绑定的模式,无法分配独立于CPU数量运行的计算单元负载[12],存在设备扩展和独立性差,远端设备无法灵活使用,业务平台整合移植代价高,系统通信带宽链接不足等一系列弊端[12-13]. 基于当前固定的计算架构,难以满足当前计算平台按需弹性部署及业务快速响应的市场需求,限制了数据中心的灵活扩展能力. 无法满足数据中心工作负载需要高计算能力、扩展性、灵活性、能效和低成本等方面需求.

    为了充分利用FPGA提供的各类外设接口及计算等资源,研究数据中心异构计算在平台架构、硬件实现、高速互连,以及应用和加速的可行性等方面的创新,目标实现灵活独立的算力扩展系统,在此研究中我们以FPGA为可重构载体,实现了一套名为ISOF(independent system of FPGA)的异构计算平台. 该平台突破传统架构限制,通过CPU解耦的架构设计实现机器与设备的分离,使得平台可以超越普通服务器设计所能提供的能力. 并设计新型传输协议实现计算单元间的高速直连通信,在解耦与互连的基础上,构建可组合的、可重构的结构,实现计算平台对远端设备本地映射和使用. 为用户提供网络通信和计算加速服务的全栈解决方案. 其主要创新点及贡献包括如下:

    1) 提出一种CPU解耦的体系结构,探索数据中心以数据为中心的去中心化计算架构,并验证了架构的可行性.

    2) 以FPGA为载体,设计了名为ISOF原型平台,对计算资源进行解耦和重构,突破了设备绑定的模式,可以脱离主机实体进行硬件资源扩展组合,实现了新型异构计算加速平台.

    3) 通过设计高可靠的传输协议,以FPGA为实现载体,构建了可重构的高速网络传输硬件平台,实现了计算单元间稳定可靠的高速连接.

    4) 通过将加速设备抽象为网络节点,使得以FPGA为原型的计算单元可以作为独立实体存在,可实现主机端与FPGA间、FPGA与FPGA间的控制指令传输,以及近、远程数据搬移,应用可通过网络共享可重构的硬件资源,实现计算单元的远程映射、支持计算资源调度等.

    5) 基于所提数据中心异构加速可重构架构实现了ISOF软硬件系统平台,并通过理论分析与实验验证,证明了ISOF的可扩展性和多点应用有效性,以及其在网络和计算加速等方面的优势.

    数据中心计算平台在人工智能计算中发挥着重要的基础支撑作用,需要提供高效计算力、灵活性、高能效和低成本等特性,但是同时改善所有这些因素是具有挑战性的. 为了提高数据中心的能力,使其超越普通服务器设计所能提供的能力,设计新型可组合的、可重构的结构并提供加速服务,对现实需求有着重要的研究意义.

    考虑数据中心服务变化多样性,数据中心硬件加速设计必须高度可管理,这意味着单一的硬件加速设计必须跨服务器使用. 关于数据中心跨硬件协同加速研究有很多,典型的就是以FPGA为基础开发了FPGA加速平台[14],它基于传统FPGA架构利用统一的框架进行数据中心的通用卷积神经网络推理加速,实现了最佳的FPGA峰值性能和吞吐量. 文献[15]旨在通过对多样的FPGA加上CPU异构加速平台检测,确定哪些微架构结构特征会对特定的应用性能产生影响. 而文献[12]提出了一种在异构云数据中心中创建网络FPGA集群的框架,FPGA集群是使用逻辑内核描述和FPGA映射文件创建的,该描述描述了如何连接一组FPGA内核(与这些内核位于哪个FPGA无关). 文献[5]是在现有云基础设施中,在FPGA硬件资源上独辟蹊径,以FPGA资源虚拟化的形式支持细粒度的资源共享,提供软件离线编译和硬件资源动态分配的方式充分利用底层资源. 文献[16]需使用延迟不敏感通信接口来启用多FPGA设备加速. 文献[17]采用将多个应用封装为单个应用,然后将其编译到单个物理FPGA上实现高吞吐. 文献[18]用于高性能并行计算机,FPGA与CPU通过特定的扩展模式耦合,并提供机架级直接FPGA到FPGA通信.

    包括深度神经网络等应用对FPGA之间的通信有很高的要求[6,19]. 百度利用FPGA加速在深度神经网络上取得了相同的性能[20]. 亚马逊以FPGA与虚拟机CPU紧密耦合的方式把FPGA作为资源,期望FPGA像GPU一样为市场提供公有的云加速服务[11]. 一些研究架构[21-23]采用点对点(P2P)连接和外围组件互连PCIe链路等,用于跨多个节点传输数据. 微软的Catapult提出了数据中心中用于Web搜索服务加速和网络加速一种新的云架构,利用FPGA快速特性和主机及其他FPGA交换数据,实现Web搜索应用快速排名,它同样使用了FPGA可重构逻辑来加速网络平面功能和应用,并且同样在FPGA上添加了网络通信功能[10]. 文献[13]提供了全局名称和用于跨各种资源通信的公共接口,具备底层网络自动路由流量和资源管理多路复用等特性.

    与之不同于的是在ISOF研究中,提供了用于设备独立性的软硬件体系,构建了支持灵活可重构的计算服务加速与网络服务加速的软硬件平台系统,借助于独立于网络单元存在的可重构硬件单元,消除了计算单元数量和服务器数量之间的依赖关系,并使应用端通过本地虚拟化和远程映射方式,在数据中心规模上获取本地服务器和远程未使用的计算单元. 另外在设备间直接通信的基础之上,进一步添加了用于通信链路的高效与可靠的通信协议.

    研究提出了一种按需可独立扩展的计算平台架构ISOF,并在此基础上设计了用于高速互连的可重构硬件及通信协议,在保证高速稳定可扩展的同时提供了统一接口支持用户的灵活操作. 本节从平台的设计原则及总体结构设计介绍系统的整体设计思路.

    构建基于异构硬件的计算平台是前所未有的开发领域,由于现有架构和软硬件的限制及灵活可重构的独特要求,给本项研究带来新的挑战. 为充分考虑当前需求,研究设计应遵循原则如下:

    原则1. 平台架构应该不局限于现有硬件体系结构.

    为了满足在数据中心中部署和扩展各种类型的计算单元,直接在数据中心高密度服务器上部署,或者重新设计整个数据中心服务器集群架构,以上这些都是不符合实际的.

    原则2. 需要满足低延时高吞吐.

    设想未来的平台有一个新的体系层次结构,其中本地总线扩展和远端设备扩展比本地设备具备更强扩展能力,比如RDMA(remote direct memory access)和CXL(compute express link)[24]. 由于ISOF是基于总线和网络的,它的合理性能目标首先是匹配先进的总线和网络速度,然后能在此新的体系层次结构中进一步降低所需的通信延迟.

    原则3. 需要满足低成本.

    构建异构平台的主要目标和好处是降低成本. 一个好的ISOF平台应该有较低的总体资本支出和运营成本. 因此,这样的平台不应该使用昂贵的硬件来构建,增加成本超过节省的成本,更好的方案是依赖于现有的硬件体系构建.

    原则4. 需要高效利用.

    为了保持集群的内设备数量和总成本较低,每个客户应该托管多个设备,这些设备将被充分利用. 为了最有效地使用设备,应该允许应用程序在ISOF上创建和访问任意大小的计算单元区域.

    原则5. 需要满足灵活可重构.

    随着数据中心应用、硬件和网络的快速发展,一个可持续的ISOF解决方案应该是灵活的和可扩展的,例如支持高级API,以减轻一些到设备的应用逻辑.

    ISOF新型异构计算加速平台的主要组成结构如图1所示,主要包括了代表主机端的服务器、代表外围加速计算单元集中服务设备的FPGA box和远端请求应用等. FPGA box可以通过网络接口接入到数据中心网络或者其他应用网络中,在网络接入的模式下,PCIe接口除应用于计算单元间的直接通信,也提供应用于设备健康状态管理的硬件通路. 整个平台中代表计算单元的FPGA等异构计算资源可通过高速网络进行互连. 从平台管理的角度,FPGA设备作为独立的计算资源节点组成计算子网,整个子网内由多个计算节点组成,可以按用户需求完成逻辑子网划分,节点之间支持自定义的高可靠轻量级传输协议,实现服务器节点与FPGA加速计算单元之间、FPGA加速计算单元之间的数据传输和控制指令的通信等.

    图  1  ISOF架构示意图
    Figure  1.  Illustration of ISOF architecture

    为了减轻CPU的负担,充分提高平台整体性能,在ISOF平台架构采用了与CPU解耦的实现方式. ISOF通过解耦的方式,将待加速的网络数据,直接通过数据中心网络传输到FPGA加速设备上,数据无需经过CPU转发. 此设计在一定程度上降低了平台延迟和CPU负载,进而可将CPU用于其他更适合的计算场景,比如网页或者流媒体服务等更需要复杂逻辑处理的应用,另外服务器端或者可以采用相对低端的CPU维护和管理进一步降低系统成本,具体设计细节将在之后章节中介绍. 此外应用于服务器或者客户端的vFPGA(virtual FPGA)设备驱动,实现了完全兼容PCIe驱动功能. 上层应用程序支持包括OpenCL和RTL(register transfer level)2种模式,系统可以通过原有的API接口与FPGA加速设备进行数据交互,也可采用远程映射的方式,将分配的FPGA加速器映射到本地,应用程序可以通过设备节点看到设备,实现本地设备无差别访问.

    ISOF系统具备多种适用方式,不同的方式应用于不同的场景之中,主要包含通过PCIe的本地计算方式,把解耦设备作为独立设备使用的方式,以及把远程加速设备通过远程映射到本地作为本地扩展设备全局应用的方式. 同样借助于ISOF系统,用户也可以通过云端模式在本地编译和执行远程计算流程. 图2分别代表根据应用需求3种不同的应用场景,图2(a)表示传统场景,应用端请求流经过服务器主机侧通过PCIe数据流与计算单元交互;图2(b)表示脱离主机模式的远程映射应用场景,应用数据流可以绕开主机侧,直接与计算单元交互,实现低成本、低延时扩展计算单元,提高大规模应用卸载的潜力优势;图2(c)表示传统与解耦设备协同共存的应用场景,可以实现传统模式与可重构资源的组合优势.

    图  2  ISOF适用场景
    Figure  2.  Illustration of ISOF usage scenarios

    本节介绍系统总体的实现方案设计,首先概述了的ISOF系统平台整体组成设计,随后详细介绍各组成部分包括底层协议和硬件等实现方案的细节设计,最后介绍了应用开发设计部分.

    ISOF平台主要实现模块,包括服务器节点上运行的逻辑控制模块、FPGA上运行的加速计算模块等. 服务器节点的逻辑控制模块,利用可扩展的编程框架提供的API接口实现,FPGA上利用RTL实现的加速计算模块,以及利用编程框架提供的IP层控制接口,完成并行计算任务. 依据主机侧和设备侧视角,其对应细节将在之后不同部分介绍,其核心设计包括如下:

    首先是设备管理模块,用于获取每个FPGA加速设备管理ID. 通过识别每个FPGA加速设备的IP地址信息,分配本地的ID,并依据本地ID进行设备节点管理,通过LINUX内核驱动的字符设备API创建设备节点,分配设备号表示远端FPGA加速设备来管理FPGA计算映射资源.

    然后是设备模拟模块,用于模拟PCIe设备相关接口. ISOF平台将所有PCIe的对BAR(base address register)地址的操作,全部进行网络数据包的格式化转换,实现寄存器操作、DMA(direct memory access)数据流操作、中断操作迁移到网络接口,上层OpenCL或者RTL应用无需知道FPGA加速设备是否为通过网络映射,为上层应用提供无感知的操作.

    此外是映射模块,用于建立服务器和各个FPGA加速设备之间映射关系. 其过程是首先通过创建管理ID、加速设备IP地址、虚拟ID它们三者之间的路由匹配表关系,并且将这些信息进行封装,之后分发给所有FPGA加速资源,最后完成FPGA加速设备之间关系映射.

    平台的互连模块扩展升级互连机制,用以提高远程映射性能,通过采用高速互连机制将交互数据抽象成配置指令和数据搬移2类. ISOF平台基于Intel的OpenCL BSP(board support package),在FPGA异构加速器内增加网络接口的访问通路,将通过PCIe接口完成的配置和数据传输通过网络接口实现,FPGA收到指令帧后,按照帧内容配置寄存器,完成各项功能配置,FPGA收到数据帧后,按照帧内容存储数据完成应用任务. 该互连协议不限定于底层的传输协议,其可基于UDP协议或者直接基于以太网MAC.

    为了让主机定位和识别设备,另外为了满足各种异构计算单元互连扩展能力,需要一种在基于网络协议的识别查询和互连方法. ISOF设计中包含了节点管理模块和协议扩展模块. 节点管理模块主要功能就是识别查询扩展的异构计算设备,包括设备类型、设备地址、设备ID管理、物理设备与虚拟设备映射关系维护等,设计网络互连协议将在此后的章节中介绍. 主机可以通过查询节点管理模块以获得允许与其通信的实体列表,并返回所有设备所需具体配置. 以上设计方式满足了目标设计中的原则4,5.

    其执行流程可以总结为:云端FPGA加速设备上电后默认向服务器发送DHCP(dynamic host configuration protocol)服务请求,服务器获取请求后为每个FPGA加速设备分配IP地址,并将FPGA加速设备的相关信息保存到服务器的配置文件当中,主机通过查询服务器配置文件获取相关设备列表、IP等信息,并对每个设备分配虚拟ID,建立映射表. 节点模块收集上述所有信息后,依据虚拟ID号在设备下创建具体的设备节点.

    为了让主机上层的OpenCL应用可以无感知的操作远端的FPGA加速设备,需要在驱动层实现虚拟化的PCIe的BAR地址操作到数据包操作的转换,这种转换可以实现OpenCL的MMD(memory mapped device)层的所有寄存器操作、DMA数据流操作、中断数据的接收全部兼容,上层OpenCL完全不清楚底层具体的硬件细节. 驱动层模拟块的设计主要功能包含了PCIe总线数据兼容、单寄存器读写操作、多寄存器连续读写操作、DMA数据传输和中断数据处理等. 此种设计方式,满足了目标设计中的原则1,2,3.

    其实现细节流程可以总结为:MMD层调用和PCIe总线相关的参数,模块返回FPGA加速设备PCIe总线数据. 对于寄存器或者DMA的写操作,模块首先会获取主机当前环境与FPGA加速设备相对应的以太网设备,然后依据节点管理模块收集的所有FPGA加速设备的配置信息,按照之后的高速传输协议进行UDP的组包操作,之后通过以太网设备将数据发送给远端的FPGA加速设备,完成写操作. 对于读操作模块检测以太网接收数据包,按照高速传输协议进行UDP的解包操作,完成数据接收. 对于中断的处理,FPGA加速设备会主动发送一个特征包,当模块解析为特征包后,会通过一个信号机制传输给上层的MMD.

    人工智能应用对通信有着多种求,比如基于文本的模型相比CNN更占用带宽[6],而且面对不同需求的多样化应用延迟和带宽,流量负载不均衡等也会导致链路拥塞和丢包[25]. 为了实现节点间的高速互连,也为了给应用提供充分和稳定的带宽基础,ISOF平台设计了应用于硬件卸载平台的轻量级链路传输协议iDMA和改进的RDMA协议iRDMA,通过采用网络接口的方式与数据中心网络互连,此种设计方式,满足了目标设计中的原则1,2,3. 整个协议分为:1)轻量级的高速链路无状态传输协议iDMA,其主要基于MAC层的数据传输和IP层的远程配置与部署,其数据报文格式如图3所示,主要实现box服务器和机柜级间计算单元的数据传输与配置功能,另外实现设备单元的远程映射功能;2)基于UDP的节点间高速稳定传输协议iRDMA,其实现节点间的数据高速传输,以及丢包重传和流控机制.

    图  3  iDMA协议帧
    Figure  3.  iDMA protocol frame

    按照业务流程iRDMA协议帧分为指令帧和数据帧,其数据报文格式如图4所示,部分字段含义如表1所示. FPGA设备收到指令帧后直接配置寄存器,完成各项功能配置. 在数据帧的传输过程中,是按照帧的数据字段,由数据传输发起方进行组包和分片,设备收到数据帧后,按帧内容传输、存储数据. 设备在收到协议包后,默认情况下是按照回复帧进行回复,但若帧格式里有控制字段,可进行配置控制选择是否对协议包进行回复.

    图  4  iRDMA协议帧
    Figure  4.  iRDMA protocol frame
    表  1  iRDMA协议字段
    Table  1.  iRDMA Protocol Fields
    字段字段含义
    SE重发请求指示
    M路径迁移指示
    Pad补充字节数,载荷4B对齐发送
    TVerBTH的版本信息,默认为0
    A需要返回应答包指示
    R_key与存储的地址空间对应
    WPSN写(读)操作包序列号
    WMSN写(读)消息序列号
    Syndrome操作成功指示
    下载: 导出CSV 
    | 显示表格

    iRDMA协议包含基本传输头部(base transport header,BTH)和读写相关的扩展传输头部(RDMA extended transport header,RETH)、及用于ACK(acknowledge character)包的附加传输字段(ACK extended transport header,AETH)扩展传输标头. 为了兼容现有网络及成本等原因,在基于以太网的数据中心中,RoCE(RDMA over converged Ethernet)成为基于以太网数据中心中部署RDMA的规范方法. RoCE需要一个无损网络对于丢包十分敏感,要求网络是不丢包的才能获得良好的性能. 为了获得更好性能,需要通过在网络中启用优先级流控制PFC(priority flow control)来防止丢包发生[26]. 但PFC带来了许多问题,问题的范围从轻微例如不公平和队头阻塞,到严重的拥塞扩散,甚至是网络死锁[26]. 由于RDMA零拷贝设计和网卡内部资源限制,丢包重传在现有商用网卡上很难实现,为了更符合实际网络环境应用,iRDMA基于自研的可重构硬件平台设计,采用选择性重传丢包恢复机制,接收方不丢弃无序数据包,发送方选择性地重传丢失的数据包,另外iRDMA协议的流控采用了限制端到端飞行中数据包数量的机制来防止拥塞的发生.

    研究提出一种基于可重构硬件FPGA的网络加速硬件架构及其系统配套程序如图5(a)(b)所示,用以实现设备间通信的高性能、灵活性和适用性. 作为承载ISOF系统所有的控制和数据传输之间硬件级的高性能设备,把控制层和数据层从CPU端解绑,FPGA网络加速栈由静态区和用户应用加速引擎组成. 静态部分包括控制面及数据面2部分,控制面主要是执行主机或者用户侧下发的控制命令,上报FPGA本地的信息,完成与主机的交互处理,配合主机完成路由、流量控制、授权等管理、资源复用等功能. 数据面主要是各类物理接口包括10 Gbps和100 Gbps MAC以及PCIe通道和iRDMA协议支持等. FPGA加速引擎可通过PCIe接口传输给加速单元进行本地加速,也可以通过经PCIe到MAC接口输出给其他设备卡进行远程加速;动态可重配置加速单元通过PR(partial reconfiguration)技术实现远程动态重配置;路由转发模块的转发路由表软件可配置,FPGA内部通过查找路由转发表实现路由选择. 此种设计方式,满足了目标设计中原则1,2,3,5.

    图  5  硬件与系统架构示意图
    Figure  5.  Schematic diagram of hardware and system architecture

    基于现有软硬件创新的独立可重构硬件平台其好处在于:1)硬件级别优化控制和数据路径,并最大限度地减少软件干预,这样可以显著降低设备间通信的延迟,并减少主机端CPU的利用率. 通过在硬件层面实现控制和数据传输的优化,可以提高系统的性能和效率. 2)支持使用标准设备控制器,这意味着系统可以使用标准的设备控制器来实现独立的、可分解的设备编排. 这样可以更经济高效且灵活地进行设备间通信,而且可以与广泛的现成设备进行兼容. 3)支持可重构的近数据处理单元,在系统中增加一个可重构的数据处理单元,用于直接通信. 这样可以为现有的服务器应用程序提供更多的机会,使其能够更有效地进行直接通信,而无需经过主机端的干预.

    考虑到系统级原型验证涉及到很多软硬件层次代码,ISOF系统将全栈的代码仓库组织起来,基于以上软硬件基础构建支持用户使用的云平台. 构建配套应用于异构并行计算平台的加速编程接口,屏蔽平台底层的技术复杂性,提供统一的加速平台模型和接口,使客户端在本地或服务器端,在不修改用户程序的情形下统一调用,自动化执行编译和测试相关程序. 接口设计满足了目标设计中的原则4,5.为了支持用户通明接口调用,平台实现的函数如表2表3表4所示. 基于总体及接口等设计,该体系结构具有以下属性:1)统一的命名方案,可以处理和访问所有资源,而不考虑其位置;2)无论传输彼端是什么,以及端点驻留在哪里,配置与通信都由一个全局统一的传输接口;3)提供路由和资源复用的底层网络服务. 通过这样的体系结构,FPGA用户应用程序可以使用具有资源全局名称的通用编程接口,轻松访问数据中心内的各种资源集,支持计算资源调度,支持计算任务到异构计算设备的映射和云平台的构建,用户可以在云平台上灵活获取计算资源、存储资源和应用等服务.

    表  2  初始化接口
    Table  2.  Initialize Interface
    初始化API功能
    Icloud_init实现FPGA云编程接口,初始化FPGA
    云平台软件内部资源
    Icloud_close云编程接口关闭,释放FPGA云平台软件内部资源
    icfReadReg_n读取FPGA多个寄存器内容
    icWriteReg_n向FPGA寄存器填写内容
    下载: 导出CSV 
    | 显示表格
    表  3  配置接口
    Table  3.  Configuration Interface
    配置 kernel API功能
    ifcConfigKernel完成将每个输入数据的加1操作后将数据
    放到定义参数result addr中
    ifeStartKernel启动对应设备id的FPGA的kernel功能
    icfStartLoadPR通过配置相关寄存器,进行PR(partial reconfiguration)加载
    icfFlashPcieMem烧录指定的格的文件到FPGA设备
    icfLoadApplicationlmage加载FPGA applicaton文件
    下载: 导出CSV 
    | 显示表格
    表  4  数据接口
    Table  4.  Data Interface
    数据传输API功能
    ifcHostAddrData实现FPGA云编程接口,初始化FPGA
    云平台软件内部资源
    ifcFpgaSwFpgaDatauint8通过RDMA网络接口在2块 FPGA
    设备之间传输数据
    ifcConfiglkl将FPGA的kerel计算加1的数据传输到目的FPGA的数据存放地
    下载: 导出CSV 
    | 显示表格

    ISOF平台将有关的软硬件以高内聚、低耦合的原则组织成一个集成的环境. 用户仅需要向平台的接口文件提供关键配置参数,支持从软硬件上开发和设备映射的全系统敏捷过程,以上设计方式满足了目标设计中的原则4,5.

    ISOF用户应用的实现包括RTL和OpenCL 2种方式,其应用流程如图6所示,对于RTL版本开发,其执行流程为如下的1)~3):

    图  6  应用流程图
    Figure  6.  Flowchart of application

    1)应用调用DHCP scan接口获取FPGA设备IP信息.

    2)调用iRDMA协议接口发送数据.

    3)通过以太网将数据发送到远端FPGA设备.

    对于OpenCL版本开发,其执行流程为如下的①~⑦:

    ①应用软件调用OpenCL runtime函数接口.

    ②接口向下调用HAL(hardware abstraction layer)库.

    ③库函数调用MMD接口函数.

    ④MMD调用Virtual kernel提供驱动接口.

    ⑤驱动调用Virtual user用户接口函数.

    ⑥之后调用iRDMA协议接口发送数据.

    ⑦通过以太网将数据发送到远端FPGA设备.

    实现ISOF其中核心功能之一是FPGA的独立性和对FPGA的远程控制能力. 实现以上功能,首先可以解耦FPGA与CPU的位置耦合,同时实现FPGA成为独立的设备;然后在数据中心中闲置的FPGA设备,通过将加速设备抽象为网络节点,就可以通过远程控制使用的方式实现不同服务器间的资源共享. 因而远程控制也是数据中心中包括FPGA等各类异构硬件实现资源池及构建云级平台的基础之一. 特别在一些边缘计算场景中[27-28],借助于FPGA远程映射,可有更好的远程部署、重配置计算和服务聚合能力.

    ISOF中远程映射平台结合软硬件协同设计,在基于可靠传输网络下可将分散式FPGA的计算资源按需映射到服务器中,另外增加了匹配引擎用于设备端所接受封装的数据匹配. 通过以上方式可以完成主机和FPGA加速设备、FPGA加速设备和FPGA加速设备之间的通信. 整体流程逻辑包括:首先包括远端服务器根据所需控制或者所分配的FPGA资源,创建本地虚拟驱动,然后待加速应用可以在不更改实现逻辑的情况下利用原有平台接口与虚拟驱动进行交互数据,虚拟驱动根据配置将参数与运行数据转换为网络协议,利用可靠网络将数据传输到FPGA加速设备,最后由FPGA加速设备通过对互联协议的解析完成对FPGA的寄存器配置及数据搬移,从而实现FPGA上的应用逻辑部署,最终处理完成的数据通过网络返回到主机请求端. 上述方式将依赖于PCIe的控制流以及数据流迁移到了网络上,使得FPGA加速器作为独立计算单元,可在无本地CPU的参与下,映射FPGA运算单元到远端服务器中. 而没有加速设备的客户端也可调用远加速设备完成AI等运算,实现CPU与设备的解耦.

    本节从理论分析和实验分析对ISOF系统的扩展性和通信交互性能等方面进行验证. 首先通过理论分析平台在扩展性和通信控制方面的优势,然后通过几组实验,验证总体方案的可行性和性能.

    假设将计算处理过程简化为无损模式的M/M/S模型[29],分析ISOF扩展模式的系统收益. 为了简化推导过程,在中把1个节点代表1个计算事务的服务平台,其中:

    λ为客户端请求到达率;

    μ为单位时间的平均服务速率;

    S为服务平台数;

    ρ平均每个服务平台的服务强度.

    当为S个服务平台数时,ρ=λ/Sμ,其值不得大于1,否则计算节点会发生阻塞,计算队列会无限制排队下去,系统无法进入稳态[30].

    平均队长LS为系统内客户端请求的数学期望,包括正被服务的顾客与排队等待服务的客户端,其计算方式为

    LS=j=0jpj=Sρ+ρ/(1ρ)2pS, (1)

    其中pj为系统处于稳态时有j个顾客的概率.

    zc为系统成本,其计算方式为

    zc=cSμ+cwLS =cSμ+cwλ/(μλ), (2)

    其中cw为每个客户端请求在系统中逗留单位时间的固定成本. cS为服务1个顾客时单位时间内的服务成本.

    为简化推导过程,假设以相同的计算单元扩展,客户端请求到达率λ和平台服务速率μ不受系统中服务现有服务数量限制,则可在此引入增益因子0<θ<1,代表CPU解耦方式扩展计算节点相比扩展服务器扩展模式所带来的低成本和减少CPU参与的收益效果,则cS=θcS为ISOF系统服务一个顾客时单位时间内的服务成本,再带入总费用可得,在同样算力单元最优服务率下ISOF系统zc小于原系统.

    假设将计算处理过程简化为M/M/1/k损失模型,分析系统通信收益,k为通信系统容量,则系统收益为

    zr=λ/(1pk)EcSμ, (3)

    其中E为给每个客户端的固定收益,0<pk<1为因系统容量k导致的损失概率,因此在丢包后续都要重传模式下系统收益zr会减小. 引入η>0代表非流控模式下所带来的通信节点服务强度增大程度,则λ=λ(1+η),这就使得ρ更容易进入大于1的非稳态状态,队列就会无限变长导致系统可靠性大幅下降.

    承载ISOF系统硬件平台为双路Intel Xeon CPU,E5-2640V4-Xeon2.4,内存大小为256 GB,可重构设备硬件平台为本团队提供的IEIT F10A和F20A. 以及英特尔提供的Intel Rush Creek PAC FPGA可重构硬件设备,网络设备采用了Mellanox ConnectX-4 Lx 10 Gbps和Mellanox ConnectX-5,此外开发了Linux内核模块和用户级库等. 本节将ISOF应用于现有的设备协作下的设备间通信、设备与主机间通信,以及基于此平台的应用验证等.

    ISOF部分硬件实物测试环境及部分实验效果如图7中所示. 首先,为了验证验证平台的可行性及扩展适配效果,研究基于现有的一些开源模型做了一组实验. 如图7中所示,通过运行ResNet50模型图像识别与分类,最终结果证明了平台在单引擎和多引擎运行独立互连运行的可行性,单点FPGA box池化服务器原型达到了最大32个单元的扩展. 此外通过SqueezeNet模型拆分的图像识别,验证在IOSF平台上多引擎独立计算单元互连通信协作的可行性. 另外通过TensorFlow推理ResNet50模型得到节点间吞吐达到92%,节点间通信延时为1.36 μs,计算单元的弹性扩容时间约为6.94 s.

    图  7  硬件测试环境及部分实验效果示意图
    Figure  7.  Hardware test environment and part of the experimental effect diagram

    流完成时间FCT(flow completion time)是衡量数据中心网络传输性能的重要指标之一[31]表5作为参照是10Gbps版本下的流完成时间. 为了证明IOSF的通信效果,研究首先在10G bps的版本上测了不同FPGA数据流和软件各占时间,HH表示主机侧与设备侧通信的方式数据经过FPGA设备处理后在主机端内存交互,FF表示通过设备卡直接通信数据在FPGA内存中进行交互. 从图8中可以看出当数据量小,数据经过设备处理,数据从设备穿透到主机的过程所占用时间较高,当数据量足够大,设备到主机的过程占比较小,同时也可以看出即使是大数据量读写,数据穿透到主机的过程仍占据着较大的延时ST(software time). 这个原因应在于控制通路发送端和接收端创建通信所需各种资源及软件数据包解析所产生的处理时间有所关联. 但是通过对比大量数据在主机侧读写及数据直接在设备端交互,最终结果仍可以看出FPGA设备独立进行数据交互的方式,ST等方面所带来的延时影响,几乎可以忽略不计. 以上可以证明采用CPU解耦架构实现的机器与设备分离方式,在硬件级别达到优化控制和数据路径,并最大限度地减少软件干预,可以显著降低设备间通信的延迟和主机端的资源占用,也侧面证明了当前计算平台采用独立架构扩展模式提高的必要性. 为了测试系统实际带宽效果,图9所示的结果为100 Gbps版本在0丢包的环境下的FCT测试,在图9中可以看出平台实现良好带宽效果,最高带宽达到了90 Gbps以上.

    表  5  流完成时间 μs
    Table  5.  Flow Completion Time
    测试内容FCT时间
    write_4B10
    read_4B4
    write_1KB10
    read_1KB4
    write_1MB103
    read_1MB94
    write_10MB939
    read_10MB905
    write_100MB9126
    read_100MB8962
    write_1GB91121
    read_1GB89198
    下载: 导出CSV 
    | 显示表格
    图  8  通信时间占比测试
    Figure  8.  Communication time proportion test
    图  9  带宽测试
    Figure  9.  Bandwidth test

    为了根据实际情况测试网络的稳定性,在图10中增加不同丢包策略测试,采用了不同的丢包间隔测试网络与协议性能,图10代表不同丢包间隔下(比如图10中的1000_1代表每1000个包丢1个)的流完成时间测试结果. 从最终测试结果曲线可以看出,基于不同的丢包间隔,与不丢包的基准对比,丢包与不丢包最终流传输完成时间基本无差异. 但是包括业界的公认以及本研究的测试证明,同样测试情况1%的丢包率会使得包括Mellanox Connect-5在内的RDMA网卡吞吐率下降为0,这主要原因可能是由于PFC导致的重排机制和多流排队积压引起网络拥塞等原因所导致. 最终测试经验得出当丢包率低于2%时,基于本研究的网络加速硬件平台和网络协议能正常完成应用数据传输. 图11中所示是采用10 Gbps版本的ISOF的可重构硬件网络加速设备和10 Gbps的Mellanox网卡验证对比,通过多流实验对比结果可以看出,不论是1MB的还是1GB流在不丢包时,传输性能基本接近,但是在无论在读还是写的测试中采用100丢1和10丢1的丢包策略,此研究的网络传输软硬件协议栈有着明显较好的稳定性能. 另外图12中基于perftest做的延迟测试结果显示,在正常通信情况下此项研究平台通信性能与Mellanox基本保持一致,但在现有服务器应用程序中增加可重构的近数据加速处理单元,并且可以为通信提供更多的定制方式.

    图  10  丢包测试
    Figure  10.  Test of packet loss
    图  11  设备传输稳定性对比测试
    Figure  11.  Device transmission stability comparison test
    图  12  延迟测试对比
    Figure  12.  Delay test comparison

    把FPGA等计算资源采用网络增量部署,一方面有利于系统扩容,为云级池化奠定技术基础,另外一方面可以加速数据中心的各类应用,比如网络功能和存储功能等. 为了验证ISOF原型系统应用加速效果,并探索通信方式改变带来的可能影响,在此实验中对通信加解密应用加速及通信效果对比验证. 因服务器通常与大量的客户端建立加密通信,需要经常进行非对称加密的计算,其中基于椭圆曲线算法的密钥协商协议称为ECDH(elliptic curve Diffie-Hellman). 椭圆曲线加密算法的计算成本较高通常由CPU来计算. 在本示例中使用X25519来作为椭圆曲线加密算法的标准曲线,硬件配置及连接方式等如表6以及图13中所示. 在此项实验中,FPGA加速设备部署了64个X25519椭圆曲线乘法加速器IP Core,分别使用PCIe和光纤网络与服务器进行连接. 使用设备分别与8192个客户端进行ECDH过程,服务器端计算椭圆曲线乘法所花费的总时间. 该时间包含下载原始数据至FPGA,FPGA加速设备进行椭圆曲线乘法计算,从FPGA设备中读取结果数据3个过程. 最终结果如图14表示,比起纯CPU计算方式,使用FPGA加速设备在通过PCIe和光纤网络连接服务器时,分别能提供约124和47倍的椭圆曲线乘法加速效果. 对比服务器节点内FPGA计算方式,ISOF光纤通信方式扩大了通信域,并且为应用大规模并行计算与通信提供支持. 最终实验结果表明,即使比起设备卡PCIe的带宽,交换机带宽成为瓶颈,以及链路延时加持的情况下,ISOF面向云的方式,仍能在大量用户请求的情况下,以不超过1 s的总体加解密处理时延增加,达到良好的系统性能. 但可以推断,如果采用更大规模的网络级别扩展,并且扩大投入更高性能加速设备和交换节点,将会大大降低系统总体处理时延.

    表  6  硬件配置
    Table  6.  Hardware Configuration
    硬件 配置
    10 Gbps光纤交换机 Ruijie S6220
    CPU型号 Intel Xeon E5-2650 v4@2.4GHz
    FPGA加速卡 型号:Inspur F10A
    FPGA芯片:10AX115H3F34E2SG
    连接方式:SFP+ 10Gb Ethernet /PCIe Gen3 x8
    下载: 导出CSV 
    | 显示表格
    图  13  连接方式
    Figure  13.  Connection method
    图  14  应用计算总体时间对比
    Figure  14.  Application of computing overall time comparison

    研究提出了一种ISOF计算系统级平台,充分开发利用FPGA灵活可重构特性,基于自研互连协议构建了支持底层高速传输的硬件平台,支持系统层面的硬件解耦和独立资源远程映射功能,并为上层应用提供丰富统一的开发接口支持云平台的建设,为数据中心计算单元扩展架构和资源应用提供思路,并做了可行性和性能验证.

    未来的工作包括研究支持多种异构计算单元高性能扩展和高速互连的平台架构,增加实现异构计算资源池化、存储资源池化和异构网络融合等功能,以及实现资源池化用以按需供给,减少预判需求分配资源导致的资源浪费等,为人工智能时代计算平台基础设施的融合架构做前瞻性探索与研究.

    作者贡献声明:王彦伟提出工作思路和指导意见,规划研究方案,完成轻量级协议设计及系统实现等;李仁刚制定研究方向,提供总体方案路线,指导整体研究路线的调整;徐冉构建并完善详细研究方案,完成实验方案设计,完成系统与实验实现,撰写论文;刘钧锴完成传输协议设计、网络传输硬件平台实现和部分实验.

  • 图  1   ISOF架构示意图

    Figure  1.   Illustration of ISOF architecture

    图  2   ISOF适用场景

    Figure  2.   Illustration of ISOF usage scenarios

    图  3   iDMA协议帧

    Figure  3.   iDMA protocol frame

    图  4   iRDMA协议帧

    Figure  4.   iRDMA protocol frame

    图  5   硬件与系统架构示意图

    Figure  5.   Schematic diagram of hardware and system architecture

    图  6   应用流程图

    Figure  6.   Flowchart of application

    图  7   硬件测试环境及部分实验效果示意图

    Figure  7.   Hardware test environment and part of the experimental effect diagram

    图  8   通信时间占比测试

    Figure  8.   Communication time proportion test

    图  9   带宽测试

    Figure  9.   Bandwidth test

    图  10   丢包测试

    Figure  10.   Test of packet loss

    图  11   设备传输稳定性对比测试

    Figure  11.   Device transmission stability comparison test

    图  12   延迟测试对比

    Figure  12.   Delay test comparison

    图  13   连接方式

    Figure  13.   Connection method

    图  14   应用计算总体时间对比

    Figure  14.   Application of computing overall time comparison

    表  1   iRDMA协议字段

    Table  1   iRDMA Protocol Fields

    字段字段含义
    SE重发请求指示
    M路径迁移指示
    Pad补充字节数,载荷4B对齐发送
    TVerBTH的版本信息,默认为0
    A需要返回应答包指示
    R_key与存储的地址空间对应
    WPSN写(读)操作包序列号
    WMSN写(读)消息序列号
    Syndrome操作成功指示
    下载: 导出CSV

    表  2   初始化接口

    Table  2   Initialize Interface

    初始化API功能
    Icloud_init实现FPGA云编程接口,初始化FPGA
    云平台软件内部资源
    Icloud_close云编程接口关闭,释放FPGA云平台软件内部资源
    icfReadReg_n读取FPGA多个寄存器内容
    icWriteReg_n向FPGA寄存器填写内容
    下载: 导出CSV

    表  3   配置接口

    Table  3   Configuration Interface

    配置 kernel API功能
    ifcConfigKernel完成将每个输入数据的加1操作后将数据
    放到定义参数result addr中
    ifeStartKernel启动对应设备id的FPGA的kernel功能
    icfStartLoadPR通过配置相关寄存器,进行PR(partial reconfiguration)加载
    icfFlashPcieMem烧录指定的格的文件到FPGA设备
    icfLoadApplicationlmage加载FPGA applicaton文件
    下载: 导出CSV

    表  4   数据接口

    Table  4   Data Interface

    数据传输API功能
    ifcHostAddrData实现FPGA云编程接口,初始化FPGA
    云平台软件内部资源
    ifcFpgaSwFpgaDatauint8通过RDMA网络接口在2块 FPGA
    设备之间传输数据
    ifcConfiglkl将FPGA的kerel计算加1的数据传输到目的FPGA的数据存放地
    下载: 导出CSV

    表  5   流完成时间 μs

    Table  5   Flow Completion Time

    测试内容FCT时间
    write_4B10
    read_4B4
    write_1KB10
    read_1KB4
    write_1MB103
    read_1MB94
    write_10MB939
    read_10MB905
    write_100MB9126
    read_100MB8962
    write_1GB91121
    read_1GB89198
    下载: 导出CSV

    表  6   硬件配置

    Table  6   Hardware Configuration

    硬件 配置
    10 Gbps光纤交换机 Ruijie S6220
    CPU型号 Intel Xeon E5-2650 v4@2.4GHz
    FPGA加速卡 型号:Inspur F10A
    FPGA芯片:10AX115H3F34E2SG
    连接方式:SFP+ 10Gb Ethernet /PCIe Gen3 x8
    下载: 导出CSV
  • [1]

    Zhu Zongwei, Zhang Junneng, Zhao Jinjin, et al. A hardware and software task-scheduling framework based on CPU+FPGA heterogeneous architecture in edge computing[J]. IEEE Access, 2019, 7: 148975−148988 doi: 10.1109/ACCESS.2019.2943179

    [2]

    Choi Y, Cong J, Fang Zhenman, et al. A quantitative analysis on microarchitectures of modern CPU-FPGA platforms[C/OL]//Proc of the 53rd Annual Design Automation Conf. New York: ACM, 2016[2024-07-09]. https://dl.acm.org/doi/abs/10.1145/2897937.2897972

    [3]

    Man Xingchen, Zhu Jianfeng, Song Guihuan, et al. CaSMap: Agile mapper for reconfigurable spatial architectures by automatically clustering intermediate representations and scattering mapping process[C]//Proc of the 49th Annual Int Symp on Computer Architecture. New York: ACM, 2022: 259−273

    [4] 齐乐,常轶松,陈欲晓,等. 基于SoC-FPGA的RISC-V处理器软硬件系统级平台[J]. 计算机研究与发展,2023,60(6):1204−1215 doi: 10.7544/issn1000-1239.202330060

    Qi Le, Chang Yisong, Chen Yuxiao, et al. A system-level platform with SoC-FPGA for RISC-V hrdware-software integration[J]. Journal of Computer Research and Development, 2023, 60(6): 1204−1215 (in Chinese) doi: 10.7544/issn1000-1239.202330060

    [5]

    Zha Yue, Li Jing. Virtualizing FPGAs in the cloud[C]//Proc of the 25th Int Conf on Architectural Support for Programming Languages and Operating Systems. New York: ACM, 2020: 845−858

    [6]

    Chung E, Fowers J, Ovtcharov K, et al. Serving DNNs in real time at datacenter scale with project brainwave[J]. IEEE Micro, 2018, 38(2): 8−20 doi: 10.1109/MM.2018.022071131

    [7]

    Suda N, Chandra V, Dasika G, et al. Throughput-optimized OpenCL-based FPGA accelerator for large-scale convolutional neural networks[C]//Proc of the 2016 ACM/SIGDA Int Symp Field-Programmable Gate Arrays. New York: ACM, 2016: 16−25

    [8]

    Zhang Jialiang, Li Jing. Improving the performance of OpenCL-based FPGA accelerator for convolutional neural network[C]//Proc of the 2017 ACM/SIGDA Int Symp on Field-Programmable Gate Arrays. New York: ACM, 2017: 25−34

    [9]

    Tine B, Yalamarthy K P, Elsabbagh F, et al. Vortex: Extending the RISC-V ISA for GPGPU and 3D-graphics[C]//Proc of the 54th Annual IEEE/ACM Int Symp on Microarchitecture. Piscataway, NJ: IEEE, 2021: 754−766

    [10]

    Caulfield A M, Chung E S, Putnam A, et al. A cloud-scale acceleration architecture[C/OL]//Proc of the 49th Annual IEEE/ACM Int Symp on microarchitecture (MICRO). Piscataway, NJ: IEEE, 2016[2024-07-09]. https://ieeexplore.ieee.org/abstract/document/7783710

    [11]

    Amazon Web Services EC2. FPGA Hardware and software development kit [EB/OL]. [2023-01-28]. https://github.com/aws/aws-fpga

    [12]

    Tarafdar N, Thomas L, Fukuda E, et al. Enabling flexible network FPGA clusters in a heterogeneous cloud data center[C]//Proc of the 2017 ACM/SIGDA Int Symp on Field-Programmable Gate Arrays. New York: ACM, 2017: 237−246

    [13]

    Shu Ran, Cheng Peng, Chen Guo, et al. Direct universal access: Making data center resources available to FPGA[C]//Proc of the 16th USENIX Symp on Networked Systems Design and Implementation (NSDI 19). Berkeley, CA: USENIX Association, 2019: 127−140

    [14]

    Yu Xiaoyu, Wang Yuwei, Miao Jie, et al. A data-center FPGA acceleration platform for convolutional neural networks[C]//Proc of the 29th Int Conf on Field Programmable Logic and Applications (FPL). Piscataway, NJ: IEEE, 2019: 151−158

    [15]

    Choi Y K, Jason C, Fang Zheman, et al. In-depth analysis on microarchitectures of modern heterogeneous CPU-FPGA platforms[J]. ACM Transactions on Reconfigurable Technology and Systems (TRETS), 2019, 12(1): 1−20

    [16]

    Fleming K, Adler M. The LEAP FPGA operating system[M]//FPGAs for Software Programmers, Berlin: Springer, 2016: 245−258

    [17]

    Khawaja A, Landgraf J, Prakash R, et al. Sharing, protection, and compatibility for reconfigurable fabric with AmorphOS[C]//Proc of the 13th USENIX Symp on Operating Systems Design and Implementation (OSDI 18). Berkeley, CA: USENIX Association, 2018: 107−127

    [18]

    Baxter R, Booth S, Bull M, et al. Maxwell-a 64 FPGA supercomputer[C]//Proc of the 2nd NASA/ESA Conf on Adaptive Hardware and Systems (AHS 2007). Piscataway, NJ: IEEE, 2007: 287−294

    [19]

    Jeremy F, Kalin O, Michael P, et al. A configurable cloud-scale DNN processor for real-time AI[C/OL]//Proc of the 45th Annual Int Symp on Computer Architecture. Piscataway, NJ: IEEE, 2018[2024-07-09]. https://ieeexplore.ieee.org/abstract/document/8416814

    [20]

    Ouyang J, Shiding L, Qi Wei, et al. SDA: Software-defined accelerator for large-scale DNN systems[C]//Proc of the 26th IEEE Hot Chips Symp (HCS). Piscataway, NJ: IEEE, 2014: 10–12

    [21]

    Vesper M, Koch D, Vipin K, et al. JetStream: An open-source high-performance PCI express 3 streaming library for FPGA-to-Host and FPGA-to-FPGA communication[C/OL]//Proc of the 26th Int Conf on Field Programmable Logic and Applications (FPL). Piscataway, NJ: IEEE, 2016[2024-07-09]. https://ieeexplore.ieee.org/abstract/document/7577334

    [22]

    Jacobsen, M, Richmond, D, Hogains, M, et al. RIFFA 2.1: A reusable integration framework for FPGA accelerators[J]. ACM Transactions on Reconfigurable Technology and Systems (TRETS), 2015, 8(4): 1−23

    [23]

    Zeke W, Zhang Shuhao, He Bingsheng, et al. Melia: A MapReduce framework on OpenCL-Based FPGAs[J]. IEEE Transactions on Parallel and Distributed Systems, 2016, 27(12): 3547−3560 doi: 10.1109/TPDS.2016.2537805

    [24]

    Sharma D D, Blankenship R, Berger D S. An introduction to the compute express link (CXL) Interconnect[J]. arXiv preprint, arXiv: 2306.11227, 2023

    [25]

    Wang Fu, Yan Fulong, Xue Xuwei, et al. Traffic load balancing based on probabilistic routing in data center networks[C/OL]//Proc of the Int Conf on Optical Network Design and Modeling (ONDM). Piscataway, NJ: IEEE, 2020[2024-07-09]. https://ieeexplore.ieee.org/abstract/document/9133002

    [26]

    Mittal R, Shpiner A, Panda A, et al. Revisiting network support for RDMA[C]//Proc of the 2018 Conf of the ACM Special Interest Group on Data Communication. New York: ACM, 2018: 313−326

    [27]

    Biookaghazadeh S, Zhao Ming, Ren Fengbo. Are FPGAs suitable for edge computing [C]//Proc of the USENIX Workshop on Hot Topics in Edge Computing (HotEdge 18). Berkeley, CA: USENIX Association, 2018

    [28]

    Belabed T, Coutinho M G F, Fernandes M A C, et al. User driven FPGA-based design automated framework of deep neural networks for low-power low-cost edge computing[J]. IEEE Access, 2021, 9: 89162−89180 doi: 10.1109/ACCESS.2021.3090196

    [29]

    Ross S M. Introduction to Probability Models[M]. Amsterdam, Netherlands: Elsevier, 2014

    [30] 段田田,郭仪,李博,等. PieBridge:一种按需可扩展的跨链架构[J]. 计算机研究与发展,2023,60(11):2520−2533 doi: 10.7544/issn1000-1239.202230284

    Duan Tiantian, Guo Y, Li Bo, et al. PieBridge: An on-demand scalable cross-chain architecture[J]. Journal of Computer Research and Development, 2023, 60(11): 2520−2533 (in Chinese) doi: 10.7544/issn1000-1239.202230284

    [31] 张帆,胡成臣. 一种适用突发流量的数据中心网络流调度策略[J]. 软件学报,2018,28(s2):81−89

    Zhang Fan, Hu Chengchen, Flow scheduling policy for burst traffic in data center networks[J]. Journal of Software, 2018, 28(s2): 81−89 (in Chinese)

图(14)  /  表(6)
计量
  • 文章访问数:  56
  • HTML全文浏览量:  31
  • PDF下载量:  0
  • 被引次数: 0
出版历程
  • 收稿日期:  2024-01-17
  • 修回日期:  2024-08-11
  • 录用日期:  2024-09-02
  • 网络出版日期:  2024-09-08

目录

/

返回文章
返回