CN116069395A - 云计算加速dpu系统 - Google Patents
云计算加速dpu系统 Download PDFInfo
- Publication number
- CN116069395A CN116069395A CN202211606510.4A CN202211606510A CN116069395A CN 116069395 A CN116069395 A CN 116069395A CN 202211606510 A CN202211606510 A CN 202211606510A CN 116069395 A CN116069395 A CN 116069395A
- Authority
- CN
- China
- Prior art keywords
- network module
- level network
- management
- instruction
- instruction set
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000001133 acceleration Effects 0.000 title claims abstract description 94
- 238000004364 calculation method Methods 0.000 claims abstract description 25
- 238000012545 processing Methods 0.000 claims abstract description 12
- 238000007726 management method Methods 0.000 claims description 94
- 238000004891 communication Methods 0.000 claims description 14
- 238000013500 data storage Methods 0.000 claims description 8
- 238000013524 data verification Methods 0.000 claims description 5
- 238000000034 method Methods 0.000 abstract description 8
- 238000010586 diagram Methods 0.000 description 13
- 230000006870 function Effects 0.000 description 7
- 239000011159 matrix material Substances 0.000 description 6
- 238000013475 authorization Methods 0.000 description 4
- 238000011161 development Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 210000001503 joint Anatomy 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本公开提供了一种云计算加速DPU系统,涉及云计算技术领域。该系统包括:RISC‑V子系统和FPGA子系统,其中,RISC‑V子系统包含网管组件和控制组件,FPGA子系统包含管理模块、第一级网络模块、第二级网络模块和第三级网络模块;RISC‑V子系统用于根据自定义的向量计算加速指令集扩展、数据冗余校验指令集扩展和加解密加速指令集扩展,对数据的各种处理进行加速;管理模块用于接收来自RISC‑V子系统的管理命令,并根据管理命令对第一级网络模块、第二级网络模块和/或第三级网络模块进行参数配置和管理;第一级网络模块用于数据的转发;第二级网络模块用于对数据包的转发进行加速;第三级网络模块用于多协议数据的处理和转发。本公开降低了DPU的使用成本和定制化成本。
Description
技术领域
本公开涉及云计算技术领域,尤其涉及一种云计算加速DPU系统。
背景技术
DPU(Data Processing Unit,数据处理器)是一种用于加速云计算服务器网络、存储、虚拟化等功能的专用处理器。DPU的工作原理是作为CPU(central processing unit,中央处理器)的卸载引擎,接管CPU承担的网络、存储、虚拟化等功能,以释放CPU的算力到上层应用,提升整个计算系统的效率、降低计算系统的总体成本。DPU也被视为云数据中心继CPU和GPU(Graphics Processing Unit,GPU)之后的“第三颗主力芯片”,将带动整个云计算架构的变革。
现有DPU常使用基于ARM或者MIPS指令集架构的计算核心,以提供良好的可编程性。然而,基于上述指令集架构的DPU存在如下问题:1)ARM存在授权费用高的问题,包括前期授权费、版税和技术咨询服务费等,往往高达数百万至数千万美元;2)MIPS受商业原因影响,其开发的持续性不稳定,生态脆弱;3)ARM和MIPS均难以增加自定义指令扩展,定制化成本高。
基于此,如何降低DPU的使用成本与定制化成本成为了亟需解决的技术问题。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本公开提供一种云计算加速DPU系统,至少在一定程度上克服相关技术中DPU的使用成本与定制化成本较高的问题。
本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。
根据本公开的一个方面,提供一种云计算加速DPU系统,包括:RISC-V子系统和FPGA子系统,其中,所述RISC-V子系统和所述FPGA子系统之间通信连接,所述RISC-V子系统包含网管组件和控制组件,所述网管组件与所述控制组件通信连接;所述网管组件,用于根据向量计算加速指令集扩展,配置所述控制组件的参数和流表,其中,所述向量计算加速指令集扩展用于加速执行AI算法;所述控制组件,用于向所述FPGA子系统发送第一管理命令,以控制所述FPGA子系统对数据包的转发加速;所述FPGA子系统,用于接收所述控制组件发送的所述第一管理命令,基于所述第一管理命令进行参数配置;所述FPGA子系统,还用于接收来自外部网络的目标数据包,对所述目标数据包的转发进行加速,并将所述目标数据包转发至目标应用程序。
在本公开的一个实施例中,所述FPGA子系统包含管理模块、第一级网络模块和第二级网络模块,所述管理模块、第一级网络模块和第二级网络模块之间通信连接;所述管理模块,用于接收所述控制组件的第一管理命令,并根据所述第一管理命令对所述第二级网络模块进行参数配置和管理,以控制所述第二级网络模块对数据包的转发加速;所述第一级网络模块,用于接收来自外部网络的目标数据包,并将所述目标数据包发送至所述第二级网络模块;所述第二级网络模块,用于对所述目标数据包的转发进行加速,并将所述目标数据包转发至目标应用程序。
在本公开的一个实施例中,所述FPGA子系统还包括第三级网络模块,所述第三级网络模块与所述第二级网络模块通信连接;所述网管组件,还用于基于所述向量计算加速指令集扩展,生成第二管理命令,将所述第二管理命令发送至所述管理模块;所述管理模块,用于接收所述第二管理命令,根据所述第二管理命令对所述第三级网络模块的RDMA组件进行参数配置;所述第二级网络模块,还用于对所述目标数据包的转发进行加速,并将所述目标数据包转发至所述第三级网络模块;所述第三级网络模块,用于接收所述第二级网络模块发送的所述目标数据包,所述RDMA组件通过RDMA接口将所述目标数据包发送至所述目标应用程序。
在本公开的一个实施例中,所述第三级网络模块还包含TCP组件和UDP组件,以支持TCP、UDP和RDMA协议数据的处理和转发。
在本公开的一个实施例中,所述管理模块,还用于通过CXL Switch协议接口接收来自所述RISC-V子系统的管理命令,并基于管理命令对所述第一级网络模块、第二级网络模块和/或第二级网络模块进行参数配置和管理。
在本公开的一个实施例中,所述向量计算加速指令集扩展包含MATADD指令、MATMUL指令、MATSTORE指令、MATLOAD指令、MATSIG指令、MATSOFT指令和MATRELU指令中的至少一种。
在本公开的一个实施例中,所述RISC-V子系统还包括数据存储加速组件,所述FPGA子系统还包括第三级网络模块,所述第三级网络模块与所述第二级网络模块通信连接;所述数据存储加速组件,用于接收来自所述目标应用程序的存储数据,基于数据冗余校验指令集扩展,对所述存储数据的数据校验进行加速,基于加解密加速指令集扩展,对所述存储数据的加解密进行加速,并将所述存储数据发送至所述第三级网络模块,其中,所述数据冗余校验指令集扩展用于加速存储数据的数据冗余校验,所述加解密加速指令集扩展用于加速存储数据的加解密任务;所述第三级网络模块,用于转发所述存储数据至所述第二级网络模块;所述第二级网络模块,还用于将所述存储数据转发至所述第一级网络模块;所述第一级网络模块,还用于将所述存储数据转发至所述外部网络。
在本公开的一个实施例中,所述数据冗余校验指令集扩展包含CRC指令。
在本公开的一个实施例中,所述加解密加速指令集扩展包含GFADD指令、GFMUL指令、GFINV指令和GFSQR指令中的至少一种。
在本公开的一个实施例中,所述RISC-V子系统还包括硬件驱动组件;所述硬件驱动组件包含多个RISC-V处理器核;所述RISC-V处理器核,用于存储预设指令集扩展,所述预设指令集扩展包含向量计算加速指令集扩展、数据冗余校验指令集扩展和加解密加速指令集扩展。
在本公开的一个实施例中,所述网管组件,还用于流量卸载调度和流量分类识别。
本公开的实施例所提供的云计算加速DPU系统,包括:RISC-V子系统和FPGA子系统,其中,RISC-V子系统包含网管组件和控制组件,FPGA子系统包含管理模块、第一级网络模块和第二级网络模块,网管组件,用于根据向量计算加速指令集扩展,配置控制组件的参数和流表;控制组件,用于向管理模块发送第一管理命令;管理模块,用于接收控制组件的第一管理命令,并根据第一管理命令对第二级网络模块进行参数配置和管理,以控制第二级网络模块对数据包的转发加速;第二级网络模块对目标数据包的转发进行加速,并将目标数据包转发至目标应用程序。本公开采用自定义的向量计算加速指令集扩展对DPU任务进行加速,提高了RISC-V在DPU应用场景的性能,且降低了DPU的使用成本和定制化成本。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出本公开实施例中一种云计算加速DPU系统结构的示意图;
图2示出本公开实施例中一种云计算加速DPU系统的示意图;
图3示出本公开实施例中另一种云计算加速DPU系统的示意图;
图4示出本公开实施例中一种向量计算加速指令集扩展的格式示意图;
图5示出本公开实施例中另一种云计算加速DPU系统的示意图;
图6示出本公开实施例中另一种云计算加速DPU系统的示意图;
图7示出本公开实施例中一种数据冗余校验指令集扩展的格式示意图;
图8示出本公开实施例中一种加解密加速指令集扩展的格式示意图;
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。
此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
正如上述背景技术中所提及的,现有DPU常使用基于ARM或者MIPS指令集架构的计算核心,以提供良好的可编程性。然而,基于上述指令集架构的DPU存在如下问题:1)ARM存在授权费用高的问题,包括前期授权费、版税和技术咨询服务费等,往往高达数百万至数千万美元;2)MIPS受商业原因影响,其开发的持续性不稳定,生态脆弱;3)ARM和MIPS均难以增加自定义指令扩展,定制化成本高。
RISC-V是一种开源指令集架构,具有完整开放、免授权费、发展稳定的优势,且可以模块化实施、自定义扩展,有望替代ARM和MIPS,降低DPU成本。但目前缺乏基于RISC-V的DPU架构设计,且缺乏针对DPU领域的RISC-V指令集扩展。
基于此,本公开实施例提供了一种云计算加速DPU系统,采用了定制化的RISC-V子系统与FPGA(Field Programmable Gate Array,现场可编程逻辑门阵列)子系统相结合的方式进行云计算网络和存储的加速,其中,RISC-V子系统具备灵活的可编程性,主要负责承载DPU的控制任务和部分计算任务,FPGA子系统具备高速处理转发性能和良好的可定制特性,主要承载网络数据传输加速任务。
本公开对RISC-V进行了自定义DPU相关指令集扩展,包含向量计算加速指令集扩展、数据冗余校验指令集扩展和加解密加速指令集扩展,以提高DPU的性能。
本公开的系统具有基于开放指令集架构RISC-V和可定制的优势。且采用了自定义DPU相关指令集对DPU任务进行加速,提高了RISC-V在DPU应用场景的性能。
图1示出了可以应用于本公开实施例的图像处理方法或图像处理装置的示例性系统架构的示意图。
如图1所示,系统架构可以包括RISC-V子系统和FPGA子系统。
其中,RISC-V子系统和FPGA子系统之间通信连接,这里,RISC-V子系统和FPGA子系统之间可以通过CXL Switch接口连接。该系统还可以通过CXL Switch接口与服务器主机、外部SSD和GPU等建立连接。
RISC-V子系统,用于承载DPU的控制任务和部分计算任务。
RISC-V子系统包括软件部分和硬件部分;
RISC-V子系统的软件部分包括控制组件、网管组件、数据存储加速组件和硬件驱动组件;
控制组件,用于数据转发逻辑控制;
网管组件,用于支持RDMA参数自动配置、流量卸载调度、流量分类识别;
硬件驱动组件是FPGA子系统和CXL switch的驱动程序;
RISC-V子系统的硬件部分是基于RISC-V指令集架构的定制SoC,包含多个RISC-V处理器核、L2/L3缓存模块以及DDR内存模块等。
RISC-V处理器核存储预设指令集扩展,预设指令集扩展可以包含向量计算加速指令集扩展、数据冗余校验指令集扩展和加解密加速指令集扩展,预设指令集扩展用于提高DPU的性能。
FPGA子系统包括第一级网络模块、第二级网络模块、第三级网络模块和管理模块。
第一级网络模块,用于支持转发以太网协议数据;
第二级网络模块为数据加速管道,可对数据包转发进行加速,并转发数据包至第三级网络模块或交付服务器应用程序。第二级网络模块可受控制组件的管控;
第三级网络模块包含TCP/UDP组件和RDMA组件以支持TCP/UDP和RDMA协议数据处理和转发,第三级网络模块可以处理来自第二级网络模块的IP或者RDMA协议格式数据包,并交付服务器应用程序。
管理模块可以与RISC-V子系统对接,通过CXL协议接口接受RISC-V子系统的管理命令,并对第一级网络模块、第二级网络模块和第三级网络模块进行配置和管理。
网络用以在RISC-V子系统和FPGA子系统之间提供通信链路的介质,可以是有线网络,也可以是无线网络。
可选地,上述的无线网络或有线网络使用标准通信技术和/或协议。网络通常为因特网、但也可以是任何网络,包括但不限于局域网(Local Area Network,LAN)、城域网(Metropolitan Area Network,MAN)、广域网(Wide Area Network,WAN)、移动、有线或者无线网络、专用网络或者虚拟专用网络的任何组合)。在一些实施例中,使用包括超文本标记语言(Hyper Text Mark-up Language,HTML)、可扩展标记语言(ExtensibleMarkupLanguage,XML)等的技术和/或格式来代表通过网络交换的数据。此外还可以使用诸如安全套接字层(Secure Socket Layer,SSL)、传输层安全(Transport Layer Security,TLS)、虚拟专用网络(Virtual Private Network,VPN)、网际协议安全(InternetProtocolSecurity,IPsec)等常规加密技术来加密所有或者一些链路。在另一些实施例中,还可以使用定制和/或专用数据通信技术取代或者补充上述数据通信技术。
服务器主机可以是提供各种服务的服务器,例如对用户利用终端设备所进行操作的装置提供支持的后台管理服务器。后台管理服务器可以对接收到的请求等数据进行分析等处理,并将处理结果反馈给终端设备。
可选地,服务器主机可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
下面结合附图及实施例对本示例实施方式进行详细说明。
首先,本公开实施例中提供了一种云计算加速DPU系统。
图2示出本公开实施例中一种云计算加速DPU系统示意图,如图2所示,本公开实施例中提供的云计算加速DPU系统,包括:
RISC-V子系统210和FPGA子系统220,其中,RISC-V子系统210和FPGA子系统220之间通信连接,RISC-V子系统210包含网管组件211和控制组件212,网管组件211与控制组件212通信连接;
网管组件211,用于根据向量计算加速指令集扩展,配置控制组件212的参数和流表,其中,向量计算加速指令集扩展用于加速执行AI算法;
控制组件212,用于向FPGA子系统220发送第一管理命令,以控制FPGA子系统220对数据包的转发加速;
FPGA子系统220,用于接收控制组件发送的第一管理命令,基于第一管理命令进行参数配置;
FPGA子系统220,还用于接收来自外部网络的目标数据包,对目标数据包的转发进行加速,并将目标数据包转发至目标应用程序。
在本公开的一个实施例中,FPGA子系统包含管理模块、第一级网络模块和第二级网络模块,管理模块、第一级网络模块和第二级网络模块之间通信连接;管理模块,用于接收控制组件的第一管理命令,并根据第一管理命令对第二级网络模块进行参数配置和管理,以控制第二级网络模块对数据包的转发加速;第一级网络模块,用于接收来自外部网络的目标数据包,并将目标数据包发送至第二级网络模块;第二级网络模块,用于对目标数据包的转发进行加速,并将目标数据包转发至目标应用程序。
在本公开的一个实施例中,参见图3所示的另一种云计算加速DPU系统的示意图,图3为OVS(Open vSwitch,开放虚拟交换标准)加速的实施示例,在该示例中服务器主机的OVS卸载到DPU上运行,由RISC-V子系统的网管组件根据向量计算加速指令集扩展,对控制组件进行参数和流表配置,其中,网管组件采用自定义的向量计算加速指令集扩展进行加速;RISC-V子系统的控制组件通过FPGA子系统的管理模块控制第二级网络模块对数据包转发的加速,在第一级网络模块接收到来自外部网络的目标数据包的情况下,第二级网络模块的接收第一网络模块转发的目标数据包,通过第二级网络模块的数据加速通道对目标数据包的转发进行加速,并将该目标数据包发送至交付服务应用程序,其中,第二级网络模块的数据加速通道负责OVS的数据平面转发功能,交付服务应用程序为Host OS(HostOperating System,主人操作系统)中VM(Virtual Machine,虚拟机)上的程序,vNIC(Virtualised NIC,虚拟化的网络接口控制器)为用于传输数据包。
在本公开的一个实施例中,向量计算加速指令集扩展可以包含MATADD指令、MATMUL指令、MATSTORE指令、MATLOAD指令、MATSIG指令、MATSOFT指令和MATRELU指令中的至少一种。
需要说明的是,向量计算加速指令集扩展用于加速基于AI计算,向量计算加速指令集扩展主要目的是为了加速DPU上部署的AI网管算法。参见图4所示的一种向量计算加速指令集扩展的格式示意图,向量计算加速指令集扩展具体格式如图4所示,向量计算加速指令集扩展可以包含七条指令,分别为MATADD指令、MATMUL指令、MATSTORE指令、MATLOAD指令、MATSIG指令、MATSOFT指令和MATRELU指令。MATADD指令、MATMUL指令、MATSTORE指令、MATLOAD指令、MATSIG指令、MATSOFT指令和MATRELU指令的opcode均为“0001011”。其中,MATADD指令用于运算矩阵加法,MATADD指令的func3码为“010”;MATMUL指令用于运算矩阵乘法,MATMUL指令的func3码为“011”;MATSTORE指令用于向内存存储矩阵地址,MATSTORE指令的func3码为“000”,MATSTORE指令func7码为“0000001”,除此之外还定义了矩阵size寄存器msr,用于配置矩阵size;MATLOAD指令用于从内存加载矩阵地址,MATLOAD指令的func3码为“000”,MATLOAD指令的func7码为“0000010”;MATSIG指令用于快速计算sigmoid函数,MATSIG指令的func3码为“000”,MATSIG指令的func7码为“0000011”;MATSOFT指令用于快速计算softmax函数,MATSOFT指令的func3码为“000”,MATSOFT指令的func7码为“0000100”;MATRELU指令用于快速计算ReLU函数,MATRELU指令的func3码为“000”,MATRELU指令的func7码为“0000101”。
在本公开的一个实施例中,FPGA子系统还包括第三级网络模块,第三级网络模块与第二级网络模块通信连接;网管组件,还用于基于向量计算加速指令集扩展,生成第二管理命令,将第二管理命令发送至管理模块;管理模块,用于接收第二管理命令,根据第二管理命令对第三级网络模块的RDMA组件进行参数配置;第二级网络模块,还用于对目标数据包的转发进行加速,并将目标数据包转发至第三级网络模块;第三级网络模块,用于接收第二级网络模块发送的目标数据包,RDMA组件通过RDMA接口将目标数据包发送至目标应用程序。
在本公开的一个实施例中,参见图5所示的另一种云计算加速DPU系统的示意图,图5为RDMA(Remote Direct Memory Access,远程直接数据存取)加速的实施示例,RISC-V子系统的网管组件可以根据向量计算加速指令集扩展,通过管理模块对第二级网络模块的RDMA进行参数配置;RISC-V子系统的控制组件可以通过管理模块控制第二级网络模块;在第一级网络模块接收到来自外部网络的目标数据包的情况下,第二级网络模块接收第一级网络模块转发的目标数据包,通过第二级网络模块的数据加速通道对目标数据包的转发进行加速,并将该目标数据包发送至第三级网络模块;第三级网络模块的RDMA组件可以通过RDMA接口将目标数据包发送至目标应用程序。
在本公开的一个实施例中,第三级网络模块还包含TCP组件和UDP组件,以支持TCP(Transmission Control Protocol,传输控制协议)、UDP(User Datagram Protocol,用户数据报协议)和RDMA协议数据的处理和转发。
在本公开的一个实施例中,管理模块,还用于通过CXL Switch协议接口接收来自RISC-V子系统的管理命令,并基于管理命令对第一级网络模块、第二级网络模块和/或第二级网络模块进行参数配置和管理。
在本公开的一个实施例中,RISC-V子系统还包括数据存储加速组件,FPGA子系统还包括第三级网络模块,第三级网络模块与第二级网络模块通信连接;数据存储加速组件,用于接收来自目标应用程序的存储数据,基于数据冗余校验指令集扩展,对存储数据的数据校验进行加速,基于加解密加速指令集扩展,对存储数据的加解密进行加速,并将存储数据发送至第三级网络模块,其中,数据冗余校验指令集扩展用于加速存储数据的数据冗余校验,加解密加速指令集扩展用于加速存储数据的加解密任务;第三级网络模块,用于转发存储数据至第二级网络模块;第二级网络模块,还用于将存储数据转发至第一级网络模块;第一级网络模块,还用于将存储数据转发至外部网络。
在本公开的一个实施例中,参见图6所示的另一种云计算加速DPU系统的示意图,图6为存储数据加速的实施示例,目标应用程序可以通过NVMe接口进行存储读取等操作,将存储任务卸载到本公开的系统后,RISC-V子系统可以对存储数据进行数据校验、加解密操作;RISC-V子系统的数据存储加速组件可以利用数据冗余校验指令集扩展对存储数据的数据校验进行加速,可以利用加解密加速指令集扩展,对存储数据的加解密进行加速,并将存储数据发送至第三级网络模块;第三级网络模块将存储数据转发至第二级网络模块,再由第二级网络模块将存储数据转发至第一级网络模块,最后,由第一级网络模块将存储数据发送至外部网络。
在本公开的一个实施例中,数据冗余校验指令集扩展包含CRC(CyclicRedundancy Check,循环冗余校核)指令。
需要说明的是,数据冗余校验指令集扩展用于加速存储的数据冗余校验,数据冗余校验指令集扩展可以包含一条CRC指令,参见图7所示的一种数据冗余校验指令集扩展的格式示意图,数据冗余校验指令集扩展的具体格式如图7所示。CRC指令的opcode码为“0001011”,func3码为“000”,func7码为“0000101”,并且,其中引入了一个自定义的校验码寄存器cr用于保存校验码的地址。
在本公开的一个实施例中,加解密加速指令集扩展包含GFADD指令、GFMUL指令、GFINV指令和GFSQR指令中的至少一种。
需要说明的是,加解密加速指令集扩展用于加速存储加解密任务,此扩展的主要目的是为了加速需要进行伽罗华域运算的加密算法,添加了对伽罗华域运算的支持。参见图8所示的一种加解密加速指令集扩展的格式示意图,加解密加速指令集扩展的具体格式如图8所示,加解密加速指令集扩展可以包含四条指令,分别为GFADD指令、GFMUL指令、GFINV指令和GFSQR指令。GFADD指令、GFMUL指令、GFINV指令和GFSQR指令的opcode均为“0001011”,func3码均为“000”。其中,GFADD指令用于加速伽罗华域加法计算,GFADD指令的func7码为“0000111”;GFMUL指令用于加速伽罗华域乘法计算,GFMUL指令的func7码为“0001000”;GFINV指令用于加速伽罗华域求逆运算,GFINV指令的func7码为“0001001”;GFSQR指令用于加速伽罗华域乘法计算平方运算,GFSQR指令的func7码为“0001010”。
在本公开的一个实施例中,RISC-V子系统还包括硬件驱动组件;硬件驱动组件包含多个RISC-V处理器核;RISC-V处理器核,用于存储预设指令集扩展,预设指令集扩展包含向量计算加速指令集扩展、数据冗余校验指令集扩展和加解密加速指令集扩展。
在本公开的一个实施例中,网管组件,还用于流量卸载调度和流量分类识别。
在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上,以上实施例仅用以说明本公开的技术方案,而非对其限制;尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本公开各实施例技术方案的精神和范围。
Claims (11)
1.一种云计算加速DPU系统,其特征在于,包括:
RISC-V子系统和FPGA子系统,其中,所述RISC-V子系统和所述FPGA子系统之间通信连接,所述RISC-V子系统包含网管组件和控制组件,所述网管组件与所述控制组件通信连接;
所述网管组件,用于根据向量计算加速指令集扩展,配置所述控制组件的参数和流表,其中,所述向量计算加速指令集扩展用于加速执行AI算法;
所述控制组件,用于向所述FPGA子系统发送第一管理命令,以控制所述FPGA子系统对数据包的转发加速;
所述FPGA子系统,用于接收所述控制组件发送的所述第一管理命令,基于所述第一管理命令进行参数配置;
所述FPGA子系统,还用于接收来自外部网络的目标数据包,对所述目标数据包的转发进行加速,并将所述目标数据包转发至目标应用程序。
2.根据权利要求1所述的云计算加速DPU系统,其特征在于,所述FPGA子系统包含管理模块、第一级网络模块和第二级网络模块,所述管理模块、第一级网络模块和第二级网络模块之间通信连接;
所述管理模块,用于接收所述控制组件的第一管理命令,并根据所述第一管理命令对所述第二级网络模块进行参数配置和管理,以控制所述第二级网络模块对数据包的转发加速;
所述第一级网络模块,用于接收来自外部网络的目标数据包,并将所述目标数据包发送至所述第二级网络模块;
所述第二级网络模块,用于对所述目标数据包的转发进行加速,并将所述目标数据包转发至目标应用程序。
3.根据权利要求2所述的云计算加速DPU系统,其特征在于,
所述FPGA子系统还包括第三级网络模块,所述第三级网络模块与所述第二级网络模块通信连接;
所述网管组件,还用于基于所述向量计算加速指令集扩展,生成第二管理命令,将所述第二管理命令发送至所述管理模块;
所述管理模块,用于接收所述第二管理命令,根据所述第二管理命令对所述第三级网络模块的RDMA组件进行参数配置;
所述第二级网络模块,还用于对所述目标数据包的转发进行加速,并将所述目标数据包转发至所述第三级网络模块;
所述第三级网络模块,用于接收所述第二级网络模块发送的所述目标数据包,所述RDMA组件通过RDMA接口将所述目标数据包发送至所述目标应用程序。
4.根据权利要求3所述的云计算加速DPU系统,其特征在于,所述第三级网络模块还包含TCP组件和UDP组件,以支持TCP、UDP和RDMA协议数据的处理和转发。
5.根据权利要求2所述的云计算加速DPU系统,其特征在于,所述管理模块,还用于通过CXL Switch协议接口接收来自所述RISC-V子系统的管理命令,并基于管理命令对所述第一级网络模块、第二级网络模块和/或第二级网络模块进行参数配置和管理。
6.根据权利要求1至5中任意一项所述的云计算加速DPU系统,其特征在于,所述向量计算加速指令集扩展包含MATADD指令、MATMUL指令、MATSTORE指令、MATLOAD指令、MATSIG指令、MATSOFT指令和MATRELU指令中的至少一种。
7.根据权利要求2所述的云计算加速DPU系统,其特征在于,所述RISC-V子系统还包括数据存储加速组件,所述FPGA子系统还包括第三级网络模块,所述第三级网络模块与所述第二级网络模块通信连接;
所述数据存储加速组件,用于接收来自所述目标应用程序的存储数据,基于数据冗余校验指令集扩展,对所述存储数据的数据校验进行加速,基于加解密加速指令集扩展,对所述存储数据的加解密进行加速,并将所述存储数据发送至所述第三级网络模块,其中,所述数据冗余校验指令集扩展用于加速存储数据的数据冗余校验,所述加解密加速指令集扩展用于加速存储数据的加解密任务;
所述第三级网络模块,用于转发所述存储数据至所述第二级网络模块;
所述第二级网络模块,还用于将所述存储数据转发至所述第一级网络模块;
所述第一级网络模块,还用于将所述存储数据转发至所述外部网络。
8.根据权利要求7所述的云计算加速DPU系统,其特征在于,所述数据冗余校验指令集扩展包含CRC指令。
9.根据权利要求7所述的云计算加速DPU系统,其特征在于,所述加解密加速指令集扩展包含GFADD指令、GFMUL指令、GFINV指令和GFSQR指令中的至少一种。
10.根据权利要求1所述的云计算加速DPU系统,其特征在于,所述RISC-V子系统还包括硬件驱动组件;
所述硬件驱动组件包含多个RISC-V处理器核;
所述RISC-V处理器核,用于存储预设指令集扩展,所述预设指令集扩展包含向量计算加速指令集扩展、数据冗余校验指令集扩展和加解密加速指令集扩展。
11.根据权利要求1所述的云计算加速DPU系统,其特征在于,所述网管组件,还用于流量卸载调度和流量分类识别。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211606510.4A CN116069395A (zh) | 2022-12-14 | 2022-12-14 | 云计算加速dpu系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211606510.4A CN116069395A (zh) | 2022-12-14 | 2022-12-14 | 云计算加速dpu系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116069395A true CN116069395A (zh) | 2023-05-05 |
Family
ID=86169151
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211606510.4A Pending CN116069395A (zh) | 2022-12-14 | 2022-12-14 | 云计算加速dpu系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116069395A (zh) |
-
2022
- 2022-12-14 CN CN202211606510.4A patent/CN116069395A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11892967B2 (en) | Flexible remote direct memory access | |
US9313139B2 (en) | Physical port sharing in a link aggregation group | |
US9565095B2 (en) | Take-over of network frame handling in a computing environment | |
CN110915173A (zh) | 用于计算节点和存储节点的数据处理单元 | |
US11431681B2 (en) | Application aware TCP performance tuning on hardware accelerated TCP proxy services | |
US20210399954A1 (en) | Orchestrating configuration of a programmable accelerator | |
EP3780485A1 (en) | Accessing security hardware keys | |
US11394700B2 (en) | Proxy service through hardware acceleration using an IO device | |
CN102143218B (zh) | web接入云体系结构及接入方法 | |
CA3167334C (en) | Zero packet loss upgrade of an io device | |
US20230236909A1 (en) | Service mesh architecture for integration with accelerator systems | |
US10049001B1 (en) | Dynamic error correction configuration | |
US20050144290A1 (en) | Arbitrary java logic deployed transparently in a network | |
CN116069395A (zh) | 云计算加速dpu系统 | |
CA2823085A1 (en) | Method and system of implementing data load protocols | |
US20220244976A1 (en) | Containers on demand | |
CN113934767A (zh) | 一种数据处理的方法及装置、计算机设备和存储介质 | |
US11494197B2 (en) | Enabling a pre-boot screen to be accessed remotely | |
US11900096B2 (en) | Hitless upgrade of a network device | |
CN110389785B (zh) | 大数据处理系统及方法、电子设备、存储介质 | |
US20230344894A1 (en) | Packet based in-line processing for data center environments | |
US20230039450A1 (en) | Systems, methods, and apparatus to identify functions for computational devices | |
US20230342208A1 (en) | Systems, methods, and apparatus to identify functions for computational devices | |
EP4224810A1 (en) | Methods for profile based management of infrastructure of a cloud used for ran applications | |
US11853253B1 (en) | Transaction based remote direct memory access |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |