本公开涉及云计算,尤其涉及一种云计算加速dpu系统。
背景技术:
1、dpu(data processing unit,数据处理器)是一种用于加速云计算服务器网络、存储、虚拟化等功能的专用处理器。dpu的工作原理是作为cpu(central processing unit,中央处理器)的卸载引擎,接管cpu承担的网络、存储、虚拟化等功能,以释放cpu的算力到上层应用,提升整个计算系统的效率、降低计算系统的总体成本。dpu也被视为云数据中心继cpu和gpu(graphics processing unit,gpu)之后的“第三颗主力芯片”,将带动整个云计算架构的变革。
2、现有dpu常使用基于arm或者mips指令集架构的计算核心,以提供良好的可编程性。然而,基于上述指令集架构的dpu存在如下问题:1)arm存在授权费用高的问题,包括前期授权费、版税和技术咨询服务费等,往往高达数百万至数千万美元;2)mips受商业原因影响,其开发的持续性不稳定,生态脆弱;3)arm和mips均难以增加自定义指令扩展,定制化成本高。
3、基于此,如何降低dpu的使用成本与定制化成本成为了亟需解决的技术问题。
4、需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
技术实现思路
1、本公开提供一种云计算加速dpu系统,至少在一定程度上克服相关技术中dpu的使用成本与定制化成本较高的问题。
2、本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。
3、根据本公开的一个方面,提供一种云计算加速dpu系统,包括:risc-v子系统和fpga子系统,其中,所述risc-v子系统和所述fpga子系统之间通信连接,所述risc-v子系统包含网管组件和控制组件,所述网管组件与所述控制组件通信连接;所述网管组件,用于根据向量计算加速指令集扩展,配置所述控制组件的参数和流表,其中,所述向量计算加速指令集扩展用于加速执行ai算法;所述控制组件,用于向所述fpga子系统发送第一管理命令,以控制所述fpga子系统对数据包的转发加速;所述fpga子系统,用于接收所述控制组件发送的所述第一管理命令,基于所述第一管理命令进行参数配置;所述fpga子系统,还用于接收来自外部网络的目标数据包,对所述目标数据包的转发进行加速,并将所述目标数据包转发至目标应用程序。
4、在本公开的一个实施例中,所述fpga子系统包含管理模块、第一级网络模块和第二级网络模块,所述管理模块、第一级网络模块和第二级网络模块之间通信连接;所述管理模块,用于接收所述控制组件的第一管理命令,并根据所述第一管理命令对所述第二级网络模块进行参数配置和管理,以控制所述第二级网络模块对数据包的转发加速;所述第一级网络模块,用于接收来自外部网络的目标数据包,并将所述目标数据包发送至所述第二级网络模块;所述第二级网络模块,用于对所述目标数据包的转发进行加速,并将所述目标数据包转发至目标应用程序。
5、在本公开的一个实施例中,所述fpga子系统还包括第三级网络模块,所述第三级网络模块与所述第二级网络模块通信连接;所述网管组件,还用于基于所述向量计算加速指令集扩展,生成第二管理命令,将所述第二管理命令发送至所述管理模块;所述管理模块,用于接收所述第二管理命令,根据所述第二管理命令对所述第三级网络模块的rdma组件进行参数配置;所述第二级网络模块,还用于对所述目标数据包的转发进行加速,并将所述目标数据包转发至所述第三级网络模块;所述第三级网络模块,用于接收所述第二级网络模块发送的所述目标数据包,所述rdma组件通过rdma接口将所述目标数据包发送至所述目标应用程序。
6、在本公开的一个实施例中,所述第三级网络模块还包含tcp组件和udp组件,以支持tcp、udp和rdma协议数据的处理和转发。
7、在本公开的一个实施例中,所述管理模块,还用于通过cxl switch协议接口接收来自所述risc-v子系统的管理命令,并基于管理命令对所述第一级网络模块、第二级网络模块和/或第二级网络模块进行参数配置和管理。
8、在本公开的一个实施例中,所述向量计算加速指令集扩展包含matadd指令、matmul指令、matstore指令、matload指令、matsig指令、matsoft指令和matrelu指令中的至少一种。
9、在本公开的一个实施例中,所述risc-v子系统还包括数据存储加速组件,所述fpga子系统还包括第三级网络模块,所述第三级网络模块与所述第二级网络模块通信连接;所述数据存储加速组件,用于接收来自所述目标应用程序的存储数据,基于数据冗余校验指令集扩展,对所述存储数据的数据校验进行加速,基于加解密加速指令集扩展,对所述存储数据的加解密进行加速,并将所述存储数据发送至所述第三级网络模块,其中,所述数据冗余校验指令集扩展用于加速存储数据的数据冗余校验,所述加解密加速指令集扩展用于加速存储数据的加解密任务;所述第三级网络模块,用于转发所述存储数据至所述第二级网络模块;所述第二级网络模块,还用于将所述存储数据转发至所述第一级网络模块;所述第一级网络模块,还用于将所述存储数据转发至所述外部网络。
10、在本公开的一个实施例中,所述数据冗余校验指令集扩展包含crc指令。
11、在本公开的一个实施例中,所述加解密加速指令集扩展包含gfadd指令、gfmul指令、gfinv指令和gfsqr指令中的至少一种。
12、在本公开的一个实施例中,所述risc-v子系统还包括硬件驱动组件;所述硬件驱动组件包含多个risc-v处理器核;所述risc-v处理器核,用于存储预设指令集扩展,所述预设指令集扩展包含向量计算加速指令集扩展、数据冗余校验指令集扩展和加解密加速指令集扩展。
13、在本公开的一个实施例中,所述网管组件,还用于流量卸载调度和流量分类识别。
14、本公开的实施例所提供的云计算加速dpu系统,包括:risc-v子系统和fpga子系统,其中,risc-v子系统包含网管组件和控制组件,fpga子系统包含管理模块、第一级网络模块和第二级网络模块,网管组件,用于根据向量计算加速指令集扩展,配置控制组件的参数和流表;控制组件,用于向管理模块发送第一管理命令;管理模块,用于接收控制组件的第一管理命令,并根据第一管理命令对第二级网络模块进行参数配置和管理,以控制第二级网络模块对数据包的转发加速;第二级网络模块对目标数据包的转发进行加速,并将目标数据包转发至目标应用程序。本公开采用自定义的向量计算加速指令集扩展对dpu任务进行加速,提高了risc-v在dpu应用场景的性能,且降低了dpu的使用成本和定制化成本。
15、应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
1.一种云计算加速dpu系统,其特征在于,包括:
2.根据权利要求1所述的云计算加速dpu系统,其特征在于,所述fpga子系统包含管理模块、第一级网络模块和第二级网络模块,所述管理模块、第一级网络模块和第二级网络模块之间通信连接;
3.根据权利要求2所述的云计算加速dpu系统,其特征在于,
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子系统还包括硬件驱动组件;
11.根据权利要求1所述的云计算加速dpu系统,其特征在于,所述网管组件,还用于流量卸载调度和流量分类识别。