CN117591378A - 一种服务器的温度控制方法、系统、设备及存储介质 - Google Patents
一种服务器的温度控制方法、系统、设备及存储介质 Download PDFInfo
- Publication number
- CN117591378A CN117591378A CN202410066855.8A CN202410066855A CN117591378A CN 117591378 A CN117591378 A CN 117591378A CN 202410066855 A CN202410066855 A CN 202410066855A CN 117591378 A CN117591378 A CN 117591378A
- Authority
- CN
- China
- Prior art keywords
- component
- temperature information
- stage
- components
- controller
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 48
- 238000004590 computer program Methods 0.000 claims description 9
- 239000000758 substrate Substances 0.000 claims description 9
- 238000001514 detection method Methods 0.000 claims description 3
- 230000005540 biological transmission Effects 0.000 description 15
- 238000010586 diagram Methods 0.000 description 8
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000001816 cooling Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3058—Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations
- G06F11/3062—Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations where the monitored property is the power consumption
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/16—Constructional details or arrangements
- G06F1/20—Cooling means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3055—Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available
-
- 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)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Human Computer Interaction (AREA)
- Power Sources (AREA)
Abstract
本发明公开了一种服务器的温度控制方法、系统、设备及存储介质,应用于服务器控制技术领域,解决了传统方案中服务器的温度控制不理想的问题,包括:在服务器上电之后,并行处理设备逐个确定出N个部件各自的部件类型并发送至基板管理控制器;在每个参数读取周期的第一阶段,通过自身的N个线程以并行读取的方式同时读取N个部件各自的温度信息;第二阶段,将部件类型为图形处理器的各个部件的温度信息发送至基板管理控制器;第三阶段,将部件类型非图形处理器的各个部件的温度信息发送至基板管理控制器,以使得基板管理控制器基于N个部件各自的温度信息进行服务器温度控制。应用本发明的方案,可以更准确、有效地实现服务器的温度控制。
Description
技术领域
本发明涉及服务器控制技术领域,特别是涉及一种服务器的温度控制方法、系统、设备及存储介质。
背景技术
一般来说,服务器进行散热时,通常是让BMC(Board Management Controller,基板管理控制器)使用I2C(Inter-Integrated Circuit,两线式串行总线)通过带外(Out ofBand)的方式去轮询各个部件,从而取得周边各部件的参数值。
可参阅图1,为目前的一种服务器的设计示意图,图1中的BMC通过2张两线式串行总线开关芯片(I2C Switch),总共可以接入11张PCIe(Peripheral ComponentInterconnect express,高速串行计算机扩展总线标准)卡,图1中依次标记为PCIe卡0至PCIe卡10,如果读取每张PCIe卡的温度信息需要耗费100至300毫秒(不同部件可能会有不同的耗费时间),则BMC读取图1中的该背板上的全部PCIe卡的温度信息便需要1.1秒至3.3秒,耗时较长。并且在实际应用中,服务器内密度越来越高,内含的部件数量越来越多,BMC可能有好几个区块需要轮询,均轮询之后,整体耗时可能需要3秒至5秒甚至更多。如果部分部件是高温度敏感性的部件,就可能无法做到温度的及时、准确控制,导致这部分部件温度上升较快,进而需要将风扇功率调整地较大以降温,也就容易出现风扇噪音较大,能源损耗高,风扇波动频繁,缩短风扇寿命的情况,最终影响了服务器的使用寿命和可靠性。
综上所述,如何更准确、有效地实现服务器的温度控制,保障服务器的使用寿命和可靠性,是目前本领域技术人员急需解决的技术问题。
发明内容
本发明的目的是提供一种服务器的温度控制方法、系统、设备及存储介质,以更准确、有效地实现服务器的温度控制,保障服务器的使用寿命和可靠性。
为解决上述技术问题,本发明提供如下技术方案:
一种服务器的温度控制方法,基板管理控制器与预设的并行处理设备连接,所述并行处理设备与N个部件连接,所述服务器的温度控制方法应用于所述并行处理设备中,包括:
在服务器上电之后,逐个确定出N个部件各自的部件类型并发送至所述基板管理控制器;
在每个参数读取周期的第一阶段,通过自身的N个线程以并行读取的方式同时读取N个部件各自的温度信息;
在每个参数读取周期的第二阶段,将部件类型为图形处理器的各个部件的温度信息发送至所述基板管理控制器;
在每个参数读取周期的第三阶段,将部件类型非图形处理器的各个部件的温度信息发送至所述基板管理控制器,以使得所述基板管理控制器基于N个部件各自的温度信息进行所述服务器的温度控制。
在一种实施方式中,所述并行处理设备包括至少具有N个线程的单个第一控制器。
在一种实施方式中,所述第一控制器具有用于连接所述基板管理控制器的第一接口和第二接口;
在每个参数读取周期的第二阶段,将部件类型为图形处理器的各个部件的温度信息发送至所述基板管理控制器,包括:
在每个参数读取周期的第二阶段,通过所述第一控制器自身的第一接口,将部件类型为图形处理器的各个部件的温度信息发送至所述基板管理控制器;
在每个参数读取周期的第三阶段,将部件类型非图形处理器的各个部件的温度信息发送至所述基板管理控制器,包括:
在每个参数读取周期的第三阶段,通过所述第一控制器自身的第二接口,将部件类型非图形处理器的各个部件的温度信息发送至所述基板管理控制器。
在一种实施方式中,N个部件中,除去图形处理器之外的部件类型共有K种,K为不小于2的正整数,参数读取周期的第三阶段划分为K个子阶段,i为正整数且1≤i≤K;
在每个参数读取周期的第三阶段,通过所述第一控制器自身的第二接口,将部件类型非图形处理器的各个部件的温度信息发送至所述基板管理控制器,包括:
在每个参数读取周期的第三阶段的第i子阶段,通过所述第一控制器自身的第二接口,将部件类型非图形处理器的第i种部件的温度信息发送至所述基板管理控制器。
在一种实施方式中,所述并行处理设备包括M个第二控制器,M个所述第二控制器具有的线程的总数量大于等于N,M为不小于2的正整数,任意1个所述第二控制器至少连接N个所述部件中的1个所述部件,N个所述部件中的任意1个所述部件最多连接1个所述第二控制器。
在一种实施方式中,M个所述第二控制器的器件型号均相同,每个所述第二控制器均具有a个线程,a为正整数且a×M≥N,并且每个所述第二控制器均具有用于连接所述基板管理控制器的第一接口和第二接口。
在一种实施方式中,在每个参数读取周期的第一阶段,通过自身的N个线程以并行读取的方式同时读取N个部件各自的温度信息,包括:
在每个参数读取周期的第一阶段,每个所述第二控制器均通过自身的a个线程以并行读取的方式同时读取与自身连接的各个部件各自的温度信息。
在一种实施方式中,第二阶段划分为M个子阶段,j为正整数且1≤j≤M;
在每个参数读取周期的第二阶段,将部件类型为图形处理器的各个部件的温度信息发送至所述基板管理控制器,包括:
在每个参数读取周期的第二阶段的第j子阶段,由M个第二控制器中的第j个第二控制器,通过自身的第一接口,将与第j个第二控制器自身所连接的部件类型为图形处理器的各个部件的温度信息发送至所述基板管理控制器。
在一种实施方式中,N个部件中,除去图形处理器之外的部件类型共有K种,K为不小于2的正整数,参数读取周期的第三阶段划分为K轮,每轮均划分为M个子阶段,i为正整数且1≤i≤K,j为正整数且1≤j≤M;
在每个参数读取周期的第三阶段,将部件类型非图形处理器的各个部件的温度信息发送至所述基板管理控制器,包括:
在每个参数读取周期的第三阶段的第i轮的第j子时段,由M个第二控制器中的第j个第二控制器,通过自身的第二接口,将与第j个第二控制器自身所连接的部件类型非图形处理器的第i种部件的温度信息发送至所述基板管理控制器。
在一种实施方式中,所述并行处理设备为基于微控制单元的并行处理设备,或者为基于现场可编程门阵列的并行处理设备,或者为基于复杂可编程逻辑器件的并行处理设备。
在一种实施方式中,还包括:
在接收到任意1个部件发送的故障信号时,暂停当前阶段的温度信息的发送并将所述故障信号发送至所述基板管理控制器,并在所述故障信号发送完成之后继续当前阶段的温度信息的发送。
一种服务器的温度控制系统,包括基板管理控制器以及与所述基板管理控制器连接的预设的并行处理设备,所述并行处理设备与N个部件连接,所述并行处理设备包括:
上电检测模块,用于在服务器上电之后,逐个确定出N个部件各自的部件类型并发送至所述基板管理控制器;
第一阶段执行模块,用于在每个参数读取周期的第一阶段,通过自身的N个线程以并行读取的方式同时读取N个部件各自的温度信息;
第二阶段执行模块,用于在每个参数读取周期的第二阶段,将部件类型为图形处理器的各个部件的温度信息发送至所述基板管理控制器;
第三阶段执行模块,用于在每个参数读取周期的第三阶段,将部件类型非图形处理器的各个部件的温度信息发送至所述基板管理控制器,以使得所述基板管理控制器基于N个部件各自的温度信息进行所述服务器的温度控制。
一种服务器的温度控制设备包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序以实现如上述所述的服务器的温度控制方法的步骤。
一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述所述的服务器的温度控制方法的步骤。
一种服务器的温度控制方法,基板管理控制器与预设的并行处理设备连接,所述并行处理设备与N个部件连接,所述服务器的温度控制方法应用于所述基板管理控制器中,包括:
在服务器上电,并且通过所述并行处理设备逐个确定出N个部件各自的部件类型之后,接收所述并行处理设备发送的N个部件各自的部件类型;
在每个参数读取周期的第二阶段,接收所述并行处理设备发送的部件类型为图形处理器的各个部件的温度信息;
在每个参数读取周期的第三阶段,接收所述并行处理设备发送的部件类型非图形处理器的各个部件的温度信息;
基于N个部件各自的温度信息进行所述服务器的温度控制;
其中,在每个参数读取周期的第一阶段,所述并行处理设备通过自身的N个线程以并行读取的方式同时读取N个部件各自的温度信息。
应用本发明实施例所提供的技术方案,考虑到基板管理控制器采集温度信息耗时较长,是由于使用基板管理控制器轮询各个部件,而部件数量较多而导致的,对此,本申请的方案中专门设置了与基板管理控制器连接的并行处理设备,来协助基板管理控制器实现温度数据的获取进而实现服务器的温度控制。具体的,该并行处理设备与N个部件连接,在每个参数读取周期的第一阶段,该并行处理设备通过自身的N个线程以并行读取的方式同时读取N个部件各自的温度信息,可以看出,无论N的数量是多是少,由于该并行处理设备是通过自身的N个线程以并行读取的方式同时读取N个部件各自的温度信息,使得即便部件数量较多,也不会增大参数读取周期的第一阶段的耗时。而在第二阶段和第三阶段,该并行处理设备可以将N个部件各自的温度信息发送至基板管理控制器,以使得基板管理控制器进行服务器的温度控制,第二阶段和第三阶段的耗时均很短。并且本申请考虑到,不同类型的部件对于温度敏感不同,相较于其他的部件,图形处理器是高温度敏感性的部件,因此本申请的方案中,会优先在第二阶段,将部件类型为图形处理器的各个部件的温度信息均发送至基板管理控制器,使得基板管理控制器能够及时得知各个图形处理器的温度信息进而进行温度控制,也即有利于保障图形处理器的温度的稳定性。当然,由于本申请的方案需要区分部件类型,因此需要在服务器上电之后,逐个确定出N个部件各自的部件类型并发送至基板管理控制器,相较于传统方案,该操作确实是个额外操作且存在一定耗时,但是只需要在服务器上电之后执行一次即可,不影响服务器后续运行过程中的各参数读取周期。
综上所述,本申请的方案可以有效地缩短基板管理控制器获知各个部件的温度信息的耗时,并且可以及时得知高温度敏感性的图形处理器的温度信息,使得本申请的方案可以更准确、有效地实现服务器的温度控制,保障服务器的使用寿命和可靠性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为目前的一种服务器的设计示意图;
图2为本发明一种具体实施方式中的服务器的温度控制系统的结构示意图;
图3为本发明中一种服务器的温度控制方法应用于并行处理设备中的实施流程图;
图4为本发明一种具体实施方式中的并行处理设备的结构示意图;
图5为本发明另一种具体实施方式中的并行处理设备的结构示意图;
图6为本发明另一种具体实施方式中的并行处理设备的模块结构示意图;
图7为本发明一种具体实施方式中的服务器的温度控制设备的结构示意图;
图8为本发明中一种计算机可读存储介质的结构示意图;
图9为本发明中一种服务器的温度控制方法应用于基板管理控制器中的实施流程图。
具体实施方式
本发明的核心是提供一种服务器的温度控制方法,可以有效地缩短基板管理控制器获知各个部件的温度信息的耗时,并且可以及时得知高温度敏感性的图形处理器的温度信息,使得本申请的方案可以更准确、有效地实现服务器的温度控制,保障服务器的使用寿命和可靠性。
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参考图2,图2为本发明一种具体实施方式中的服务器的温度控制系统的结构示意图,该服务器的温度控制系统包括基板管理控制器和并行处理设备。图2中,基板管理控制器与预设的并行处理设备连接,并行处理设备与N个部件连接,可参阅图3,为本发明中一种服务器的温度控制方法的实施流程图,且该服务器的温度控制方法可以应用于并行处理设备中,包括以下步骤:
步骤S301:在服务器上电之后,逐个确定出N个部件各自的部件类型并发送至基板管理控制器。
由于本申请的方案中,后续是按照部件类型的不同,先后将不同类型的部件的温度信息从并行处理设备发送至基板管理控制器,因此,需要先确定出N个部件各自的部件类型。
步骤S301只需要在服务器上电之后执行一次即可,即后续的每个参数读取周期内,基板管理控制器均已知N个部件各自的部件类型。当然,在少部分场合中,会存在部件更新的情况,例如服务器的某块背板的某个插槽处新加入了1个GPU(Graphics ProcessingUnit,图形处理器),则通常是在服务器下电之后进行新部件插入的操作,当然,如果部分场合中允许带电操作,则在部件更新之后执行一次步骤S301即可。
本申请描述的N个部件,通常均为设置在背板上的PCIe卡,并行处理设备也可以设置在背板上,当然,部分场合中的服务器可能有多块背板,则对于每一块背板,均可以应用本申请的方案,使得基板管理控制器能够基于该背板上设置的并行处理设备,实现各个部件的温度信息的快速读取。例如部分场合中,服务器具有前窗硬盘背板、内置SSD(SolidState Disk,固态硬盘)背板、前窗扩充板、后窗PCIE卡背板等等。
在服务器上电之后,基板管理控制器可以通过并行处理设备轮询与该并行处理设备连接的N个部件,从而逐个确定出N个部件各自的部件类型。
步骤S302:在每个参数读取周期的第一阶段,通过自身的N个线程以并行读取的方式同时读取N个部件各自的温度信息。
在每个参数读取周期的第一阶段,由并行处理设备,通过自身的N个线程以并行读取的方式同时读取N个部件各自的温度信息,这样使得即便N的数值较大,本申请的方案在参数读取周期的第一阶段的耗时也不会增加。
并行处理设备的具体实现方式可以有多种,例如在本发明的一种具体实施方式中,考虑到MCU(Micro Controller Unit,微控制单元),CPLD(Complex ProgrammableLogic Device,复杂可编程逻辑器件),以及FPGA(Field Programmable Gate Array,现场可编程门阵列)均有实现多线程的能力,因此,在本发明的一种具体实施方式中,并行处理设备可以为基于微控制单元的并行处理设备,或者为基于现场可编程门阵列的并行处理设备,或者为基于复杂可编程逻辑器件的并行处理设备。例如后文实施方式中描述的第一控制器便可以具体为MCU,或者为CPLD,或者为FPGA,同样的,后文实施方式中描述的各个第二控制器可以为MCU,或者为CPLD,或者为FPGA。
并且,并行处理设备可以由单颗芯片实现,也可以由多颗芯片实现,两种方式各有优点,后文中会对这两种实施方式展开说明。
步骤S303:在每个参数读取周期的第二阶段,将部件类型为图形处理器的各个部件的温度信息发送至基板管理控制器。
并行处理设备在第一阶段,通过自身的N个线程以并行读取的方式同时读取N个部件各自的温度信息之后,由于GPU(Graphics Processing Unit,图形处理器)是高温度敏感性的部件,很容易出现过温的情况,因此,本申请的方案中,专门在每个参数读取周期的第二阶段,由并行处理设备将部件类型为图形处理器的各个部件的温度信息发送至基板管理控制器,也就是说,优先将N个部件中的各GPU的温度信息发送至基板管理控制器,以便基板管理控制器能够及时得知各个GPU的温度信息进而进行温度控制,有利于保障GPU温度的稳定性。
步骤S304:在每个参数读取周期的第三阶段,将部件类型非图形处理器的各个部件的温度信息发送至基板管理控制器,以使得基板管理控制器基于N个部件各自的温度信息进行服务器的温度控制。
各GPU的温度信息发送完毕之后,便可以进入每个参数读取周期的第三阶段,该阶段,并行处理设备便可以将除了GPU之外的各个部件的温度信息发送至基板管理控制器,以使得基板管理控制器基于N个部件各自的温度信息进行服务器的温度控制。
基板管理控制器基于N个部件各自的温度信息进行服务器的温度控制时,具体实现方式可以有多种,可以根据实际需要进行设定和调整,并不影响本发明的实施,例如,在任意时刻,基板管理控制器确定出某个部件过温时,便可以立即控制相关风扇的转速提高,以降低该部件的温度。
对于任意1个部件的温度信息,该部件的温度信息中包括的具体内容也可以根据实际需要进行设定和调整,通常会包括该部件的温度,在部分场合中还可以有该部件其他方面的温度信息,例如该部件的负载大小等也可以视为是该部件温度的反映,因此也可以作为该部件的温度信息,当然,温度信息中包括的具体内容的设置,通常需要与基板管理控制器进行温度控制时使用的相关算法进行配合,实现服务器的温度控制,以保障各个部件工作在合适的温度范围内。
在本发明的一种具体实施方式中,并行处理设备包括至少具有N个线程的单个第一控制器。
如上文的描述,并行处理设备可以由单颗芯片实现,也可以由多颗芯片实现,该种实施方式中,并行处理设备便是由单个控制器构成,也即由单颗芯片实现,将该控制器称为第一控制器。
并行处理设备由第一控制器构成时,便要求第一控制器至少具有N个线程,采用该种实施方式,可以大幅节省温度信息的读取耗时。第一控制器通常使用的是独立运作的N组I2C总线分别连接N个部件。
进一步的,在本发明的一种具体实施方式中,第一控制器具有用于连接基板管理控制器的第一接口和第二接口;
相应的,步骤S303具体包括:
在每个参数读取周期的第二阶段,通过第一控制器自身的第一接口,将部件类型为图形处理器的各个部件的温度信息发送至基板管理控制器;
相应的,步骤S304描述的在每个参数读取周期的第三阶段,将部件类型非图形处理器的各个部件的温度信息发送至所述基板管理控制器,可以具体包括:
在每个参数读取周期的第三阶段,通过第一控制器自身的第二接口,将部件类型非图形处理器的各个部件的温度信息发送至基板管理控制器。
该种实施方式中考虑到,对于某块背板,基板管理控制器通常都会预留一至两路I2C,来读取该背板上的各部件的温度信息,并且本申请的方案中,需要及时将各GPU的温度信息发送至基板管理控制器,因此,该种实施方式中,第一控制器具有用于连接基板管理控制器的第一接口和第二接口,在图4中便示出了该种实施方式,即图4中,并行处理设备具体采用的是第一控制器,第一控制器通过2路I2C总线与基板管理控制器连接,其中一路使用的是第一接口连接至BMC,图4中标记为I2C-13,另一路使用的是第二接口连接至BMC,图4中标记为I2C-14。
由于该种实施方式中只需要使用第一控制器,因此,每个参数读取周期中,BMC会先后轮询I2C-13和I2C-14,具体是在每个参数读取周期的第二阶段通过I2C-13进行各GPU的温度信息的读取,此时,第一控制器可以通过第一控制器自身的第一接口,将部件类型为GPU的各个部件的温度信息发送至BMC。
而BMC可以在每个参数读取周期的第三阶段通过I2C-14进行读取,此时,第一控制器可以通过第一控制器自身的第二接口,将部件类型非图形处理器的各个部件的温度信息发送至BMC。
此外还需要指出的是,图4的实施方式中,BMC通过2路I2C总线连接至第一控制器,其中一路I2C总线专用于接收第一控制器发送的GPU的温度信息,而另一路I2C总线则用于接收第一控制器发送其他类型部件的温度信息。如果在部分场合中,BMC只预留了1路I2C总线连接至第一控制器,则此时第一控制器通过单个接口连接至BMC即可,则各个类型部件的温度信息均从该接口发送至BMC。当然,实际应用中通常采用的是该种实施方式中BMC预留了2路I2C总线的实施方式,这是因为不同类型的部件,实现温度数据传输时使用的报文会存在一定差别,如果各种不同类型的部件均通过单路I2C总线发送至BMC,则进行该路的配置时会较为复杂,还需要为GPU的温度信息设置优先级。而采用本申请的该种实施方式时,使用专门的一路来实现各GPU的温度信息的传输,BMC只要每次都优先通过该路读取各个GPU的温度信息即可,优先地保障了各GPU的温度信息的传输效率,且便于设计。
在本发明的一种具体实施方式中,N个部件中,除去图形处理器之外的部件类型共有K种,K为不小于2的正整数,参数读取周期的第三阶段划分为K个子阶段,i为正整数且1≤i≤K;
相应的,在每个参数读取周期的第三阶段,通过第一控制器自身的第二接口,将部件类型非图形处理器的各个部件的温度信息发送至基板管理控制器,可以具体包括:
在每个参数读取周期的第三阶段的第i子阶段,通过第一控制器自身的第二接口,将部件类型非图形处理器的第i种部件的温度信息发送至基板管理控制器。
该种实施方式考虑到,第一控制器向BMC发送部件的温度信息时,对于相同类型的部件的温度信息,可以一次性发送完毕,例如在上述例子中,第一控制器的第一接口专用于传输GPU的温度信息,因此,BMC在每个参数读取周期的第二阶段通过I2C-13进行读取时,此时,第一控制器便可以通过自身的第一接口,将各GPU的温度信息一次性地发送至基板管理控制器。
而BMC在每个参数读取周期的第三阶段通过I2C-14进行读取时,由于除去GPU之外的部件类型可能有1种或多种,因此,需要按照部件类型的不同分不同的子阶段进行发送,也即该种实施方式中描述的在每个参数读取周期的第三阶段的第i子阶段,通过第一控制器自身的第二接口,将部件类型非GPU的第i种部件的温度信息发送至基板管理控制器。
以表一为例进行说明,表一为采用图4的实施方式的3种不同例子与传统方案的对照表。
表一:
表一中的表示耗时的数值的单位均为毫秒,可以看出,在传统方案中,BMC顺序轮询完11张PCIe卡之后,需要11×100=1100ms,才能获得全部的这11张PCIe卡的温度信息。
在表一的例子1中,假设图4的第一控制器连接了10个GPU和1个非GPU类型的部件,这10个GPU例如是图4中的GPU0至GPU9,这1个非GPU类型的部件例如是图4中的AIC2,AIC也即(Add-In Card,扩充卡),本申请用AIC表示非GPU类型的部件,例如具体可以是网卡,RAID(Redundant Arrays of Independent Disks,独立磁盘冗余阵列)卡,HCA(Host ChannelAdapter,主机通道适配器)卡,HBA(Host Bus Adapter,主机总线适配器)卡等类型。
表一的例子1中,参数读取周期的第一阶段耗时100ms,在这100ms内,第一控制器将11张PCIe卡的温度信息均进行了获取。第二阶段则是5ms,此时,BMC通过读取I2C-13,也即读取第一控制器的第一接口,使得BMC可以一次性得到各个GPU的温度信息。第三阶段则是5ms,此时,BMC通过读取I2C-14,也即读取第一控制器的第二接口,使得BMC可以得到AIC2的温度信息。可以看出,在例子1中,参数读取周期一共是110毫秒,与传统架构相比,(1100-110)/1100=90%,即大概可以增加90%的效率,也即降低了原耗时的90%。
在表一的例子2中,假设图4的第一控制器连接了9个GPU和3个非GPU类型的部件,这9个GPU例如是图4中的GPU1至GPU8,这3个非GPU类型的部件也即图4中的AIC0,AIC1以及AIC2,并且假设AIC0,AIC1以及AIC2是相同类型的部件,例如均为同款RAID卡。
表一的例子2中,参数读取周期的第一阶段耗时100ms,在这100ms内,第一控制器将11张PCIe卡的温度信息均进行了获取。第二阶段则是5ms,此时,BMC通过读取I2C-13,也即读取第一控制器的第一接口,使得BMC可以一次性得到这9个GPU的温度信息。由于AIC0,AIC1以及AIC2是相同类型的部件,因此例子2的第三阶段是5ms,此时,BMC通过读取I2C-14,也即读取第一控制器的第二接口,使得BMC可以一次性得到AIC0,AIC1以及AIC2的温度信息。在例子2中,参数读取周期一共是110毫秒,与传统架构相比,(1100-110)/1100=90%,大概可以增加90%的效率。
在表一的例子3中,假设图4的第一控制器连接了9个GPU和3个非GPU类型的部件,这9个GPU例如是图4中的GPU1至GPU8,这3个非GPU类型的部件也即图2中的AIC0,AIC1以及AIC2,与例子2的区别在于,例子3中,假设AIC0,AIC1以及AIC2是不同类型的部件。
表一的例子3中,参数读取周期的第一阶段以及第二阶段与例子2相同,便不再重复说明。由于AIC0,AIC1以及AIC2是不同类型的部件,因此例子3的第三阶段是3个5ms,即第三阶段需要15ms,此时,BMC通过读取I2C-14,也即读取第一控制器的第二接口,先后得到AIC0,AIC1以及AIC2的温度信息。在例子3中,参数读取周期一共是120毫秒,与传统架构相比,(1100-120)/1100≈89%,即大概可以增加89%的效率,也即降低了原耗时的89%。
在本发明的一种具体实施方式中,并行处理设备包括M个第二控制器,M个第二控制器具有的线程的总数量大于等于N,M为不小于2的正整数。
如上文的描述,并行处理设备可以由单颗芯片实现,也可以由多颗芯片实现,并且上文中对于单颗芯片实现的并行处理设备进行了详细的说明,该种实施方式中,并行处理设备则是由多颗芯片实现,即并行处理设备包括M个控制器,这M个控制器均称为第二控制器,M为不小于2的正整数,由于是M个第二控制器,因此要求M个第二控制器具有的线程的总数量大于等于N。
采用M个第二控制器时,可以理解的是,任意1个第二控制器至少连接N个部件中的1个部件,N个部件中的任意1个部件最多连接1个第二控制器。
在前述采用第一控制器的实施方式中,由于需要采用单颗芯片连接N个部件,因此对于空间的要求较高,即需要有连续的电路板面积来进行第一控制器的布置,当然,这样的方式布线上会较为简单。而该种实施方式相当于通过M个第二控制器是分布式地实现了并行处理设备,M个第二控制器可以分布式布置,也就不需要连续的电路板面积,对于电路板的要求更低,但会增加整体上的布线复杂度。
在本发明的一种具体实施方式中,M个第二控制器的器件型号均相同,每个第二控制器均具有a个线程,a为正整数且a×M≥N,并且每个第二控制器均具有用于连接基板管理控制器的第一接口和第二接口。
如上文的描述,基板管理控制器通常都会预留一至两路I2C,并且本申请的方案中,需要及时将各GPU的温度信息发送至基板管理控制器,因此,对于采用了M个第二控制器的种实施方式,对于每个第二控制器,均设置有用于连接基板管理控制器的第一接口和第二接口,采用这样的设置之后,对于每个第二控制器,都可以使用专门的一路I2C来实现连接该第二控制器的各GPU的温度信息的传输,以保障各GPU的温度信息的传输效率。
在图5中示出了3个第二控制器,即M=3,每个第二控制器最多可以连接4个PCIe部件。
并且该种实施方式中,M个第二控制器的器件型号均相同,每个第二控制器均具有a个线程,这是考虑到采用该种实施方式时便于扩展,降低工作人员的固件适配工作量,例如上文图4的场合中,外接有11个部件,因此便需要设置至少具有N个线程的第一控制器,通过独立运行的N组I2C总线连接至这11个部件,假设后续运行过程中,又增加了5个部件,第一控制器无法满足该需求,则需要工作人员重新设计新的具有更多组独立I2C的第一控制器。
而以图5为例,由于M个第二控制器的器件型号均相同,如果增加了5个部件,则只需要在图5的基础上,再添加1个完全相同的第二控制器即可,使得每个第二控制器均连接4个部件,这样不需要工作人员重新进行固件设计,即多使用1个同型号的第二控制器即可,使得该种实施方式实施灵活性很高。
在本发明的一种具体实施方式中,步骤S302可以具体包括:
在每个参数读取周期的第一阶段,每个第二控制器均通过自身的a个线程以并行读取的方式同时读取与自身连接的各个部件各自的温度信息。
该种实施方式中,由于采用的是M个第二控制器的方案,因此在每个参数读取周期的第一阶段,每个第二控制器均可以通过自身的a个线程,以并行读取的方式同时读取与自身连接的各个部件各自的温度信息,例如实际应用中由于通常采用的是I2C总线进行连接,因此,每个第二控制器均可以通过独立工作的a组I2C总线连接至最多a个部件,从而同时获取与自身连接的各个部件各自的温度信息。
在本发明的一种具体实施方式中,第二阶段划分为M个子阶段,j为正整数且1≤j≤M;
步骤S303可以具体包括:
在每个参数读取周期的第二阶段的第j子阶段,由M个第二控制器中的第j个第二控制器,通过自身的第一接口,将与第j个第二控制器自身所连接的部件类型为图形处理器的各个部件的温度信息发送至基板管理控制器。
在前文的实施方式中,由于是单个控制器实现的并行处理设备,因此在在第二阶段,第一控制器可以直接将各个GPU的温度信息发送至BMC,该种实施方式中由于是M个第二控制器实现的并行处理设备,BMC无法同时与M个第二控制器通信,而且每个第二控制器均有可能连接GPU,因此该种实施方式中,BMC需要在第二阶段轮询M个第二控制器,也即第二阶段需要划分为M个子阶段,使得在每个参数读取周期的第二阶段的第j子阶段,由M个第二控制器中的第j个第二控制器将自身所获取到的各个GPU的温度信息发送至BMC。当然,如果某个第二控制器未连接任何GPU,则BMC会在第二阶段跳过该第二控制器。
在本发明的一种具体实施方式中,N个部件中,除去图形处理器之外的部件类型共有K种,K为不小于2的正整数,参数读取周期的第三阶段划分为K轮,每轮均划分为M个子阶段,i为正整数且1≤i≤K,j为正整数且1≤j≤M;
步骤S304描述的在每个参数读取周期的第三阶段,将部件类型非图形处理器的各个部件的温度信息发送至所述基板管理控制器,可以具体包括:
在每个参数读取周期的第三阶段的第i轮的第j子时段,由M个第二控制器中的第j个第二控制器,通过自身的第二接口,将与第j个第二控制器自身所连接的部件类型非图形处理器的第i种部件的温度信息发送至基板管理控制器。
该种实施方式中,由于采用的是M个第二控制器的方案,并且除去GPU之外的部件类型可能有多种,因此在每个参数读取周期的第三阶段,需要划分为K轮,每轮均划分为M个子阶段,来实现不同的第二控制器的不同部件类型的温度信息的传输。
以表二为例进行说明,表二为采用图5的实施方式的3种不同例子与传统方案的对照表。
表二:
表一中的表示耗时的数值的单位均为毫秒,可以看出,在传统方案中,BMC顺序轮询完11张PCIe卡之后,需要11×100=1100ms,才能获得全部的这11张PCIe卡的温度信息。
在表二的例子1中,假设图5的3个第二控制器一共连接了10个GPU和1个非GPU类型的部件,这10个GPU为图5中的GPU0至GPU9,这1个非GPU类型的部件例如是图5中的AIC2。
在表二的例子1中,参数读取周期的第一阶段耗时100ms,在这100ms内,3个第二控制器各自将与自身相连接的部件的温度信息进行了获取。第二阶段分为3个子阶段,首先,BMC通过读取I2C-13,此时轮询的是图5中的第1个第二控制器的第一接口,使得BMC可以一次性得到与第1个第二控制器连接的各个GPU的温度信息,然后,BMC通过读取I2C-13,此时轮询的是图5中的第2个第二控制器的第一接口,使得BMC可以一次性得到与第2个第二控制器连接的各个GPU的温度信息,最后,BMC通过读取I2C-13,此时轮询的是图5中的第3个第二控制器的第一接口,使得BMC可以一次性得到与第3个第二控制器连接的各个GPU的温度信息,至此,参数读取周期的第二阶段结束。
在表二的例子1中,只有1个非GPU类型的部件,通过此前步骤S301时得到的信息,可以得知该部件连接的是第3个第二控制器,则此时,在参数读取周期的第三阶段,BMC通过读取I2C-14,具体是读取第3个第二控制器的第二接口,使得BMC可以得到AIC2的温度信息。可以看出,在例子1中,参数读取周期一共是120毫秒,与传统架构相比,(1100-120)/1100≈89%,即大概可以增加89%的效率,也即降低了原耗时的89%。
在表二的例子2中,假设图5的3个第二控制器连接了9个GPU和3个非GPU类型的部件,这9个GPU例如是图5中的GPU1至GPU8,这3个非GPU类型的部件也即图5中的AIC0,AIC1以及AIC2,并且假设AIC0,AIC1以及AIC2是相同类型的部件,例如均为同款RAID卡。
表二的例子2中,参数读取周期的第一阶段耗时100ms,在这100ms内,3个第二控制器各自将与自身相连接的部件的温度信息进行了获取。第二阶段分为3个子阶段,与例子1相同,也是15ms不再重复说明。
在表二的例子2中,有3个非GPU类型的部件,通过此前步骤S301时得到的信息,可以得知3个非GPU类型的部件中的1个连接的是第1个第二控制器,另外2个连接的是第3个第二控制器,则此时,在参数读取周期的第三阶段,BMC通过读取I2C-14,可以先轮询第1个第二控制器的第二接口,再轮询第3个第二控制器的第二接口,一共需要10ms。可以看出,在表二的例子2中,参数读取周期一共是125毫秒,与传统架构相比,(1100-125)/1100≈88.6%,即大概可以增加88.6%的效率。
在表二的例子3中,假设图5的3个第二控制器连接了9个GPU和3个非GPU类型的部件,这9个GPU例如是图5中的GPU1至GPU8,这3个非GPU类型的部件也即图5中的AIC0,AIC1以及AIC2,并且假设AIC0,AIC1以及AIC2是不同类型的部件。
表二的例子3中,参数读取周期的第一阶段以及第二阶段与表二的例子2相同不再重复说明。由于AIC0,AIC1以及AIC2是不同类型的部件,并且BMC可以得知3个非GPU类型的部件中的1个连接的是第1个第二控制器,另外2个连接的是第3个第二控制器,因此,在参数读取周期的第三阶段的第1轮的第1子时段,BMC通过读取I2C-14,可以轮询第1个第二控制器的第二接口,从而读取AIC0的温度数据,由于没有同类型的部件,因此第三阶段的第1轮结束,然后,可以直接进入第三阶段的第2轮的第3子时段,此时,BMC通过读取I2C-14,可以轮询第3个第二控制器的第二接口,从而读取AIC1的温度数据,由于没有同类型的部件,因此第三阶段的第2轮结束。最后,可以直接进入第三阶段的第3轮的第3子时段,此时,BMC通过读取I2C-14,可以轮询第3个第二控制器的第二接口,从而读取AIC2的温度数据,由于没有同类型的部件,因此第三阶段的第3轮结束。可以看出,该例子中第三阶段一共需要15ms。可以看出,在表二的例子3中,参数读取周期一共是130毫秒,与传统架构相比,(1100-130)/1100≈88%,即大概可以增加88.6%的效率。
可以理解温度是,本申请上文描述的子阶段或者子时段,都仅是用来区分不同的控制器发送的不同类型部件的温度数据,并不意味着每个子阶段或者子时段均有温度数据需要发送至BMC,特别是采用M个第二控制器的实施方式时,不同的第二控制器连接的部件类型未必完全相同,对于无需发送任何温度数据的子阶段或者子时段直接跳过即可,例如在上文表二的例子3中,除了GPU之外的部件类型共有3种,即K=3,而第二控制器的数量为3,即M=3,因此在第三阶段,理论上最多有9个子时段需要向BMC发送温度数据,但是上文表二的例子3中,由于除了GPU之外的部件一共就3个,因此第三阶段只经过了3个子时段便结束了。
此外由表一和表二的例子也可以看出,无论是单个控制器还是多个控制器实现并行处理设备,均可以有效地增加效率,即有效地降低了BMC的温度数据读取耗时,当然,采用单个控制器的实施方式时,增加效率会略高于多个控制器的实施方式。
在本发明的一种具体实施方式中,还可以包括:
在接收到任意1个部件发送的故障信号时,暂停当前阶段的温度信息的发送并将故障信号发送至基板管理控制器,并在故障信号发送完成之后继续当前阶段的温度信息的发送。
该种实施方式考虑到,本申请的并行处理设备还可以用于接收各个部件发送的故障信号,如果接收到任意1个部件发送的故障信号,为了保障故障信号的发送优先级,该种实施方式中,可以暂停当前阶段的温度信息的发送并将故障信号发送至基板管理控制器,并在故障信号发送完成之后继续当前阶段的温度信息的发送。
应用本发明实施例所提供的技术方案,考虑到基板管理控制器采集温度信息耗时较长,是由于使用基板管理控制器轮询各个部件,而部件数量较多而导致的,对此,本申请的方案中专门设置了与基板管理控制器连接的并行处理设备,来协助基板管理控制器实现温度数据的获取进而实现服务器的温度控制。具体的,该并行处理设备与N个部件连接,在每个参数读取周期的第一阶段,该并行处理设备通过自身的N个线程以并行读取的方式同时读取N个部件各自的温度信息,可以看出,无论N的数量是多是少,由于该并行处理设备是通过自身的N个线程以并行读取的方式同时读取N个部件各自的温度信息,使得即便部件数量较多,也不会增大参数读取周期的第一阶段的耗时。而在第二阶段和第三阶段,该并行处理设备可以将N个部件各自的温度信息发送至基板管理控制器,以使得基板管理控制器进行服务器的温度控制,第二阶段和第三阶段的耗时均很短。并且本申请考虑到,不同类型的部件对于温度敏感不同,相较于其他的部件,图形处理器是高温度敏感性的部件,因此本申请的方案中,会优先在第二阶段,将部件类型为图形处理器的各个部件的温度信息均发送至基板管理控制器,使得基板管理控制器能够及时得知各个图形处理器的温度信息进而进行温度控制,也即有利于保障图形处理器的温度的稳定性。当然,由于本申请的方案需要区分部件类型,因此需要在服务器上电之后,逐个确定出N个部件各自的部件类型并发送至基板管理控制器,相较于传统方案,该操作确实是个额外操作且存在一定耗时,但是只需要在服务器上电之后执行一次即可,不影响服务器后续运行过程中的各参数读取周期。
综上所述,本申请的方案可以有效地缩短基板管理控制器获知各个部件的温度信息的耗时,并且可以及时得知高温度敏感性的图形处理器的温度信息,使得本申请的方案可以更准确、有效地实现服务器的温度控制,保障服务器的使用寿命和可靠性。
相应于上面的方法实施例,本发明实施例还提供了一种服务器的温度控制系统,可参阅图2,可以包括基板管理控制器以及与基板管理控制器连接的预设的并行处理设备,并行处理设备与N个部件连接,可参阅图6,该并行处理设备可以包括:
上电检测模块601,用于在服务器上电之后,逐个确定出N个部件各自的部件类型并发送至基板管理控制器;
第一阶段执行模块602,用于在每个参数读取周期的第一阶段,通过自身的N个线程以并行读取的方式同时读取N个部件各自的温度信息;
第二阶段执行模块603,用于在每个参数读取周期的第二阶段,将部件类型为图形处理器的各个部件的温度信息发送至基板管理控制器;
第三阶段执行模块604,用于在每个参数读取周期的第三阶段,将部件类型非图形处理器的各个部件的温度信息发送至基板管理控制器,以使得基板管理控制器基于N个部件各自的温度信息进行服务器的温度控制。
在本发明的一种具体实施方式中,并行处理设备包括至少具有N个线程的单个第一控制器。
在本发明的一种具体实施方式中,第一控制器具有用于连接基板管理控制器的第一接口和第二接口;
相应的,第二阶段执行模块603具体用于:
在每个参数读取周期的第二阶段,通过第一控制器自身的第一接口,将部件类型为图形处理器的各个部件的温度信息发送至基板管理控制器;
相应的,第三阶段执行模块604具体用于:
在每个参数读取周期的第三阶段,通过第一控制器自身的第二接口,将部件类型非图形处理器的各个部件的温度信息发送至基板管理控制器,以使得基板管理控制器基于N个部件各自的温度信息进行服务器的温度控制。
在本发明的一种具体实施方式中,除去图形处理器之外的部件类型共有K种,K为不小于2的正整数,参数读取周期的第三阶段划分为K个子阶段,i为正整数且1≤i≤K;
相应的,第三阶段执行模块604具体用于:
在每个参数读取周期的第三阶段的第i子阶段,通过第一控制器自身的第二接口,将部件类型非图形处理器的第i种部件的温度信息发送至基板管理控制器,以使得基板管理控制器基于N个部件各自的温度信息进行服务器的温度控制。
在本发明的一种具体实施方式中,并行处理设备包括M个第二控制器,M个第二控制器具有的线程的总数量大于等于N,M为不小于2的正整数,任意1个第二控制器至少连接N个部件中的1个部件,N个部件中的任意1个部件最多连接1个第二控制器。
在本发明的一种具体实施方式中,M个第二控制器的器件型号均相同,每个第二控制器均具有a个线程,a为正整数且a×M≥N,并且每个第二控制器均具有用于连接基板管理控制器的第一接口和第二接口。
在本发明的一种具体实施方式中,第一阶段执行模块602具体用于:
在每个参数读取周期的第一阶段,每个第二控制器均通过自身的a个线程以并行读取的方式同时读取与自身连接的各个部件各自的温度信息。
在本发明的一种具体实施方式中,第二阶段划分为M个子阶段,j为正整数且1≤j≤M;
相应的,第二阶段执行模块603具体用于:
在每个参数读取周期的第二阶段的第j子阶段,由M个第二控制器中的第j个第二控制器,通过自身的第一接口,将与第j个第二控制器自身所连接的部件类型为图形处理器的各个部件的温度信息发送至基板管理控制器。
在本发明的一种具体实施方式中,除去图形处理器之外的部件类型共有K种,K为不小于2的正整数,参数读取周期的第三阶段划分为K轮,每轮均划分为M个子阶段,i为正整数且1≤i≤K,j为正整数且1≤j≤M;
相应的,第三阶段执行模块604具体用于:
在每个参数读取周期的第三阶段的第i轮的第j子时段,由M个第二控制器中的第j个第二控制器,通过自身的第二接口,将与第j个第二控制器自身所连接的部件类型非图形处理器的第i种部件的温度信息发送至基板管理控制器,以使得基板管理控制器基于N个部件各自的温度信息进行服务器的温度控制。
在本发明的一种具体实施方式中,并行处理设备为基于微控制单元的并行处理设备,或者为基于现场可编程门阵列的并行处理设备,或者为基于复杂可编程逻辑器件的并行处理设备。
在本发明的一种具体实施方式中,还包括:
故障信号处理模块,用于在接收到任意1个部件发送的故障信号时,暂停当前阶段的温度信息的发送并将故障信号发送至基板管理控制器,并在故障信号发送完成之后继续当前阶段的温度信息的发送。
相应于上面的方法和系统实施例,本发明实施例还提供了一种服务器的温度控制设备以及一种计算机可读存储介质,可与上文相互对应参照。
可参阅图7,该服务器的温度控制设备可以包括:
存储器701,用于存储计算机程序;
处理器702,用于执行计算机程序以实现如上述任一实施例中的服务器的温度控制方法的步骤。
可参阅图8,该计算机可读存储介质80上存储有计算机程序81,计算机程序81被处理器执行时实现如上述任一实施例中的服务器的温度控制方法的步骤。这里所说的计算机可读存储介质80包括随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质。
可参阅图9,为本发明中一种服务器的温度控制方法的实施流程图,基板管理控制器与预设的并行处理设备连接,并行处理设备与N个部件连接,且该服务器的温度控制方法应用于基板管理控制器中,包括:
步骤S901:在服务器上电,并且通过并行处理设备逐个确定出N个部件各自的部件类型之后,接收并行处理设备发送的N个部件各自的部件类型;
步骤S902:在每个参数读取周期的第二阶段,接收并行处理设备发送的部件类型为图形处理器的各个部件的温度信息;
步骤S903:在每个参数读取周期的第三阶段,接收并行处理设备发送的部件类型非图形处理器的各个部件的温度信息;
步骤S904:基于N个部件各自的温度信息进行服务器的温度控制;
其中,在每个参数读取周期的第一阶段,并行处理设备通过自身的N个线程以并行读取的方式同时读取N个部件各自的温度信息。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的技术方案及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明的保护范围内。
Claims (15)
1.一种服务器的温度控制方法,其特征在于,基板管理控制器与预设的并行处理设备连接,所述并行处理设备与N个部件连接,所述服务器的温度控制方法应用于所述并行处理设备中,包括:
在服务器上电之后,逐个确定出N个部件各自的部件类型并发送至所述基板管理控制器;
在每个参数读取周期的第一阶段,通过自身的N个线程以并行读取的方式同时读取N个部件各自的温度信息;
在每个参数读取周期的第二阶段,将部件类型为图形处理器的各个部件的温度信息发送至所述基板管理控制器;
在每个参数读取周期的第三阶段,将部件类型非图形处理器的各个部件的温度信息发送至所述基板管理控制器,以使得所述基板管理控制器基于N个部件各自的温度信息进行所述服务器的温度控制。
2.根据权利要求1所述的服务器的温度控制方法,其特征在于,所述并行处理设备包括至少具有N个线程的单个第一控制器。
3.根据权利要求2所述的服务器的温度控制方法,其特征在于,所述第一控制器具有用于连接所述基板管理控制器的第一接口和第二接口;
在每个参数读取周期的第二阶段,将部件类型为图形处理器的各个部件的温度信息发送至所述基板管理控制器,包括:
在每个参数读取周期的第二阶段,通过所述第一控制器自身的第一接口,将部件类型为图形处理器的各个部件的温度信息发送至所述基板管理控制器;
在每个参数读取周期的第三阶段,将部件类型非图形处理器的各个部件的温度信息发送至所述基板管理控制器,包括:
在每个参数读取周期的第三阶段,通过所述第一控制器自身的第二接口,将部件类型非图形处理器的各个部件的温度信息发送至所述基板管理控制器。
4.根据权利要求3所述的服务器的温度控制方法,其特征在于,N个部件中,除去图形处理器之外的部件类型共有K种,K为不小于2的正整数,参数读取周期的第三阶段划分为K个子阶段,i为正整数且1≤i≤K;
在每个参数读取周期的第三阶段,通过所述第一控制器自身的第二接口,将部件类型非图形处理器的各个部件的温度信息发送至所述基板管理控制器,包括:
在每个参数读取周期的第三阶段的第i子阶段,通过所述第一控制器自身的第二接口,将部件类型非图形处理器的第i种部件的温度信息发送至所述基板管理控制器。
5.根据权利要求1所述的服务器的温度控制方法,其特征在于,所述并行处理设备包括M个第二控制器,M个所述第二控制器具有的线程的总数量大于等于N,M为不小于2的正整数,任意1个所述第二控制器至少连接N个所述部件中的1个所述部件,N个所述部件中的任意1个所述部件最多连接1个所述第二控制器。
6.根据权利要求5所述的服务器的温度控制方法,其特征在于,M个所述第二控制器的器件型号均相同,每个所述第二控制器均具有a个线程,a为正整数且a×M≥N,并且每个所述第二控制器均具有用于连接所述基板管理控制器的第一接口和第二接口。
7.根据权利要求6所述的服务器的温度控制方法,其特征在于,在每个参数读取周期的第一阶段,通过自身的N个线程以并行读取的方式同时读取N个部件各自的温度信息,包括:
在每个参数读取周期的第一阶段,每个所述第二控制器均通过自身的a个线程以并行读取的方式同时读取与自身连接的各个部件各自的温度信息。
8.根据权利要求6所述的服务器的温度控制方法,其特征在于,第二阶段划分为M个子阶段,j为正整数且1≤j≤M;
在每个参数读取周期的第二阶段,将部件类型为图形处理器的各个部件的温度信息发送至所述基板管理控制器,包括:
在每个参数读取周期的第二阶段的第j子阶段,由M个第二控制器中的第j个第二控制器,通过自身的第一接口,将与第j个第二控制器自身所连接的部件类型为图形处理器的各个部件的温度信息发送至所述基板管理控制器。
9.根据权利要求6所述的服务器的温度控制方法,其特征在于,N个部件中,除去图形处理器之外的部件类型共有K种,K为不小于2的正整数,参数读取周期的第三阶段划分为K轮,每轮均划分为M个子阶段,i为正整数且1≤i≤K,j为正整数且1≤j≤M;
在每个参数读取周期的第三阶段,将部件类型非图形处理器的各个部件的温度信息发送至所述基板管理控制器,包括:
在每个参数读取周期的第三阶段的第i轮的第j子时段,由M个第二控制器中的第j个第二控制器,通过自身的第二接口,将与第j个第二控制器自身所连接的部件类型非图形处理器的第i种部件的温度信息发送至所述基板管理控制器。
10.根据权利要求1所述的服务器的温度控制方法,其特征在于,所述并行处理设备为基于微控制单元的并行处理设备,或者为基于现场可编程门阵列的并行处理设备,或者为基于复杂可编程逻辑器件的并行处理设备。
11.根据权利要求1至9任一项所述的服务器的温度控制方法,其特征在于,还包括:
在接收到任意1个部件发送的故障信号时,暂停当前阶段的温度信息的发送并将所述故障信号发送至所述基板管理控制器,并在所述故障信号发送完成之后继续当前阶段的温度信息的发送。
12.一种服务器的温度控制系统,其特征在于,包括基板管理控制器以及与所述基板管理控制器连接的预设的并行处理设备,所述并行处理设备与N个部件连接,所述并行处理设备包括:
上电检测模块,用于在服务器上电之后,逐个确定出N个部件各自的部件类型并发送至所述基板管理控制器;
第一阶段执行模块,用于在每个参数读取周期的第一阶段,通过自身的N个线程以并行读取的方式同时读取N个部件各自的温度信息;
第二阶段执行模块,用于在每个参数读取周期的第二阶段,将部件类型为图形处理器的各个部件的温度信息发送至所述基板管理控制器;
第三阶段执行模块,用于在每个参数读取周期的第三阶段,将部件类型非图形处理器的各个部件的温度信息发送至所述基板管理控制器,以使得所述基板管理控制器基于N个部件各自的温度信息进行所述服务器的温度控制。
13.一种服务器的温度控制设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序以实现如权利要求1至11任一项所述的服务器的温度控制方法的步骤。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至11任一项所述的服务器的温度控制方法的步骤。
15.一种服务器的温度控制方法,其特征在于,基板管理控制器与预设的并行处理设备连接,所述并行处理设备与N个部件连接,所述服务器的温度控制方法应用于所述基板管理控制器中,包括:
在服务器上电,并且通过所述并行处理设备逐个确定出N个部件各自的部件类型之后,接收所述并行处理设备发送的N个部件各自的部件类型;
在每个参数读取周期的第二阶段,接收所述并行处理设备发送的部件类型为图形处理器的各个部件的温度信息;
在每个参数读取周期的第三阶段,接收所述并行处理设备发送的部件类型非图形处理器的各个部件的温度信息;
基于N个部件各自的温度信息进行所述服务器的温度控制;
其中,在每个参数读取周期的第一阶段,所述并行处理设备通过自身的N个线程以并行读取的方式同时读取N个部件各自的温度信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410066855.8A CN117591378B (zh) | 2024-01-17 | 2024-01-17 | 一种服务器的温度控制方法、系统、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410066855.8A CN117591378B (zh) | 2024-01-17 | 2024-01-17 | 一种服务器的温度控制方法、系统、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117591378A true CN117591378A (zh) | 2024-02-23 |
CN117591378B CN117591378B (zh) | 2024-04-05 |
Family
ID=89910250
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410066855.8A Active CN117591378B (zh) | 2024-01-17 | 2024-01-17 | 一种服务器的温度控制方法、系统、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117591378B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109857602A (zh) * | 2019-01-04 | 2019-06-07 | 郑州云海信息技术有限公司 | 一种服务器硬盘背板健康状态监测装置、方法及系统 |
US20200097431A1 (en) * | 2018-09-21 | 2020-03-26 | Quanta Computer Inc. | Fan speed control via pcie topology |
CN112286709A (zh) * | 2020-10-29 | 2021-01-29 | 苏州浪潮智能科技有限公司 | 一种服务器硬件故障的诊断方法、诊断装置及诊断设备 |
CN114116378A (zh) * | 2021-11-11 | 2022-03-01 | 苏州浪潮智能科技有限公司 | 获取PCIe设备温度的方法、系统、终端及存储介质 |
CN116107819A (zh) * | 2022-12-16 | 2023-05-12 | 苏州浪潮智能科技有限公司 | 一种服务器启动故障检测系统、方法、装置以及介质 |
CN116723198A (zh) * | 2023-04-28 | 2023-09-08 | 山东云海国创云计算装备产业创新中心有限公司 | 一种多节点服务器主机控制方法、装置、设备、存储介质 |
-
2024
- 2024-01-17 CN CN202410066855.8A patent/CN117591378B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200097431A1 (en) * | 2018-09-21 | 2020-03-26 | Quanta Computer Inc. | Fan speed control via pcie topology |
CN109857602A (zh) * | 2019-01-04 | 2019-06-07 | 郑州云海信息技术有限公司 | 一种服务器硬盘背板健康状态监测装置、方法及系统 |
CN112286709A (zh) * | 2020-10-29 | 2021-01-29 | 苏州浪潮智能科技有限公司 | 一种服务器硬件故障的诊断方法、诊断装置及诊断设备 |
CN114116378A (zh) * | 2021-11-11 | 2022-03-01 | 苏州浪潮智能科技有限公司 | 获取PCIe设备温度的方法、系统、终端及存储介质 |
CN116107819A (zh) * | 2022-12-16 | 2023-05-12 | 苏州浪潮智能科技有限公司 | 一种服务器启动故障检测系统、方法、装置以及介质 |
CN116723198A (zh) * | 2023-04-28 | 2023-09-08 | 山东云海国创云计算装备产业创新中心有限公司 | 一种多节点服务器主机控制方法、装置、设备、存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN117591378B (zh) | 2024-04-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108228492B (zh) | 一种多通道ddr交织控制方法及装置 | |
CN111767244B (zh) | 基于国产龙芯平台的双冗余计算机设备 | |
CN111966189B (zh) | 一种灵活配置的多计算节点服务器主板结构和程序 | |
CN112000501A (zh) | 一种多节点分区服务器访问i2c设备的管理系统 | |
CN210129215U (zh) | 一种双余度机电管理计算机架构 | |
EP3525065A1 (en) | Management of multiple fan modules | |
CN111209241A (zh) | 整机柜服务器的管理系统 | |
CN102636987B (zh) | 双重化控制装置 | |
US9507744B2 (en) | Handling two SGPIO channels using single SGPIO decoder on a backplane controller | |
CN110399328B (zh) | 一种板载图形处理器控制方法与装置 | |
CN109901664B (zh) | 提供时钟信号的方法、装置、系统、设备及可读存储介质 | |
CN113688085A (zh) | 一种pci-e设备的服务器接口管理结构和方法 | |
CN117591378B (zh) | 一种服务器的温度控制方法、系统、设备及存储介质 | |
CN219162633U (zh) | 计算机设备及计算机系统 | |
CN117111693A (zh) | 一种服务器机箱系统、服务器机箱系统设计方法及设备 | |
CN219476054U (zh) | 服务器及电子设备 | |
CN103095739A (zh) | 机柜服务器系统及其节点通信方法 | |
US6292851B1 (en) | System for allowing a supervisory module to obtain alarm and status information from at least one supervised module without having to specify physical addresses | |
CN115237234A (zh) | 一种支持不同型号智能网卡的方法、装置、设备及介质 | |
CN116088648A (zh) | 一种服务器机柜、电路控制方法及计算节点 | |
CN113434445B (zh) | 一种i3c访问dimm的管理系统和服务器 | |
CN111258763B (zh) | 一种服务器系统及服务器系统的控制方法和装置 | |
CN113849355A (zh) | I2c速率自适应调整方法、系统、终端及存储介质 | |
CN103577359B (zh) | 支持双主控装置存取接口装置的系统及其电源管理方法 | |
CN216014148U (zh) | 一种服务器和服务器背板 |
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 |