发明内容
本发明旨在提供用于一种DPU智能网卡工作组件切换的方法以及DPU芯片、DPU智能网卡和电子设备,能够快速切换DPU网卡组件与SmartNIC网卡组件,通过简单的软硬件适配,使得DPU工作于SmartNIC网卡模式,提高整体的能效比。
根据本发明的一方面,提供一种用于DPU智能网卡工作组件切换的方法,所述DPU智能网卡包括彼此可切换的第一组件和第二组件,所述方法包括:
设置所述DPU智能网卡上的形态控制寄存器的值;
根据所述形态控制寄存器的值,将相应的配置信息写入所述DPU智能网卡上的启动配置寄存器;
在DPU智能网卡重新启动阶段,引导只读存储器解析所述启动配置寄存器中的配置信息;
根据解析出的配置信息,相应完成所述第一组件或所述第二组件的启动流程,从而所述DPU智能网卡实现工作组件切换。
根据一些实施例,所述第一组件包括集成控制单元、系统控制单元、管理控制单元、多核心数据处理单元,所述第一组件使能板级DDR存储器和板级管理控制器,所述第二组件包括所述集成控制单元、所述系统控制单元、所述管理控制单元及所述多核心数据处理单元的部分子集但不使能所述板级DDR存储器和所述板级管理控制器。
根据一些实施例,设置所述DPU智能网卡上的形态控制寄存器的值,包括:
在运行所述第一组件过程中,所述DPU智能网卡的CPU核通过核间通讯的方式将切换命令经过所述集成控制单元传递至所述系统控制单元;
所述系统控制单元通过第一接口设置所述DPU智能网卡上的形态控制寄存器。
根据一些实施例,设置所述DPU智能网卡上的形态控制寄存器的值,包括:
在运行所述第一组件过程中,通过所述DPU智能网卡上的板级管理控制器下发切换命令,所述板级管理控制器通过第一接口设置所述DPU智能网卡上的形态控制寄存器。
根据一些实施例,设置所述DPU智能网卡上的形态控制寄存器的值,包括:
在运行所述第一组件过程中,在主机侧通过DPU智能网卡呈现的PCIe(外设组件高速互连总线)/CXL(高速计算链路)物理功能设备下发的切换命令通过PCIe/CXL链路到达集成控制单元后,所述集成控制单元通过核间通讯的方式将命令传递至系统控制单元;
所述系统控制单元通过第一接口设置所述DPU智能网卡上的形态控制寄存器。
根据一些实施例,设置所述DPU智能网卡上的形态控制寄存器的值,包括:
在运行所述第二组件过程中,在主机侧通过DPU智能网卡前端驱动下发的切换命令通过PCIe/CXL链路到达集成控制单元后,所述集成控制单元通过核间通讯的方式将命令传递至系统控制单元;
所述系统控制单元通过第一接口设置所述DPU智能网卡上的形态控制寄存器。
根据一些实施例,所述第一接口为SPI、I2C、UART或JTAG接口。
根据一些实施例,根据所述形态控制寄存器的值,将相应的配置信息写入所述DPU智能网卡上的启动配置寄存器,包括:
CPLD实时检测所述形态控制寄存器的值是否发生变化,所述形态控制寄存器为CPLD寄存器;
如果所述形态控制寄存器的值发生变化,则根据所述形态控制寄存器的值更新所述启动配置寄存器。
根据一些实施例,根据解析出的配置信息,相应完成所述第一组件或所述第二组件的启动流程,从而DPU智能网卡实现工作组件切换,包括:
上电后,执行第一阶段引导加载程序启动所述系统控制单元,开始执行相应固件的第二阶段引导加载程序;
若解析出的配置信息为所述第一组件或第二组件的配置信息,则所述系统控制单元相应完成所述第一组件或所述第二组件的设备初始化,并唤醒所述集成控制单元和所述管理控制单元。
根据一些实施例,所述第一组件和所述第二组件在固件上兼容。
根据本发明的另一方面,提供一种DPU芯片,包括处理器和存储器,存储器上存储有计算机程序,处理器运行存储器上存储的计算机程序时,实现如上任一项所述的方法。
根据本发明的另一方面,提供一种DPU智能网卡,所述DPU智能网卡包括:如上所述的DPU芯片和多个接口,所述DPU芯片通过所述接口对外通信。
根据本发明的另一方面,提供一种电子设备,包括:如上所述的DPU智能网卡和中央处理器,所述DPU智能网卡用于处理数据或对外通信,所述中央处理器用于处理所述DPU智能网卡调度过来的数据。
根据本发明的另一方面,提供一种云端控制的网卡组件切换系统,所述网卡组件切换系统包括:
云控制平台;以及
根据如上所述的DPU智能网卡,所述云控制平台向所述DPU智能网卡发送工作组件切换命令。
根据本发明的另一方面,提供一种非瞬时性计算机可读存储介质,其上存储有计算机可读指令,当所述指令被处理器执行时,使得所述处理器执行如上任一项所述的方法。
根据本发明的实施例,通过读取所述启动配置寄存器的配置信息,并在启动过程中进行配置信息解析,实现第一组件(如DPU网卡组件)和第二组件(如SmartNIC网卡组件)的切换,使得DPU智能网卡能够灵活的切换于第一组件(如DPU网卡组件)和第二组件(如SmartNIC网卡组件),提高整体的能效比。与传统技术相比,通过灵活控制切换,显著提升了数据中心整体的运行效率和资源利用率,优化了网络和计算资源的分配,提高了数据中心的性能和能效。
根据一些实施例,所述DPU智能网卡采用第一组件(如DPU网卡组件)和第二组件(如SmartNIC网卡组件)的固件兼容策略,将第一组件和第二组件的固件版本在设计阶段即完成两种固件版本兼容,用户直接通过应用上层软件实现网卡硬件版本切换,简单高效的同时,提高了切换效率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本发明。
具体实施方式
现在将参考附图更全面地描述示例实施例。然而,示例实施例能够以多种形式实施,且不应被理解为限于在此阐述的实施例;相反,提供这些实施例使得本发明将全面和完整,并将示例实施例的构思全面地传达给本领域的技术人员。在图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本发明的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本发明的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本发明的各方面。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
应理解,虽然本文中可能使用术语第一、第二、第三等来描述各种组件,但这些组件不应受这些术语限制。这些术语乃用以区分一组件与另一组件。因此,下文论述的第一组件可称为第二组件而不偏离本发明概念的教示。如本文中所使用,术语“及/或”包括相关联的列出项目中的任一个及一或多者的所有组合。
本领域技术人员可以理解,附图只是示例实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的,因此不能用于限制本发明的保护范围。
图1示出DPU组件示意图。
参见图1,智能网卡的DPU组件支持板级BMC(Baseboard Management Controller,板级管理控制)专用芯片,支持板级DDR(Double Data Rate Dynamic Random AccessMemory,双倍数据率动态随机存取内存),使用全部的N2 Core(即嵌入式CPU核)集群。其中,小核Core以SCP/IMU(Integrated Management Unit,集成控制单元)/MCP为例,大核以ARMN2为例,包括但不限于其他种类的CPU类型,如RISC-V(Reduced Instruction SetComputer Fifth,精简指令集计算机第五代)等,DDR以DDR5为例。
图2示出SmartNIC组件示意图。
参见图2,智能网卡的SmartNIC组件一般不使能BMC专用芯片,不使能DDR,视配置情况,可能保留部分CPU大核作为CPU子系统使用,可能保留部分CPU小核作为CPU子系统使用,使能全部或者部分IO(Input-output,输入输出)能力。
从图1和图2可以看出,DPU组件和SmartNIC组件可共享大部分组成单元,在现有技术的实际应用场景中通过更新固件进行切换,从而工作于DPU组件模式或SmartNIC组件模式。
图3示出现有技术中SmartNIC组件固件更新流程示意图。
图4示出现有技术中DPU组件固件更新流程示意图。
参见图3中所示SmartNIC固件升级方式,当网卡工作于SmartNIC组件模式时,如果需要切换到DPU网卡模式,则需要将各个组件的固件更新至对应的DPU版本。
参见图4中所示DPU固件升级方式,当网卡处于DPU组件模式时,如果需要切换到SmartNIC组件模式,则需要将各个组件的固件更新至对应的SmartNIC版本。
具体地,以SmartNIC网卡的固件升级流程为例:首先,在准备阶段,确定需要升级的固件版本,并获取固件镜像文件。在进行升级之前,可能需要备份现有的固件,以防升级失败可进行恢复。之后,上传固件,通过主机上传:主机(Host)通过PCIe或CXL接口将固件镜像上传到所需的SmartNIC上,将各个子单元对应的固件包(IMU0/IMU1/SCP等),经过核间通信和SPI/QSPI(QSPI)接口写入到FLASH上的指定位置。SCP控制固件升级过程,负责将接收到的固件镜像写入闪存(FLASH)。使用SPI或QSPI接口与闪存进行通信。固件验证,在写入固件后,SCP会验证固件的完整性(如通过CRC校验等机制)以确保没有损坏。最后,进行重启和激活,在重启后,新的固件便可以加载、运行。
图3和图4分别展示了SmartNIC和DPU固件更新的流程,可以看出SmartNIC和DPU固件更新方式存在差异,如果采用更新固件的方式实现两种状态的转换,用户首先要获得对应的固件,然后需要通过如上两种方式更新对应的固件。显然,这对于用户使用非常不友好,用户应该无需感知固件的存在,且随意更改固件对于系统安全也存在一定的威胁。
现有的DPU/SmartNIC切换方法需要更新SmartNIC/DPU相应的固件,这样的方式导致切换时间过长,切换效率低。再者就是更换固件,这一操作对于用户来说说是一种相当危险且复杂的操作,容易导致“变砖”。
为此,本发明提出一种DPU智能网卡工作组件切换的方法,可能够快速切换DPU网卡模式与SmartNIC网卡模式,在切换时无需更换固件。
发明人发现,从硬件设计和软件设计的角度上看,由于DPU与SmartNIC组件存在很大程度上的重合,因此,考虑通过简单的软硬件适配,可使其工作于DPU或SmartNIC组件,以提高整体的能效比。
根据一些实施例,所述DPU智能网卡采用DPU和SmartNIC的兼容策略,DPU和SmartNIC的各组件固件版本在设计阶段即完成两种固件版本的兼容,用户直接通过应用上层软件实现网卡硬件版本切换,简单高效的同时,提高了切换效率。
下面结合附图对本发明的示例实施例进行说明。
图5示出根据示例实施例工作组件可切换的DPU智能网卡的系统框图。
参见图5,图中示出根据示例实施例工作组件可切换的DPU智能网卡的系统框图。所述第一组件包括集成控制单元(IMU)、系统控制单元(SCP)、管理控制单元(MCP)、多核心数据处理单元(N2),所述第一组件使能板级DDR存储器和板级管理控制器(BMC),所述第二组件包括所述集成控制单元、所述系统控制单元、所述管理控制单元及所述多核心数据处理单元的部分子集但不使能所述板级DDR存储器和所述板级管理控制器。
根据解析出的配置信息,相应完成所述第一组件或所述第二组件的启动流程,从而DPU智能网卡实现工作组件切换。具体地,上电后,执行第一阶段引导加载程序启动所述系统控制单元,开始执行相应固件的第二阶段引导加载程序;若解析出的配置信息为第一组件或第二组件的配置信息,即所述DPU或SmartNIC的配置信息,则所述系统控制单元相应完成所述第一组件或所述第二组件的设备初始化,并唤醒所述集成控制单元和所述管理控制单元。若所述配置信息为所述第一组件的配置信息,即所述DPU组件的配置信息,则还需要完成所述DPU智能网卡上DDR的初始化,唤醒所述DPU智能网卡固件的主核。具体地,可在代码中添加条件函数实现。
根据一些实施例,固件更新/升级需要芯片设计厂商提供相应的固件升级包,DPU/SmartNIC是由很多子单元组成(如前所述,包括:双倍数据率动态随机存取内存、N2 Core集群等),不同的子单元都需要更新相应的固件,需要使用芯片设计厂商提供固件升级工具/升级方法完成升级,要把各个子单元对应的固件软件包,写入到闪存(Flash)指定的位置上,也就是说两组件共用一块Flash,分布在不同的位置上。芯片上电启动工作,不同的子单元会加载对应的固件软件包,完成组件升级,进行正常工作。
由于SmartNIC组件和DPU组件的固件更新方式存在差异,传统技术采用更新固件的方式实现两种组件的转换时,用户首先要获得对应的固件,然后需要通过如上述图3以及图4中所示的两种方式更新对应的固件,显然这对于用户使用非常不友好。而本发明的设计方案,无需用户感知固件,DPU和SmartNIC各组件固件版本在设计阶段即完成两种固件版本兼容,对于用户而言,直接应用上层软件实现切换网卡硬件版本切换,在切换时无需更换固件,简单高效的同时,提高了切换效率。
图6示出根据示例实施例的用于DPU智能网卡工作组件切换的方法示意图。
参见图6,图中示出根据示例实施例的用于DPU智能网卡工作组件切换的方法,所述DPU智能网卡包括彼此可切换的第一组件和第二组件,所述第一组件和所述第二组件在固件上兼容,即根据一些实施例,第一组件和所述第二组件上只存在同一种固件版本,使得所述DPU智能网卡在第一组件和第二组件之间切换,具体步骤如下:
在S601,设置所述DPU智能网卡上的形态控制寄存器的值。
根据一些实施例,首先,设置位于DPU智能网卡上的形态控制寄存器。确定用户或管理员设定的切换目标是第一组件(DPU组件)还是第二组件(智能网络接口卡组件)。
在S603,根据所述形态控制寄存器的值,将相应的配置信息写入所述DPU智能网卡上的启动配置寄存器。
根据一些实施例,根据所述形态控制寄存器的值,将相应的配置信息写入DPU智能网卡上的启动配置寄存器,以启动相应的第一组件或第二组件。
根据一些实施例,CPLD(Complex Programmable Logic Device,复杂可编程逻辑器件)实时检测所述形态控制寄存器的值是否发生变化,所述形态控制寄存器为CPLD寄存器;如果所述形态控制寄存器的值发生变化,则根据所述形态控制寄存器的值更新所述启动配置寄存器。这样的设计使得DPU智能网卡在其运行期间动态调整其组件或配置,而无需依赖外部软件进行复杂的重新配置过程,可以简化管理和维护,同时提高系统的灵活性和响应速度。
在S605,在DPU智能网卡重新启动阶段,引导只读存储器解析所述启动配置寄存器中的配置信息。
根据一些实施例,当DPU进入重新启动阶段时,引导只读存储器(Boot ROM)解析启动配置寄存器中存储的配置信息,解析过程决定了后续启动过程中需要加载哪些特定的驱动程序和服务,以适应所选的工作组件。
在S607,根据解析出的配置信息,相应完成所述第一组件或所述第二组件的启动流程,从而所述DPU智能网卡实现工作组件切换。
根据一些实施例,根据解析出的配置信息,完成相应第一组件或第二组件,即DPU或智能网络接口卡组件的启动流程,从而所述DPU智能网卡实现所述第一组件和所述第二组件的切换,完成从一种网卡模式到另一种网卡模式的切换。具体地,读取所述启动配置寄存器中存储的配置信息,并根据所述配置信息启动内部的DPU或SmartNIC固件部分,实现DPU组件与SmartNIC组件的切换。
根据一些实施例,在运行所述第一组件的过程中,所述DPU智能网卡通过采用DPUN2/DPU BMC/Host三种配置通道通过核间通讯的方式将所述切换命令传输至所述系统控制单元。
图7示出根据另一示例实施例DPU组件切换为SmartNIC组件示意图。
参见图7,图中示出根据另一示例实施例的用于DPU智能网卡工作组件切换的方法,通过DPU N2配置通道实现DPU组件切换为SmartNIC组件。
具体地,参见图7,在S701,在DPU N2下发切换命令(从DPU切换到SmartNIC),通过核间通讯的方式将命令经过IMU传递SCP。
根据一些实施例,在运行所述第一组件过程中,所述DPU智能网卡的CPU核通过核间通讯的方式将切换命令经过集成所述控制单元(IMU)传递至所述系统控制单元(SCP),其中,所述第一组件为DPU组件。
在S703,SCP通过SPI方式读写CPLD形态控制寄存器,将配置信息写入strap寄存器。
根据一些实施例,所述系统控制单元通过第一接口设置所述DPU智能网卡上的形态控制寄存器,即通过DPU N2配置通道实现DPU组件切换为SmartNIC组件。其中,所述第一接口为SPI(串行外设接口)、I2C(集成电路总线)、UART(Universal AsynchronousReceiver/Transmitter,通用异步收发传输器)或JTAG接口(Joint Test Action Group,国际标准测试协议接口)。
在S705,通过Host,重启DPU电源,DPU将重新启动。
在S707,DPU重启之后,启动阶段会读取strap寄存器,解析配置信息为SmartNIC组件的配置信息。
在S709,最后,根据所述配置信息,拉起SmartNIC所必须的组件完成启动流程。
图8示出根据另一示例实施例DPU组件切换为SmartNIC组件示意图。
参见图8,图中示出根据另一示例实施例的用于DPU智能网卡工作组件切换的方法,通过DPU BMC配置通道实现DPU组件切换为SmartNIC组件。
具体地,参见图8,在S801,在DPU BMC下发切换命令(从DPU切换到SmartNIC)。
根据一些实施例,在运行所述第一组件过程中,通过所述DPU智能网卡上的板级管理控制器(DPU BMC)下发切换命令,所述第一组件为DPU组件。
在S803,BMC通过读写CPLD形态控制寄存器,将配置信息写入strap寄存器。
根据一些实施例,所述板级管理控制器(DPU BMC)通过第一接口设置所述DPU智能网卡上的形态控制寄存器。
在S805,之后,通过Host,重启DPU电源,DPU将重新启动。
在S807,重启之后,启动阶段会读取strap寄存器,解析配置信息为SmartNIC组件的配置信息。
在S809,根据所述配置信息,拉起SmartNIC所必须的组件完成启动流程。
图9示出根据另一示例实施例DPU组件切换为SmartNIC组件示意图。
参见图9,图中示出根据另一示例实施例的用于DPU智能网卡工作组件切换的方法,通过Host配置通道实现DPU组件切换为SmartNIC组件。
具体地,参见图9,在S901,在Host侧通过DPU呈现的PCIe/CXL PF设备下发切换命令(从DPU切换到SmartNIC),通过PCIe/CXL链路到达IMU,最后通过核间通讯的方式将命令传递SCP。
根据一些实施例,在运行所述第一组件过程中,在主机侧通过DPU智能网卡呈现的PCIe/CXL物理功能设备(PF)下发的切换命令通过PCIe/CXL链路到达集成控制单元(IMU)后,所述集成控制单元通过核间通讯的方式将命令传递至所述系统控制单元,所述第一组件为DPU组件。
在S903,SCP通过SPI方式读写CPLD形态控制寄存器,将配置信息写入strap寄存器。
根据一些实施例,所述系统控制单元通过第一接口设置所述DPU智能网卡上的形态控制寄存器。其中,所述第一接口为SPI、I2C、UART或JTAG接口。
在S905,之后,通过Host,重启DPU电源,DPU将重新启动。
在S907,重启之后,启动阶段会读取strap寄存器,解析配置信息为SmartNIC组件的配置信息。
在S909,根据所述配置信息,拉起SmartNIC所必须的组件完成启动流程。
图10示出根据另一示例实施例SmartNIC组件切换为DPU组件示意图。
参见图10,图中示出根据另一示例实施例的用于DPU智能网卡工作切换的方法,通过DPU N2配置通道实现SmartNIC组件切换为DPU组件。
具体地,参见图10,在S1001,在Host侧通过SmartNIC前端驱动下发切换命令(从SmartNIC切换到DPU),通道过PCIe/CXL链路到达IMU,最后通过核间通讯的方式将命令传递SCP。
根据一些实施例,在运行所述第二组件过程中,在主机侧通过所述DPU智能网卡第二组件前端驱动下发的切换命令通过PCIe/CXL链路到达集成控制单元后,所述集成控制单元通过核间通讯的方式将命令传递至系统控制单元,所述第二组件为SmartNIC组件。
在S1003,SCP通过SPI方式读写CPLD形态控制寄存器,将配置信息写入strap寄存器。
根据一些实施例,所述系统控制单元通过第一接口设置所述DPU智能网卡上的形态控制寄存器。其中,所述第一接口为SPI、I2C、UART或JTAG接口。
在S1005,之后,通过Host,重启DPU电源,DPU将重新启动。
在S1007,重启之后,启动阶段会读取strap寄存器,解析配置信息为DPU组件的配置信息。
在S1009,根据所述配置信息,拉起DPU所必须的组件完成启动流程。
通过如上所述的四种配置通道即可完成DPU和SmartNIC工作组件的转换,如上所述的四种通道均是直接操作Host或者DPU/SmartNIC,用户可根据实际应用需求进行切换方式的选择,比如:直接操作host比较适合普通用户,而通过DPU BMC/DPU N2配置通道的方式更适合开发调试者使用。在实际数据网络中心环境中,可以在此四种配置通道的基础上利用网络云平台管控等技术,通过云平台网络远程下发转换指令,实现远程切换DPU和SmartNIC工作组件。
根据一些实施例,通过建立一个统一的云服务平台,管理员能够在任何地方实时监控所有接入网络内的DPU和SmartNIC状态,并根据业务逻辑自动下发相应的指令。例如,当检测到某台机器负载过高时,可即时调整其上的SmartNIC进入更高效能的工作组件,反之亦然。利用云平台内置的任务调度器,编写自定义脚本来响应预设条件触发的动作。比如设定定时任务定期检查各个节点健康状况,一旦发现异常便立即采取措施恢复正常运行。这样的设计使得所述网卡切换系统在面对大规模复杂架构的数据中心,也能够轻松应对各种挑战,确保整个系统的稳定可靠运行。
根据一些实施例,本发明的设计可根据实时负载情况灵活切换设备工作组件,确保在不同场景下提供最佳性能,提升数据处理速度和效率。通过动态调整工作组件,降低不必要的能耗,实现更好的能效比,帮助数据中心降低运营成本。这样的灵活切换方式提高了数据中心对不同负载场景的适应能力,使其能够在负载波动时快速响应,保持稳定的运行。而且,整个切换过程无需用户重新烧录版本,确保了DPU系统与主机的安全运行,降低了潜在的操作风险和系统故障。
根据一些实施例,本发明的设计通过上述灵活的控制切换方法,显著提升了数据中心整体的运行效率和资源利用率,优化了网络和计算资源的分配,不仅提高了数据中心的性能和能效,还增强了系统的安全性和适应性,为未来的数据处理架构提供了更为可靠和高效的解决方案。
图11示出根据另一示例实施例的用于DPU智能网卡的启动示意图。
参见图11,图中示出根据另一示例实施例的用于DPU智能网卡工作切换的方法时序。
在S1101,系统上电开始初始化,在BootROM启动过程中完成strap解析,读取和判断启动配置寄存器,例如:所述形态控制寄存器的值若为1表示SmartNIC,为0则表示DPU,以此区分SmartNIC组件和DPU组件。
在S1103,拉起SCP,根据形态控制寄存器完成基本设备初始化,如PLL(Phase-Locked Loop,锁相环)、CMN初始化。SCP加载IMU0/MCP版本、唤醒启动。IMU-0Loader加载后,根据形态控制寄存器立即加载IMU-0Version。
根据一些实施例,之后,SCP根据形态控制寄存器继续剩余初始化,具体地,进行其它设备初始化,如Themal、GPIO等。当形态控制寄存器为0时,完成DDR5初始化,加载IMU-1版本、唤醒IMU-1启动,加载AP(Application Processor,启动引导加载)版本,唤醒N2主核启动。
在S1105,根据形态控制器的值,选择启动响应的组件。
根据一些实施例,当形态控制寄存器为0时,ATF(Arm Trusted Firmware,可信固件)启动BL2(第二阶段引导加载程序)和BL31(第三阶段第一级引导加载程序后,根据SCP传递的N2 Run Linux和RTOS(Real-Time Operating System,实时操作系统)的CPU Mask,选择对应的启动方式。
整个SmartNIC/DPU启动过程,通过读取和解析strap,获取和判断形态控制寄存器,值为1表示SmartNIC,值为0表示DPU,完成不同组件的启动和相应的初始化,实现不同组件的启动,确保了SmartNIC和DPU系统能够根据不同的形态控制寄存器的值(如上,SmartNIC用1表示或DPU用0表示)正确地初始化和启动各个组件,使得系统能够高效地完成从上电到完全启动的过程,确保不同组件下的稳定运行。
根据实施例,所述DPU智能网卡的固件版本采用DPU组件和SmartNIC组件的固件兼容策略,通过读取所述启动配置寄存器的配置信息,并在启动过程中进行配置信息解析,实现DPU和SmartNIC组件的切换,使得DPU智能网卡能够灵活的切换于DPU与SmartNIC这两种工作模式,提高整体的能效比,通过这样灵活的切换控制,显著提升了数据中心整体的运行效率和资源利用率,优化了网络和计算资源的分配,提高了数据中心的性能和能效。
根据一些实施例,本发明的设计方案还能够应用于DPU芯片的设计,包括处理器和存储器,存储器上存储有计算机程序,处理器运行存储器上存储的计算机程序时,实现如上任一项实施例所述的方法。本发明的设计方案还能够应用于DPU智能网卡的设计,所述DPU智能网卡包括:根据如上所述的DPU芯片和多个接口,其中,接口可以包括PCI/PCIE接口、UART接口、SPI接口、USB接口、网络接口等通信接口,所述DPU芯片通过所述接口对外通信,使得所述网卡装置能够实现DPU组件和SmartNIC组件的切换。
根据一些实施例,本发明的设计方案还能够应用于电子设备的设计,所述电子设备包括:如上所述的DPU智能网卡和中央处理器,所述DPU智能网卡用于处理数据或对外通信,所述中央处理器用于处理所述DPU智能网卡调度过来的数据。
根据一些实施例,本发明的设计方案还能够应用于基于云平台的云端控制的网卡组件切换系统,所述网卡组件切换系统包括:云控制平台;以及根据如上所述的DPU智能网卡,所述云控制平台向所述DPU智能网卡发送工作切换命令,从而实现云端控制网卡的切换。
根据一些实施例,本发明的设计方案通过控制命令的灵活运用,显著提升了数据中心整体的运行效率和资源利用率,优化了网络和计算资源的分配,提高了数据中心的性能和能效,还增强了系统的安全性和适应性,为未来的数据处理架构提供了更为可靠和高效的解决方案。
根据一些实施例,本发明的设计方案提供了一种DPU与SmartNIC之间的无缝、高效、安全切换的网卡切换方法以及系统,以便在高负载和低负载场景下提供最佳的性能和功耗平衡。通过主机侧和网络侧的控制命令,可以在不同场景下灵活地切换设备工作组件,从而显著提高数据中心的运行效率和适应性。同时切换过程不需要用户重新烧制版本,保证了整个DPU系统以及Host主机的安全运行。
根据一些实施例,本发明的设计方案通过读取所述启动配置寄存器的配置信息,并在启动过程中进行配置信息解析,这样灵活的控制方法,实现了DPU和SmartNIC网卡的切换,显著提升了数据中心整体的运行效率和资源利用率,优化了网络和计算资源的分配,提高了数据中心的性能和能效。
根据一些实施例,本发明的设计方案中,所述DPU智能网卡采用DPU和SmartNIC的兼容策略,DPU和SmartNIC的固件版本在设计阶段即完成两种固件版本兼容,用户直接通过应用上层软件实现网卡硬件版本切换,在切换时无需更换固件,简单高效的同时,提高了切换效率。
需要说明的是,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。
本发明还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述方法的步骤。计算机可读存储介质可以包括但不限于任何类型的盘,包括软盘、光盘、DVD、CD-ROM、微型驱动器以及磁光盘、ROM、RAM、EPROM、EEPROM、DRAM、VRAM、闪速存储器设备、磁卡或光卡、纳米系统(包括分子存储器IC)、网络存储设备、云存储设备,或适合于存储指令和/或数据的任何类型的媒介或设备。
本发明实施例还提供一种计算机程序产品,该计算机程序产品包括存储计算机程序的非瞬时性计算机可读存储介质,该计算机程序可操作来使计算机执行如上述方法实施例中记载的任何一种方法的部分或全部步骤。
本领域的技术人员可以清楚地了解到本发明的技术方案可借助软件和/或硬件来实现。本说明书中的“单元”和“模块”是指能够独立完成或与其他部件配合完成特定功能的软件和/或硬件,其中硬件例如可以是现场可编程门阵列、集成电路等。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些服务接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
以上具体地展示和描述了本发明的示例性实施例。应可理解的是,本发明不限于这里描述的详细结构、设置方式或实现方法;相反,本发明意图涵盖包含在所附条款的精神和范围内的各种修改和等效设置。