CN111737184B - 一种ai服务器计算单元架构及实现方法 - Google Patents
一种ai服务器计算单元架构及实现方法 Download PDFInfo
- Publication number
- CN111737184B CN111737184B CN202010476077.1A CN202010476077A CN111737184B CN 111737184 B CN111737184 B CN 111737184B CN 202010476077 A CN202010476077 A CN 202010476077A CN 111737184 B CN111737184 B CN 111737184B
- Authority
- CN
- China
- Prior art keywords
- switch chip
- pcie switch
- port
- power consumption
- cpu
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 16
- 238000012545 processing Methods 0.000 claims abstract description 40
- 238000004891 communication Methods 0.000 claims abstract description 26
- 238000004364 calculation method Methods 0.000 claims abstract description 14
- 238000013461 design Methods 0.000 description 10
- 239000000306 component Substances 0.000 description 6
- 238000006467 substitution reaction Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 230000017525 heat dissipation Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 239000008358 core component Substances 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/161—Computing infrastructure, e.g. computer clusters, blade chassis or hardware partitioning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
-
- 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
Abstract
本发明提供一种AI服务器计算单元架构及实现方法,所述架构包括功耗获取模块、控制模块、第一PCIe Switch芯片和第二PCIe Switch芯片;控制模块分别与第一PCIe Switch芯片和第二PCIe Switch芯片进行通信连接;功耗获取模块,用于获取CPU、GPU的功耗数据;控制模块,用于从功耗获取模块获取CPU、GPU的功耗数据并对功耗数据进行分析处理并根据对功耗数据的处理结果向PCIe Switch芯片发送控制指令包,控制PCIe Switch芯片端口的开关设置和上下行属性设置实现GPU参与计算的个数的调整及GPU通过PCIe Switch芯片与CPU互联关系的调整。
Description
技术领域
本发明涉及服务器计算单元架构设计技术领域,具体涉及一种AI服务器计算单元架构及实现方法。
背景技术
为满足大数据、云计算、人工智能等领域各种数据的收集与整理,采用各种异构形式的AI服务器得到了广泛应用。计算单元的大量应用满足了服务器进行密集型数据运算的能力。
CPU+GPU为AI服务器中普遍使用的计算单元组合。NVIDIA针对CPU+GPU的互联形式推出了三种基础PCIe拓扑——平衡模式(Balance Mode)、通用模式(Common Mode)和级联模式(Cascade Mode)。多数应用场景中平衡模式与通用模式两种模式下的运算能力相近,单依据应用场景无法对拓扑模型进行更优选择;不同模式下GPU的P2P性能有不同,对CPU的资源利用程度也有差异,CPU和GPU对计算资源的利用率可通过功耗大小体现,功耗越大,所需散热条件越高。明显地,不同应用场景对计算单元的实际需求有所差异,受空间和操作的局限,在一台服务器中往往不支持同时进行多种计算单元架构设计。针对不同的应用场景,设计可自动灵活调节的计算单元架构模式,对优化整机计算资源配置和功耗调优设计具有重要意义。
在目前的AI服务器设计中,对于计算单元的架构设计,主要有以下方案:(1)一台服务器提供一种计算单元架构;(2)通过手动拔插线缆/功能切换板卡,实现部件互联模式的切换;(3)利用PCIe Switch平行和交叉两种互通模式,人为选择实现CPU-GPU互联拓扑的整体切换。
现有技术方案的缺点主要有:(1)一台服务器提供一种计算单元架构:架构设计单一,服务器适用的应用场景灵活性差。(2)通过手动拔插线缆/功能切换板卡,实现部件互联模式的切换:开箱手动切换,耗时耗力,无法实现计算单元架构的自动切换控制。(3)利用PCIe Switch平行和交叉两种互通模式,人为选择实现CPU-GPU互联拓扑的整体切换:无法依据服务器实时工作状态实现自动切换;计算单元互联拓扑切换模块线路设计复杂,影响高速信号质量,延迟GPU与GPU、GPU与CPU的运算交互;拓扑切换类型少,切换局限性大;互联拓扑的整体切换对于参与计算的计算单元个数无法灵活调整。
发明内容
针对架构设计单一导致服务器适用的应用场景灵活性差;计算单元互联拓扑切换模块线路设计复杂影响高速信号质量;拓扑切换类型少导致切换局限性大从而使互联拓扑的整体切换对于参与计算的计算单元个数无法灵活调整的问题,本发明提供一种AI服务器计算单元架构及实现方法。
本发明的技术方案是:
一方面,本发明技术方案提供一种AI服务器计算单元架构,包括功耗获取模块、控制模块、PCIe Switch芯片;PCIe Switch芯片包括第一PCIe Switch芯片和第二PCIeSwitch芯片;
控制模块分别与第一PCIe Switch芯片和第二PCIe Switch芯片进行通信连接;
第一PCIe Switch芯片连接有第一CPU;第一CPU连接有第二CPU;第一PCIe Switch芯片和第二PCIe Switch芯片分别连接有若干个GPU;
第一PCIe Switch芯片和第二PCIe Switch芯片连接;第二PCIe Switch芯片与第一CPU连接;第二PCIe Switch芯片与第二CPU连接;
功耗获取模块,用于获取CPU、GPU的功耗数据;
控制模块,用于从功耗获取模块获取CPU、GPU的功耗数据并对功耗数据进行分析处理并根据对功耗数据的处理结果向PCIe Switch芯片发送控制指令包,控制PCIe Switch芯片端口的开关设置和上下行属性设置实现GPU参与计算的个数的调整及GPU通过PCIeSwitch芯片与CPU互联关系的调整。
优选地,功耗获取模块包括BMC和VR芯片;
VR芯片分别与GPU与CPU连接;
BMC通过扫描VR芯片的I2C地址,获取相应的CPU和GPU的功耗数据。
控制模块通过I2C从BMC获取CPU和GPU的实时功耗数据。
优选地,所述控制模块包括FPGA;所述PCIe Switch芯片设置有I2C管理端口;
所述FPGA分别通过I2C与第一PCIe Switch芯片的I2C管理端口和第二PCIeSwitch芯片的I2C管理端口通信连接。
优选地,所述的第一PCIe Switch芯片和第二PCIe Switch芯片均设置有若干端口;所述端口与GPU连接;
FPGA根据对功耗数据的处理结果分别向第一PCIe Switch芯片的I2C管理端口和第二PCIe Switch芯片的I2C管理端口发送控制指令包,控制第一PCIe Switch芯片、第二PCIe Switch芯片端口的开关及下行属性设置实现GPU参与计算的个数的调整。
优选地,所述的第一PCIe Switch芯片设置有A端口,第二PCIe Switch芯片设置有A端口、B端口和C端口;
FPGA根据对功耗数据的处理结果分别向第一PCIe Switch芯片的I2C管理端口和第二PCIe Switch芯片的I2C管理端口发送控制指令包,控制第一PCIe Switch芯片A端口关闭、第二PCIe Switch芯片A端口和B端口关闭、第二PCIe Switch芯片C端口打开并设置为上行端口时,第二PCIe Switch芯片的C端口与第二CPU通信连接;
FPGA根据对功耗数据的处理结果分别向第一PCIe Switch芯片的I2C管理端口和第二PCIe Switch芯片的I2C管理端口发送控制指令包,控制第一PCIe Switch芯片A端口关闭、第二PCIe Switch芯片A端口和C端口关闭、第二PCIe Switch芯片的B端口打开并设置为上行端口时,第二PCIe Switch芯片的B端口与第一CPU通信连接;
FPGA根据对功耗数据的处理结果分别向第一PCIe Switch芯片的I2C管理端口和第二PCIe Switch芯片的I2C管理端口发送控制指令包,控制第一PCIe Switch芯片A端口打开并设置为下行端口、第二PCIe Switch芯片A端口打开并设置为上行端口、第二PCIeSwitch芯片的B端口和C端口关闭时,第一PCIe Switch芯片的A端口和第二PCIe Switch芯片的A端口通信连接。
优选地,所述的FPGA、第一PCIe Switch芯片和第二PCIe Switch芯片分别连接有FLASH;第一PCIe Switch芯片和第二PCIe Switch芯片分别连接有网络接口控制器;第一CPU和第二CPU之间通过UPI信号连接;FLASH用于各部件的FW等配置文件烧录及存储;NIC为AI服务器中常用下挂设备,与本提案的功能实现无必然联系;UPI用于实现CPU之间的通信。
另一方面,本发明技术方案提供一种AI服务器计算单元架构的实现方法,包括如下步骤:
获取相应的CPU和GPU的功耗数据;
将获取的功耗数据进行去躁处理后,计算当前时间段内的各计算单元平均功耗;
将计算的平均功耗与功耗基准值进行对比,计算GPU的利用率;
根据GPU的利用率判别GPU个数的增减;
将计算的平均功耗与功耗基准值进行对比,计算CPU的利用率;
根据CPU的利用率判别GPU与CPU互联模式的选择。
优选地,根据GPU的利用率判别GPU个数的增减的步骤包括:
判断PSW1+PSW2<A·2(n+1)PG是否成立;
若是,发送指令包到第一PCIe Switch芯片和第二PCIe Switch芯片,控制第一PCIe Switch芯片、第二PCIe Switch芯片的下行端口部分关闭,减少第一PCIe Switch芯片和第二PCIe Switch芯片下挂的GPU的个数;
若否,判断PSW1+PSW2>B·2(n+1)PG是否成立;
若是,发送指令包到第一PCIe Switch芯片和第二PCIe Switch芯片,控制第一PCIe Switch芯片、第二PCIe Switch芯片的下行端口部分打开,增加第一PCIe Switch芯片和第二PCIe Switch芯片下挂的GPU的个数;
若否,执行步骤将计算的平均功耗与功耗基准值进行对比,计算GPU的利用率;
其中,n+1为每个PCIe Switch芯片下挂的GPU个数,PSW1为第一PCIe Switch芯片下挂GPU实时时段的功耗值;
PSW2为第二PCIe Switch芯片下挂GPU实时时段的功耗值;
PG为单颗GPU功耗阈值;
A为设定的第一权值,B为设定的第二权值,并且B>A。
优选地,根据CPU的利用率判别GPU与CPU互联模式的选择的步骤包括:
判断PC0<D·PC是否成立,若是,选择级联模式;若否,判断PC0>B·PC是否成立,若是,选择平衡模式;若否,选择通用模式;
PC0为第一CPU实时时段的功耗值;
PC为单颗CPU功耗阈值;
D为设定的第三权值,并且D<B。
优选地,该方法还包括:
FPGA根据对功耗数据的处理结果分别向第一PCIe Switch芯片的I2C管理端口和第二PCIe Switch芯片的I2C管理端口发送控制指令包,控制第一PCIe Switch芯片A端口打开并设置为下行端口、第二PCIe Switch芯片A端口打开并设置为上行端口、第二PCIeSwitch芯片的B端口和C端口关闭时,第一PCIe Switch芯片的A端口和第二PCIe Switch芯片的A端口通信连接,实现级联模式的选择;
FPGA根据对功耗数据的处理结果分别向第一PCIe Switch芯片的I2C管理端口和第二PCIe Switch芯片的I2C管理端口发送控制指令包,控制第一PCIe Switch芯片A端口关闭、第二PCIe Switch芯片A端口和C端口关闭、第二PCIe Switch芯片的B端口打开并设置为上行端口时,第二PCIe Switch芯片的B端口与第一CPU通信连接;实现通用模式的选择;
FPGA根据对功耗数据的处理结果分别向第一PCIe Switch芯片的I2C管理端口和第二PCIe Switch芯片的I2C管理端口发送控制指令包,控制第一PCIe Switch芯片A端关闭、第二PCIe Switch芯片A端口和B端口关闭、第二PCIe Switch芯片C端口打开并设置为上行端口时,第二PCIe Switch芯片的C端口与第二CPU通信连接;实现平衡模式的选择。
BMC借助VR芯片读取CPU、GPU功耗,FPGA获取并分析功耗数据,向PCIe Switch的管理端口发送控制指令包,实现GPU参与计算的个数和GPU与CPU互联关系的调整。
从以上技术方案可以看出,本发明具有以下优点:依据不同应用场景对计算单元的需求差异,结合实际应用场景和主要计算单元的部件实时功耗,设计可自动灵活调节的计算单元架构模式,实现免开箱条件下的计算单元互联关系切换,提升CPU、GPU的计算资源利用率,优化整机功耗与均匀散热。
此外,本发明设计原理可靠,结构简单,具有非常广泛的应用前景。
由此可见,本发明与现有技术相比,具有突出的实质性特点和显著地进步,其实施的有益效果也是显而易见的。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一个实施例的架构的示意性框图。
图2是本发明一个实施例的方法的示意性流程图。
具体实施方式
为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。下面对本发明中出现的关键术语进行解释。
如图1所示,本发明实施例提供一种AI服务器计算单元架构,包括功耗获取模块、控制模块、PCIe Switch芯片;PCIe Switch芯片包括第一PCIe Switch芯片和第二PCIeSwitch芯片;
控制模块分别与第一PCIe Switch芯片和第二PCIe Switch芯片进行通信连接;
第一PCIe Switch芯片连接有第一CPU;第一CPU连接有第二CPU;第一PCIe Switch芯片和第二PCIe Switch芯片分别连接有若干个GPU;
第一PCIe Switch芯片和第二PCIe Switch芯片连接;第二PCIe Switch芯片与第一CPU连接;第二PCIe Switch芯片与第二CPU连接;
功耗获取模块,用于获取CPU、GPU的功耗数据;
控制模块,用于从功耗获取模块获取CPU、GPU的功耗数据并对功耗数据进行分析处理并根据对功耗数据的处理结果向PCIe Switch芯片发送控制指令包,控制PCIe Switch芯片端口的开关设置和上下行属性设置实现GPU参与计算的个数的调整及GPU通过PCIeSwitch芯片与CPU互联关系的调整。
在有些实施例中,功耗获取模块包括BMC和VR芯片;
VR芯片分别与GPU与CPU连接;
BMC通过扫描VR芯片的I2C地址,获取相应的CPU和GPU的功耗数据。
控制模块通过I2C从BMC获取CPU和GPU的实时功耗数据。
在有些实施例中,所述控制模块包括FPGA;所述PCIe Switch芯片设置有I2C管理端口;所述FPGA分别通过I2C与第一PCIe Switch芯片的I2C管理端口和第二PCIe Switch芯片的I2C管理端口通信连接,用于向I2C管理端口发动指令包用来控制端口的开关机上下行属性设置。
所述的第一PCIe Switch芯片和第二PCIe Switch芯片均设置有若干端口;所述端口与GPU连接;FPGA根据对功耗数据的处理结果分别向第二PCIe Switch芯片的I2C管理端口和第二PCIe Switch芯片的I2C管理端口发送控制指令包,控制第一PCIe Switch芯片、第二PCIe Switch芯片端口的开关及下行属性设置实现GPU参与计算的个数的调整。
所述的第一PCIe Switch芯片设置有A端口,第二PCIe Switch芯片设置有A端口、B端口和C端口;
FPGA根据对功耗数据的处理结果分别向第一PCIe Switch芯片的I2C管理端口和第二PCIe Switch芯片的I2C管理端口发送控制指令包,控制第一PCIe Switch芯片A端口关闭、第二PCIe Switch芯片A端口和B端口关闭、第二PCIe Switch芯片C端口打开并设置为上行端口时,第二PCIe Switch芯片的C端口与第二CPU通信连接;这种连接状态为级联模式。
FPGA根据对功耗数据的处理结果分别向第一PCIe Switch芯片的I2C管理端口和第二PCIe Switch芯片的I2C管理端口发送控制指令包,控制第一PCIe Switch芯片A端口关闭、第二PCIe Switch芯片A端口和C端口关闭、第二PCIe Switch芯片的B端口打开并设置为上行端口时,第二PCIe Switch芯片的B端口与第一CPU通信连接;这种连接状态为通用模式。
FPGA根据对功耗数据的处理结果分别向第一PCIe Switch芯片的I2C管理端口和第二PCIe Switch芯片的I2C管理端口发送控制指令包,控制第一PCIe Switch芯片A端口打开并设置为下行端口、第二PCIe Switch芯片A端口打开并设置为上行端口、第二PCIeSwitch芯片的B端口和C端口关闭时,第一PCIe Switch芯片的A端口和第二PCIe Switch芯片的A端口通信连接。这种连接状态为平衡模式。
所述的FPGA、第一PCIe Switch芯片和第二PCIe Switch芯片分别连接有FLASH;第一PCIe Switch芯片和第二PCIe Switch芯片分别连接有网络接口控制器;第一CPU和第二CPU之间通过UPI信号连接。
如图2所示,本发明实施例还提供一种AI服务器计算单元架构的实现方法,包括如下步骤:
S1:获取相应的CPU和GPU的功耗数据;本实施例中,BMC借助VR芯片读取CPU、GPU功耗数据;BMC设置实时功耗读取:通过扫描VR芯片的I2C地址,BMC获取相应CPU和GPU的工作电压/电流/功耗数据。对功耗数据的获取设置时间间隔,实现连续时间内的功耗采集;
S2:将获取的功耗数据进行去躁处理后,计算当前时间段内的各计算单元平均功耗;FPGA通过I2C从BMC获取CPU和GPU的实时功耗值,对各部件的功耗数据进行去噪处理后,计算当前时间段内的各部件平均功耗。
S3:将计算的平均功耗与功耗基准值进行对比,计算GPU的利用率;借助CPU和GPU的TDP,综合各部件的算力,对计算单元核心部件的功耗分布设置基准值
S4:根据GPU的利用率判别GPU个数的增减;根据GPU的利用率判别GPU个数的增减的步骤包括:
判断PSW1+PSW2<A·2(n+1)PG是否成立;
若是,发送指令包到第一PCIe Switch芯片和第二PCIe Switch芯片,控制第一PCIe Switch芯片、第二PCIe Switch芯片的下行端口部分关闭,减少第一PCIe Switch芯片和第二PCIe Switch芯片下挂的GPU的个数;
若否,判断PSW1+PSW2>B·2(n+1)PG是否成立;
若是,发送指令包到第一PCIe Switch芯片和第二PCIe Switch芯片,控制第一PCIe Switch芯片、第二PCIe Switch芯片的下行端口部分打开,增加第一PCIe Switch芯片和第二PCIe Switch芯片下挂的GPU的个数;
若否,执行步骤将计算的平均功耗与功耗基准值进行对比,计算GPU的利用率;
其中,n+1为每个PCIe Switch芯片下挂的GPU个数,PSW1为第一PCIe Switch芯片下挂GPU实时时段的功耗值;
PSW2为第二PCIe Switch芯片下挂GPU实时时段的功耗值;
PG为单颗GPU功耗阈值;
A为设定的第一权值,B为设定的第二权值,并且B>A。本实施例中,B的取值为80%,A的取值为50%。
S5:将计算的平均功耗与功耗基准值进行对比,计算CPU的利用率;
S6:根据CPU的利用率判别GPU与CPU互联模式的选择。
本步骤中,根据CPU的利用率判别GPU与CPU互联模式的选择的步骤包括:
判断PC0<D·PC是否成立,若是,选择级联模式;若否,判断PC0>B·PC是否成立,若是,选择平衡模式;若否,选择Common Mode方式;
PC0为第一CPU实时时段的功耗值;
PC为单颗CPU功耗阈值;
D为设定的第三权值,并且D<B。,D的取值为30%。
具体的,FPGA根据对功耗数据的处理结果分别向第一PCIe Switch芯片的I2C管理端口和第二PCIe Switch芯片的I2C管理端口发送控制指令包,控制第一PCIe Switch芯片A端口打开并设置为下行端口、第二PCIe Switch芯片A端口打开并设置为上行端口、第二PCIe Switch芯片的B端口和C端口关闭时,第一PCIe Switch芯片的A端口和第二PCIeSwitch芯片的A端口通信连接,实现级联模式的选择;
FPGA根据对功耗数据的处理结果分别向第一PCIe Switch芯片的I2C管理端口和第二PCIe Switch芯片的I2C管理端口发送控制指令包,控制第一PCIe Switch芯片A端口关闭、第二PCIe Switch芯片A端口和C端口关闭、第二PCIe Switch芯片的B端口打开并设置为上行端口时,第二PCIe Switch芯片的B端口与第一CPU通信连接;实现通用模式的选择;
FPGA根据对功耗数据的处理结果分别向第一PCIe Switch芯片的I2C管理端口和第二PCIe Switch芯片的I2C管理端口发送控制指令包,控制第一PCIe Switch芯片A端关闭、第二PCIe Switch芯片A端口和B端口关闭、第二PCIe Switch芯片C端口打开并设置为上行端口时,第二PCIe Switch芯片的C端口与第二CPU通信连接;实现平衡模式的选择。
进一步具体的,第一PCIe Switch芯片的port0-n和第二PCIe Switch芯片的port0-n的开关设置,可以实现参与计算的GPU个数的调整。对每一个port的开关设置,可以实现下挂GPU的使用情况。当应用场景所需算力小时,局部关闭port;当应用场景所需算力大时,增加打开的port数量。
通过上述对PCIe Switch芯片port的设置实现CPU-GPU互联形式、GPU参与计算个数的自动调整,在保证算力需求的前提下,实时均衡计算资源使用。
尽管通过参考附图并结合优选实施例的方式对本发明进行了详细描述,但本发明并不限于此。在不脱离本发明的精神和实质的前提下,本领域普通技术人员可以对本发明的实施例进行各种等效的修改或替换,而这些修改或替换都应在本发明的涵盖范围内/任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (9)
1.一种AI服务器计算单元架构,其特征在于,包括功耗获取模块、控制模块、PCIeSwitch芯片;PCIe Switch芯片包括第一PCIe Switch芯片和第二PCIe Switch芯片;
控制模块分别与第一PCIe Switch芯片和第二PCIe Switch芯片进行通信连接;
第一PCIe Switch芯片连接有第一CPU;第一CPU连接有第二CPU;第一PCIe Switch芯片和第二PCIe Switch芯片分别连接有若干个GPU;
第一PCIe Switch芯片和第二PCIe Switch芯片连接;第二PCIe Switch芯片与第一CPU连接;第二PCIe Switch芯片与第二CPU连接;
功耗获取模块,用于获取CPU、GPU的功耗数据;
控制模块,用于从功耗获取模块获取CPU、GPU的功耗数据并对功耗数据进行分析处理并根据对功耗数据的处理结果向PCIe Switch芯片发送控制指令包,控制PCIe Switch芯片端口的开关设置和上下行属性设置实现GPU参与计算的个数的调整及GPU通过PCIe Switch芯片与CPU互联关系的调整;
所述控制模块包括FPGA;所述的第一PCIe Switch芯片设置有A端口,第二PCIe Switch芯片设置有A端口、B端口和C端口;
FPGA根据对功耗数据的处理结果分别向第一PCIe Switch芯片的I2C管理端口和第二PCIe Switch芯片的I2C管理端口发送控制指令包,控制第一PCIe Switch芯片A端口关闭、第二PCIe Switch芯片A端口和B端口关闭、第二PCIe Switch芯片C端口打开并设置为上行端口时,第二PCIe Switch芯片的C端口与第二CPU通信连接;
FPGA根据对功耗数据的处理结果分别向第一PCIe Switch芯片的I2C管理端口和第二PCIe Switch芯片的I2C管理端口发送控制指令包,控制第一PCIe Switch芯片A端口关闭、第二PCIe Switch芯片A端口和C端口关闭、第二PCIe Switch芯片的B端口打开并设置为上行端口时,第二PCIe Switch芯片的B端口与第一CPU通信连接;
FPGA根据对功耗数据的处理结果分别向第一PCIe Switch芯片的I2C管理端口和第二PCIe Switch芯片的I2C管理端口发送控制指令包,控制第一PCIe Switch芯片A端口打开并设置为下行端口、第二PCIe Switch芯片A端口打开并设置为上行端口、第二PCIe Switch芯片的B端口和C端口关闭时,第一PCIe Switch芯片的A端口和第二PCIe Switch芯片的A端口通信连接。
2.根据权利要求1所述的一种AI服务器计算单元架构,其特征在于,功耗获取模块包括BMC和VR芯片;
VR芯片分别与GPU与CPU连接;
BMC通过扫描VR芯片的I2C地址,获取相应的CPU和GPU的功耗数据;
控制模块通过I2C从BMC获取CPU和GPU的实时功耗数据。
3.根据权利要求1所述的一种AI服务器计算单元架构,其特征在于,所述PCIe Switch芯片设置有I2C管理端口;
所述FPGA分别通过I2C与第一PCIe Switch芯片的I2C管理端口和第二PCIe Switch芯片的I2C管理端口通信连接。
4.根据权利要求1所述的一种AI服务器计算单元架构,其特征在于,所述的第一PCIeSwitch芯片和第二PCIe Switch芯片均设置有若干端口;所述端口与GPU连接;
FPGA根据对功耗数据的处理结果分别向第一PCIe Switch芯片的I2C管理端口和第二PCIe Switch芯片的I2C管理端口发送控制指令包,控制第一PCIe Switch芯片、第二PCIeSwitch芯片端口的开关及下行属性设置实现GPU参与计算的个数的调整。
5.根据权利要求1所述的一种AI服务器计算单元架构,其特征在于,所述的FPGA、第一PCIe Switch芯片和第二PCIe Switch芯片分别连接有FLASH;第一PCIe Switch芯片和第二PCIe Switch芯片分别连接有网络接口控制器;第一CPU和第二CPU之间通过UPI信号连接。
6.一种AI服务器计算单元架构的实现方法,其特征在于,所述方法基于权利要求1-5中任一项权利要求所述的AI服务器计算单元架构,所述方法包括如下步骤:
获取相应的CPU和GPU的功耗数据;
将获取的功耗数据进行去躁处理后,计算当前时间段内的各计算单元平均功耗;
将计算的平均功耗与功耗基准值进行对比,计算GPU的利用率;
根据GPU的利用率判别GPU个数的增减;
将计算的平均功耗与功耗基准值进行对比,计算CPU的利用率;
根据CPU的利用率判别GPU与CPU互联模式的选择。
7.根据权利要求6所述的一种AI服务器计算单元架构的实现方法,其特征在于,根据GPU的利用率判别GPU个数的增减的步骤包括:
若是,发送指令包到第一PCIe Switch芯片和第二PCIe Switch芯片,控制第一PCIeSwitch芯片、第二PCIe Switch芯片的下行端口部分关闭,减少第一PCIe Switch 芯片和第二PCIe Switch芯片下挂的GPU的个数;
若是,发送指令包到第一PCIe Switch芯片和第二PCIe Switch芯片,控制第一PCIeSwitch芯片、第二PCIe Switch芯片的下行端口部分打开,增加第一PCIe Switch 芯片和第二PCIe Switch芯片下挂的GPU的个数;
若否,执行步骤将计算的平均功耗与功耗基准值进行对比,计算GPU的利用率;
其中,n+1为每个PCIe Switch芯片下挂的GPU个数,PSW1为第一PCIe Switch芯片下挂GPU实时时段的功耗值;
PSW2为第二PCIe Switch芯片下挂GPU实时时段的功耗值;
PG为单颗GPU功耗阈值;
A为设定的第一权值,B为设定的第二权值,并且B>A。
9.根据权利要求8所述的一种AI服务器计算单元架构的实现方法,其特征在于,该方法还包括:
FPGA根据对功耗数据的处理结果分别向第一PCIe Switch芯片的I2C管理端口和第二PCIe Switch芯片的I2C管理端口发送控制指令包,控制第一PCIe Switch芯片A端口打开并设置为下行端口、第二PCIe Switch芯片A端口打开并设置为上行端口、第二PCIe Switch芯片的B端口和C端口关闭时,第一PCIe Switch芯片的A端口和第二PCIe Switch芯片的A端口通信连接,实现级联模式的选择;
FPGA根据对功耗数据的处理结果分别向第一PCIe Switch芯片的I2C管理端口和第二PCIe Switch芯片的I2C管理端口发送控制指令包,控制第一PCIe Switch芯片A端口关闭、第二PCIe Switch芯片A端口和C端口关闭、第二PCIe Switch芯片的B端口打开并设置为上行端口时,第二PCIe Switch芯片的B端口与第一CPU通信连接;实现通用模式的选择;
FPGA根据对功耗数据的处理结果分别向第二PCIe Switch芯片的I2C管理端口和第二PCIe Switch芯片的I2C管理端口发送控制指令包,控制第一PCIe Switch芯片A端关闭、第二PCIe Switch芯片A端口和B端口关闭、第二PCIe Switch芯片C端口打开并设置为上行端口时,第二PCIe Switch芯片的C端口与第二CPU通信连接;实现平衡模式的选择。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010476077.1A CN111737184B (zh) | 2020-05-29 | 2020-05-29 | 一种ai服务器计算单元架构及实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010476077.1A CN111737184B (zh) | 2020-05-29 | 2020-05-29 | 一种ai服务器计算单元架构及实现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111737184A CN111737184A (zh) | 2020-10-02 |
CN111737184B true CN111737184B (zh) | 2022-08-12 |
Family
ID=72647976
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010476077.1A Active CN111737184B (zh) | 2020-05-29 | 2020-05-29 | 一种ai服务器计算单元架构及实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111737184B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112306947A (zh) * | 2020-11-05 | 2021-02-02 | 山东云海国创云计算装备产业创新中心有限公司 | 一种拓扑切换方法、装置及设备 |
CN112613264A (zh) * | 2020-12-25 | 2021-04-06 | 南京蓝洋智能科技有限公司 | 一种分布式可拓展的小芯片设计架构 |
CN113127194B (zh) * | 2021-03-26 | 2023-08-08 | 山东英信计算机技术有限公司 | 一种管理芯片资源自适应分配方法、装置及介质 |
CN113194048B (zh) * | 2021-04-16 | 2023-05-26 | 山东英信计算机技术有限公司 | 一种动态切换cpu与gpu拓扑的装置及使用方法 |
CN113849431A (zh) * | 2021-09-24 | 2021-12-28 | 山东云海国创云计算装备产业创新中心有限公司 | 一种系统拓扑结构切换方法、装置及介质 |
CN114253897B (zh) * | 2021-12-16 | 2023-07-14 | 苏州浪潮智能科技有限公司 | 一种系统PCIe拓扑动态切换系统与方法 |
CN115994107B (zh) * | 2023-03-22 | 2023-07-14 | 苏州浪潮智能科技有限公司 | 存储设备的存取加速系统 |
CN116319324B (zh) * | 2023-05-23 | 2023-08-04 | 天津市亿人科技发展有限公司 | 一种基于sd-wan技术在arm芯片架构上的低功耗实现方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107302465A (zh) * | 2017-08-18 | 2017-10-27 | 郑州云海信息技术有限公司 | 一种PCIe Switch服务器整机管理方法 |
CN108845970A (zh) * | 2018-05-30 | 2018-11-20 | 郑州云海信息技术有限公司 | 一种自由切换gpu服务器拓扑的装置及方法 |
-
2020
- 2020-05-29 CN CN202010476077.1A patent/CN111737184B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107302465A (zh) * | 2017-08-18 | 2017-10-27 | 郑州云海信息技术有限公司 | 一种PCIe Switch服务器整机管理方法 |
CN108845970A (zh) * | 2018-05-30 | 2018-11-20 | 郑州云海信息技术有限公司 | 一种自由切换gpu服务器拓扑的装置及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111737184A (zh) | 2020-10-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111737184B (zh) | 一种ai服务器计算单元架构及实现方法 | |
Zhang et al. | Load balancing in data center networks: A survey | |
CN107579922B (zh) | 网络负载均衡装置和方法 | |
Huang et al. | Service chaining for hybrid network function | |
CN111198764A (zh) | 一种基于sdn的负载均衡实现系统及方法 | |
CN108845970A (zh) | 一种自由切换gpu服务器拓扑的装置及方法 | |
CN109257287A (zh) | 一种最短路径确定方法及控制器 | |
CN108337179A (zh) | 链路流量控制方法及装置 | |
Carrega et al. | Traffic merging for energy-efficient datacenter networks | |
CN107204933A (zh) | 分布式流量调节方法及装置 | |
CN108810109B (zh) | 一种基于能耗优化的虚拟数据中心放置方法 | |
Adnan et al. | Path consolidation for dynamic right-sizing of data center networks | |
Carrega et al. | Applying traffic merging to datacenter networks | |
Yang et al. | Hop-by-hop computing for green Internet routing | |
He et al. | GreenVLAN: An energy-efficient approach for VLAN design | |
Hu et al. | Software-defined congestion control algorithm for IP networks | |
WO2015062484A1 (en) | Calculating shortest path first tree | |
Çavdar et al. | Green MapReduce for heterogeneous data centers | |
Garroppo et al. | Energy saving heuristics in backbone networks | |
Lu et al. | High-elasticity virtual cluster placement in multi-tenant cloud data centers | |
Bolla et al. | EE-DROP: An energy-aware router prototype | |
Liu et al. | RSLB: Robust and scalable load balancing in software-defined data center networks | |
CN109120480A (zh) | 基于数据中心的链路优化方法及装置 | |
Padidem et al. | Studying Offloading Optimization for Energy-Latency Tradeoff with Collaborative Edge Computing | |
CN110620691A (zh) | 664航电网络的物理拓扑结构生成算法 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |