Controller, server, heat dissipation method, storage medium and computer program product
By dividing OpenBMC's heat dissipation strategy into independent modules according to functions and communicating through the message bus system, the problem of lack of unified adaptation of OpenBMC's heat dissipation control strategy is solved, and the software and hardware decoupling of heat dissipation control is realized, improving the convenience of production and application.
Patent Information
- Application Number
- CN202411450368.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-10-17
- Publication Date
- 2025-01-07
- Estimated Expiration
- 2044-10-17
AI Technical Summary
OpenBMC's thermal dissipation control strategy lacks unified adaptation processing, and each manufacturer has its own implementation method, which makes development and testing rely on the BMC version and is difficult to effectively apply in actual production.
The heat dissipation strategy is divided into independent modules according to functions, and communicates through the message bus system to realize the decoupling of the heat dissipation control software and hardware. Each module includes policy initialization, temperature collection, modulation pulse calculation and speed regulation modules, which operate independently and communicate with each other.
It realizes the decoupling of software and hardware of thermal dissipation regulation, simplifies development and testing, and improves the convenience of actual production applications.
Smart Images

Figure CN119271019A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of computer technology, and in particular to a controller, a server, a heat dissipation method, a storage medium and a program product. Background Art
[0002] OpenBMC (Open Baseboard Management Controller) has extremely friendly cross-platform capabilities. It is compatible with a variety of different hardware architectures and can reduce the complexity of hardware management between different manufacturers.
[0003] However, OpenBMC's heat dissipation control strategy has not been uniformly adapted, and each manufacturer has its own implementation method. In addition, because the heat dissipation control strategy is part of the BMC function, the current development and testing of the heat dissipation strategy depends on the BMC version, which is not conducive to actual production applications.
[0004] In summary, how to effectively improve the heat dissipation control strategy of OpenBMC and other issues are technical problems that technical personnel in this field urgently need to solve. Summary of the invention
[0005] The purpose of this application is to provide a controller, a server, a heat dissipation method, a storage medium and a program product. In the controller, the heat dissipation strategy is divided into modules according to function. Each heat dissipation strategy functional module runs independently and communicates through a message bus system, thereby realizing the decoupling of heat dissipation control software and hardware, which is more conducive to actual production applications.
[0006] In order to solve the above technical problems, this application provides the following technical solutions:
[0007] A controller, comprising: a message bus system and a heat dissipation strategy function module; the heat dissipation strategy function module operates independently and communicates through the message bus system; the heat dissipation strategy function module comprises a strategy initialization module, a temperature collection module, a modulation pulse calculation module and a speed regulation module;
[0008] The strategy initialization module is used to register the heat dissipation strategy service with the message bus system, and create fan paths, partition paths, heat dissipation point paths of different heat dissipation points and attributes of each path; wherein the attributes of the heat dissipation point path include adjustment parameters;
[0009] The temperature collection module is used to collect the temperatures of different components in the server and use the temperatures to update the current temperature attributes of the corresponding heat dissipation point paths;
[0010] The modulation pulse calculation module is used to obtain the attributes corresponding to the fan path, the partition path and the different heat dissipation points, and calculate the whole machine modulation pulse based on the obtained attributes;
[0011] The speed control module is used to write the whole machine modulation pulse into the logic device, so that the logic device determines the modulation speed of each fan based on the whole machine modulation pulse, and controls each fan based on the modulation speed.
[0012] Preferably, the heat dissipation strategy function module further includes: a heat dissipation strategy upgrade module;
[0013] The heat dissipation strategy upgrade module is used to receive a heat dissipation configuration file, and if the heat dissipation configuration file is valid, after clearing all heat dissipation point paths under the heat dissipation strategy service, rebuild a new heat dissipation point path and the attributes of the new heat dissipation point path according to the heat dissipation configuration file.
[0014] Preferably, the policy initialization module is further used to read the debug enable flag in the memory, and when confirming that the debug function is enabled, create a debug path and a debug enable attribute under the heat dissipation policy service.
[0015] Preferably, the heat dissipation strategy function module further includes: a log output module; the debug enable attribute of the message bus system determines whether to enable the log output module;
[0016] The log output module is used to format the process information of the heat dissipation calculation, obtain the heat dissipation log, and output the heat dissipation log.
[0017] Preferably, the speed regulation module is also used for abnormality detection, and performs corresponding speed regulation operations based on the detected abnormality.
[0018] Preferably, the adjustment parameters include a starting value, a severe high threshold, a proportional constant, an integral constant, a differential constant, a speed adjustment type, a current temperature, a modulation pulse value and a fan factor.
[0019] Preferably, the message bus system includes a message communication model; accordingly, the temperature collection module is specifically configured to synchronize the acquired temperature to the current temperature attribute of the corresponding heat dissipation point path based on the message communication model.
[0020] Preferably, the modulation pulse calculation module comprises:
[0021] A single heat dissipation point modulation calculation unit is used to obtain the attributes corresponding to the fan path, the partition path and the different heat dissipation points through the bus in the message bus system; call different heat dissipation speed regulation algorithms according to the speed regulation type, and modify the heat dissipation speed regulation algorithm coefficient through the adjustment parameter, input the current temperature to calculate the modulation pulse value corresponding to the current heat dissipation point, and update the calculated modulation pulse value to the modulation pulse value attribute of the heat dissipation point path;
[0022] The whole machine modulation calculation unit is used to perform weight calculation on the modulation pulse value of each heat dissipation point and generate the whole machine modulation pulse according to the weight matrix.
[0023] A server, comprising:
[0024] Fans, logic and controllers as above;
[0025] Wherein, the logic device is connected to the controller, and the fan is connected to the logic device.
[0026] A heat dissipation method is applied to the controller as described above, the method comprising:
[0027] Using the policy initialization module, register the heat dissipation policy service with the message bus system, and create fan paths, partition paths, heat dissipation point paths of different heat dissipation points and attributes of each path; wherein the attributes of the heat dissipation point path include adjustment parameters;
[0028] Using the temperature collection module, collect the temperatures of different components in the server, and use the temperatures to update the current temperature attributes of the corresponding heat dissipation point paths;
[0029] Using a modulation pulse calculation module, the attributes corresponding to the fan path, the partition path and the different heat dissipation points are obtained, and the whole machine modulation pulse is calculated based on the obtained attributes;
[0030] The speed control module is used to write the whole machine modulation pulse into the logic device, so that the logic device determines the modulation speed of each fan based on the whole machine modulation pulse, and controls each fan based on the modulation speed.
[0031] Preferably, it also includes:
[0032] The heat dissipation strategy upgrade module is used to receive the heat dissipation configuration file, and when the heat dissipation configuration file is valid, after clearing all heat dissipation point paths under the heat dissipation strategy service, a new heat dissipation point path and the attributes of the new heat dissipation point path are rebuilt according to the heat dissipation configuration file.
[0033] Preferably, it also includes:
[0034] When the debug enable attribute of the message bus system determines to enable the log output module, the log output module is used to format the process information of the heat dissipation calculation to obtain the heat dissipation log, and the heat dissipation log is output.
[0035] Preferably, the modulation pulse calculation module is used to obtain the attributes corresponding to the fan path, the partition path and the different heat dissipation points, and the whole machine modulation pulse is calculated based on the obtained attributes, including:
[0036] Obtaining, through a bus in the message bus system, properties corresponding to the fan path, the partition path, and the different heat dissipation points;
[0037] Call different heat dissipation speed regulation algorithms according to the speed regulation type, modify the heat dissipation speed regulation algorithm coefficients through the adjustment parameters, input the current temperature to calculate the modulation pulse value corresponding to the current heat dissipation point;
[0038] The calculated modulation pulse value is updated to the modulation pulse value attribute of the heat dissipation point path;
[0039] A weight calculation is performed on the modulation pulse value of each heat dissipation point, and the whole machine modulation pulse is generated according to the weight matrix.
[0040] A readable storage medium stores a computer program, and when the computer program is executed by a processor, the steps of the heat dissipation method are implemented.
[0041] A computer program product includes a computer program / instruction, and when the computer program / instruction is executed by a processor, the steps of the above-mentioned heat dissipation method are implemented.
[0042] The controller provided by the embodiment of the application includes: a message bus system and a heat dissipation strategy function module; the heat dissipation strategy function module runs independently and communicates through the message bus system; the heat dissipation strategy function module includes a strategy initialization module, a temperature collection module, a modulation pulse calculation module and a speed regulation module; wherein the strategy initialization module is used to register the heat dissipation strategy service to the message bus system, and create fan paths, partition paths, heat dissipation point paths of different heat dissipation points and the attributes of each path; wherein the attributes of the heat dissipation point path include adjustment parameters; the temperature collection module is used to collect the temperatures of different components in the server, and use the temperature to update the current temperature attributes of the corresponding heat dissipation point path; the modulation pulse calculation module is used to obtain the attributes corresponding to the fan path, the partition path and different heat dissipation points, and calculate the whole machine modulation pulse based on the acquired attributes; the speed regulation module is used to write the whole machine modulation pulse into the logic, so that the logic determines the modulation speed of each fan based on the whole machine modulation pulse, and controls each fan based on the modulation speed.
[0043] In order to achieve the decoupling of heat dissipation control software and hardware, in this application, the heat dissipation strategy in the controller is divided into different heat dissipation strategy function modules according to the function. These different heat dissipation strategy function modules operate independently of each other and communicate through the message bus system to implement the heat dissipation function. Specifically, the heat dissipation strategy function module includes a strategy initialization module, a temperature collection module, a modulation pulse calculation module and a speed regulation module; the strategy initialization module is used to register the heat dissipation strategy service to the message bus system and create corresponding paths and attributes, so as to realize the communication of each heat dissipation strategy function module through the message bus system. The temperature collection module is used to collect the temperatures of different components in the server and update the current temperature attributes of the heat dissipation point path. The modulation pulse calculation module obtains the attributes corresponding to the fan path, the partition path and different heat dissipation points, and calculates the whole machine modulation pulse based on the acquired attributes. The speed regulation module writes the whole machine modulation pulse into the logic. In this way, the logic determines the modulation speed of each fan based on the whole machine modulation pulse, and controls each fan based on the modulation speed.
[0044] The technical effect of the present application is as follows: In the controller, the heat dissipation strategy is divided into modules according to function, each heat dissipation strategy function module runs independently and communicates through a message bus system, thereby realizing the decoupling of heat dissipation control software and hardware, which is more conducive to actual production applications.
[0045] Correspondingly, the embodiments of the present application also provide a server, a heat dissipation method, a readable storage medium and a computer program product corresponding to the above-mentioned controller, which have the above-mentioned technical effects and are not repeated here. BRIEF DESCRIPTION OF THE DRAWINGS
[0046] In order to more clearly illustrate the technical solutions in the embodiments of the present application or the related technologies, the drawings required for use in the embodiments or the related technical descriptions are briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.
[0047] FIG1 is a schematic diagram of the structure of a controller in an embodiment of the present application;
[0048] FIG2 is a schematic diagram of a heat dissipation strategy debugging process in an embodiment of the present application;
[0049] FIG3 is a schematic diagram of a heat dissipation strategy upgrade process in an embodiment of the present application;
[0050] FIG4 is a schematic diagram of the structure of a server in an embodiment of the present application;
[0051] FIG5 is a flowchart of an implementation of a heat dissipation method in an embodiment of the present application;
[0052] FIG6 is a flowchart showing a specific implementation of a heat dissipation method in an embodiment of the present application. DETAILED DESCRIPTION
[0053] In order to enable those skilled in the art to better understand the present application, the present application is further described in detail below in conjunction with the accompanying drawings and specific implementation methods. Obviously, the described embodiments are only part of the embodiments of the present application, rather than all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in the field without making creative work are within the scope of protection of the present application.
[0054] EEPROM (Electrically Erasable Programmable read only memory) refers to electrically erasable programmable read only memory.
[0055] Please refer to FIG. 1 , which is a schematic diagram of a controller in an embodiment of the present application, the controller comprising: a message bus system 100 and a heat dissipation strategy function module 200; the heat dissipation strategy function module operates independently and communicates through the message bus system; the heat dissipation strategy function module comprises a strategy initialization module 201, a temperature collection module 202, a modulation pulse calculation module 203 and a speed regulation module 204;
[0056] The strategy initialization module is used to register the heat dissipation strategy service 101 with the message bus system, and create fan paths, partition paths, heat dissipation point paths of different heat dissipation points and attributes of each path; wherein the attributes of the heat dissipation point path include adjustment parameters;
[0057] The temperature collection module is used to collect the temperatures of different components in the server and use the temperatures to update the current temperature attributes of the corresponding heat dissipation point paths;
[0058] A modulation pulse calculation module is used to obtain the attributes corresponding to the fan path, the partition path and different heat dissipation points, and calculate the modulation pulse of the whole machine based on the obtained attributes;
[0059] The speed control module is used to write the whole machine modulation pulse into the logic device so that the logic device determines the modulation speed of each fan based on the whole machine modulation pulse and controls each fan based on the modulation speed.
[0060] The controller may be OpenBMC (Open Baseboard Management Controller). The message bus system may be Dbus, which is a lightweight inter-process communication mechanism that uses Busname, path, Interface, and Method / property for message interaction.
[0061] For example, if Busname is xyz.openbmc_project.PSUSensor, it means the PSU (Power supply unit, power adapter) Sensor monitoring service.
[0062] The path is / xyz / openbmc_project / sensors / temperature / PSU1_Temp, which indicates the storage path of PSU1 information under the PSUSensor monitoring service.
[0063] The interface (interface / property) is xyz.openbmc_project.Sensor.Value. There are many interfaces in the PSU1 information storage path under the PSUSensor monitoring service. The current temperature information is stored under this interface.
[0064] Property is Value. The current temperature information is stored in the Value field under the interface. When it is NAN, it means that the temperature has not been obtained.
[0065] In other words, processes can exchange data through four pieces of information: Busname (bus name), path (object path), Interface (interface / property) and Method / pertity (method / signal).
[0066] The heat dissipation strategy is divided into independent modules according to the function, so as to realize the decoupling operation of heat dissipation control software and hardware. Specifically, in the present application, the heat dissipation strategy function module includes but is not limited to a strategy initialization module, a temperature collection module, a modulation pulse calculation module and a speed control module.
[0067] Among them, the policy initialization module is used to register the cooling policy service to the Dbus bus, parse the cooling configuration file, create different cooling point PATHs for the cooling points, and register the corresponding adjustment parameters of the cooling points into the properties of the corresponding cooling point PATHs.
[0068] In a specific implementation of the present application, the adjustment parameters include the starting value, critical high threshold, proportional constant, integral constant, differential constant, speed regulation type, current temperature, modulation pulse value and fan factor. UC value, up critical temperature, critical high threshold; P value (proportional constant) proportional constant; I value (integral constant) integral constant; D value (differential constant) differential; PWM (pulse width modulation) pulse width modulation (also known as pulse modulation).
[0069] That is to say, the policy initialization module is used to register the cooling policy service with the Dbus bus. The workflow is shown in Figure 2. After the BMC system is started, the cooling configuration file is read. After determining that the cooling configuration file is valid, the cooling configuration file is parsed. According to different cooling points in the configuration file, the cooling policy service is registered in the message bus system, and different cooling point PATHs are created under the cooling policy service. The adjustment parameters SetPoint (starting value), UC value, P value (proportional constant), I value (integral constant), D value (differential constant), speed adjustment type, current temperature, PWM value, fan factor, etc. corresponding to the cooling point in the configuration file are registered in the attributes of the cooling point PATH. After registering the cooling point attributes, the policy initialization module will create different fan and partition PATHs under the cooling policy service according to the number of fans and partitions, create the attributes of the fan and partition PATH according to the fan speed adjustment partition and fan weight, and create the actual speed adjustment PWM attributes under the fan PATH.
[0070] That is, the policy initialization module materializes the configuration file corresponding to the heat dissipation policy into the message bus system, so that other modules can run independently of each other and communicate through the message bus system.
[0071] The temperature collection module is a service that collects the temperatures of different components of the server. The service obtains the CPU temperature, memory temperature, ChipSet temperature, PSU temperature, air inlet temperature, air outlet temperature, network card temperature, GPU temperature, Raid card temperature, hard disk temperature, board temperature, etc. according to different physical links and protocols, and then writes the temperature into the current temperature attribute of the corresponding heat dissipation point path.
[0072] Among them, CPU, Central Processing Unit; ChipSet chipset; PSU (Powersupply unit) power adapter; GPU (graphics processing unit) image processor; Raid (Redundant Arrays of Independent Disks) disk array.
[0073] In a specific implementation of the present application, the message bus system includes a message communication model; accordingly, the temperature collection module is specifically used to synchronize the acquired temperature to the current temperature attribute of the corresponding heat dissipation point path based on the message communication model. That is, the current temperature is updated by the temperature collection module according to the Dbus communication model in OpenBMC, querying all heat dissipation point PATHs under the heat dissipation strategy service, and updating the component temperature information acquired by itself to the current temperature attribute under the corresponding heat dissipation point PATH in real time.
[0074] The modulation pulse calculation module can calculate the modulation pulse of the whole machine based on the attributes corresponding to each path. Since the attributes correspond to the modulation parameters and other information of different paths, the modulation pulse of the whole machine is calculated based on the modulation parameters of the fan, partition and heat dissipation point.
[0075] In a specific implementation of the present application, the modulation pulse calculation module includes:
[0076] The single heat dissipation point modulation calculation unit is used to obtain the attributes corresponding to the fan path, the partition path and different heat dissipation points through the bus in the message bus system; call different heat dissipation speed regulation algorithms according to the speed regulation type, and modify the heat dissipation speed regulation algorithm coefficient by adjusting the parameters, input the current temperature to calculate the modulation pulse value corresponding to the current heat dissipation point, and update the calculated modulation pulse value to the modulation pulse value attribute of the heat dissipation point path;
[0077] The whole machine modulation calculation unit is used to perform weight calculation on the modulation pulse value of each heat dissipation point and generate the whole machine modulation pulse according to the weight matrix.
[0078] In other words, the modulation pulse calculation module is a special calculation PWM service, which has two functions. The first function is to obtain the properties of each heat dissipation point PATH through the Dbus bus, call different heat dissipation speed control algorithms according to the speed control type (PID, linear, etc.), and modify the heat dissipation speed control algorithm coefficient by adjusting the parameters, input the current temperature to calculate the PWM value corresponding to the current heat dissipation point, and update the PWM value to the PWM value attribute of the heat dissipation point PATH. The second function is to calculate the final PWM value of each fan of the whole machine for each heat dissipation point PWM value and fan factor, and update the PWM value of each fan to the actual speed control PWM attribute under the corresponding fan PATH. Specifically, for the second function, weight calculation can be performed for each heat dissipation point PWM value, and the final whole machine PWM value can be generated according to the weight matrix.
[0079] The main function of the speed control module is to write the PWM value of the PWM calculation module into the CPLD (Complex Programmable Logic Device, a specific logic device). The CPLD will calculate the actual speed of the fan based on the PWM value and control the fan speed.
[0080] In a specific implementation of the present application, the speed control module is also used for abnormality detection, and performs corresponding speed control operations based on the detected abnormal conditions. That is, although the main function of the speed control module is to write the PWM value of the PWM calculation module into the CPLD, it also includes an abnormality detection function, and performs corresponding speed control actions according to different abnormal conditions. That is, the speed control module also includes an abnormal speed control function, for example, if an abnormality is detected in a certain fan rotor, the speed of another rotor of the fan is increased by a certain percentage, or when the module detects that the BMC has no heartbeat, full speed control and other mechanisms are performed.
[0081] The controller provided by the embodiment of the application includes: a message bus system and a heat dissipation strategy function module; the heat dissipation strategy function module runs independently and communicates through the message bus system; the heat dissipation strategy function module includes a strategy initialization module, a temperature collection module, a modulation pulse calculation module and a speed regulation module; wherein the strategy initialization module is used to register the heat dissipation strategy service to the message bus system, and create fan paths, partition paths, heat dissipation point paths of different heat dissipation points and the attributes of each path; wherein the attributes of the heat dissipation point path include adjustment parameters; the temperature collection module is used to collect the temperatures of different components in the server, and use the temperature to update the current temperature attributes of the corresponding heat dissipation point path; the modulation pulse calculation module is used to obtain the attributes corresponding to the fan path, the partition path and different heat dissipation points, and calculate the whole machine modulation pulse based on the acquired attributes; the speed regulation module is used to write the whole machine modulation pulse into the logic, so that the logic determines the modulation speed of each fan based on the whole machine modulation pulse, and controls each fan based on the modulation speed.
[0082] In order to achieve the decoupling of heat dissipation control software and hardware, in this application, the heat dissipation strategy in the controller is divided into different heat dissipation strategy function modules according to the function. These different heat dissipation strategy function modules operate independently of each other and communicate through the message bus system to implement the heat dissipation function. Specifically, the heat dissipation strategy function module includes a strategy initialization module, a temperature collection module, a modulation pulse calculation module and a speed regulation module; the strategy initialization module is used to register the heat dissipation strategy service to the message bus system and create corresponding paths and attributes, so as to realize the communication of each heat dissipation strategy function module through the message bus system. The temperature collection module is used to collect the temperatures of different components in the server and update the current temperature attributes of the heat dissipation point path. The modulation pulse calculation module obtains the attributes corresponding to the fan path, the partition path and different heat dissipation points, and calculates the whole machine modulation pulse based on the acquired attributes. The speed regulation module writes the whole machine modulation pulse into the logic. In this way, the logic determines the modulation speed of each fan based on the whole machine modulation pulse, and controls each fan based on the modulation speed.
[0083] The technical effect of the present application is as follows: In the controller, the heat dissipation strategy is divided into modules according to function, each heat dissipation strategy function module runs independently and communicates through a message bus system, thereby realizing the decoupling of heat dissipation control software and hardware, which is more conducive to actual production applications.
[0084] It should be noted that, based on the above embodiments, the embodiments of the present application also provide corresponding improved solutions. In the preferred / improved embodiments, the same modules or corresponding modules as in the above embodiments can be referenced to each other, and the corresponding beneficial effects can also be referenced to each other, which will not be described one by one in the preferred / improved embodiments of this article.
[0085] In a specific implementation of the present application, the heat dissipation strategy function module further includes: a heat dissipation strategy upgrade module;
[0086] The heat dissipation strategy upgrade module is used to receive the heat dissipation configuration file, and if the heat dissipation configuration file is valid, after clearing all heat dissipation point paths under the heat dissipation strategy service, rebuild a new heat dissipation point path and the attributes of the new heat dissipation point path according to the heat dissipation configuration file.
[0087] Specifically, the upgrade process of the cooling strategy upgrade module is shown in Figure 3. The user or cooling development tester uploads the cooling configuration file through the interface and triggers the upload function. The cooling strategy upgrade module verifies whether the cooling configuration file is valid. If it is valid, it will trigger the cooling upgrade process. This process will clear all cooling point PATH information under the cooling service, and rebuild the cooling point PATH and attribute information according to the uploaded cooling configuration file, and rebuild the attributes of the fan and partition PATH; if the upgrade file (i.e., the new cooling configuration file) is invalid, the upgrade file will be directly ignored. During the entire cooling strategy upgrade process, the BMC does not need to restart, and other BMC services work normally, realizing a seamless upgrade of the cooling strategy.
[0088] In a specific implementation of the present application, the policy initialization module is also used to read the debug enable flag in the memory, and create a debug path and debug enable attribute under the heat dissipation policy service when the debug function is confirmed to be enabled. After creating the corresponding PATH and attributes, the policy initialization module reads the debug enable flag in the EEPROM (power-off non-volatile memory). If the debug function is confirmed to be enabled, it is necessary to create a debug PATH and enable attribute under the heat dissipation policy service.
[0089] In a specific implementation of the present application, the heat dissipation strategy function module further includes: a log output module; the debug enable attribute of the message bus system determines whether to enable the log output module;
[0090] The log output module is used to format the process information of the heat dissipation calculation, obtain the heat dissipation log, and output the heat dissipation log.
[0091] Specifically, the log output module determines whether to enable it through the debugging enable attribute on Dbus. This function is turned off by default. When the cooling developer or cooling tester needs to view the speed regulation information in real time, the module is enabled through the IPMI (Intelligent Platform Management Interface) command. After enabling, the module will format the process information of the cooling calculation, such as the output of the current cooling point temperature value, whether the adjustment mechanism is triggered, the PWM value calculated by the cooling point, the fan weight, the actual PWM value of each fan of the whole machine, the main control cooling temperature and other information. The module provides the cooling strategy engineer with the data basis for development and debugging, and is also an effective means to locate abnormal speed regulation.
[0092] Corresponding to the above controller embodiment, the embodiment of the present application further provides a server, and the server described below and the controller described above can refer to each other.
[0093] Please refer to Figure 4, the server includes:
[0094] The fan 10, the logic device 20 and the controller 30 as described in the above embodiment;
[0095] The logic device is connected to the controller, and the fan is connected to the logic device.
[0096] Specifically, the controller includes a message bus system and a heat dissipation strategy function module; the heat dissipation strategy function module operates independently and communicates through the message bus system; the heat dissipation strategy function module includes a strategy initialization module, a temperature collection module, a modulation pulse calculation module and a speed regulation module;
[0097] The strategy initialization module is used to register the heat dissipation strategy service with the message bus system, and create fan paths, partition paths, heat dissipation point paths of different heat dissipation points and the attributes of each path; wherein the attributes of the heat dissipation point path include adjustment parameters;
[0098] The temperature collection module is used to collect the temperatures of different components in the server and use the temperatures to update the current temperature attributes of the corresponding heat dissipation point paths;
[0099] A modulation pulse calculation module is used to obtain the attributes corresponding to the fan path, the partition path and different heat dissipation points, and calculate the modulation pulse of the whole machine based on the obtained attributes;
[0100] The speed control module is used to write the whole machine modulation pulse into the logic device so that the logic device determines the modulation speed of each fan based on the whole machine modulation pulse and controls each fan based on the modulation speed.
[0101] A server provided by an embodiment of the present application is applied, and the server includes the controller described in the above embodiment, and the controller includes: a message bus system and a heat dissipation strategy function module; the heat dissipation strategy function module runs independently and communicates through the message bus system; the heat dissipation strategy function module includes a strategy initialization module, a temperature collection module, a modulation pulse calculation module and a speed regulation module; wherein the strategy initialization module is used to register the heat dissipation strategy service with the message bus system, and create fan paths, partition paths, heat dissipation point paths of different heat dissipation points and the attributes of each path; wherein the attributes of the heat dissipation point path include adjustment parameters; the temperature collection module is used to collect the temperatures of different components in the server, and use the temperature to update the current temperature attributes of the corresponding heat dissipation point path; the modulation pulse calculation module is used to obtain the attributes corresponding to the fan path, the partition path and the different heat dissipation points, and calculate the whole machine modulation pulse based on the acquired attributes; the speed regulation module is used to write the whole machine modulation pulse into the logic, so that the logic determines the modulation speed of each fan based on the whole machine modulation pulse, and controls each fan based on the modulation speed.
[0102] In order to achieve the decoupling of heat dissipation control software and hardware, in this application, the heat dissipation strategy in the controller is divided into different heat dissipation strategy function modules according to the function. These different heat dissipation strategy function modules operate independently of each other and communicate through the message bus system to implement the heat dissipation function. Specifically, the heat dissipation strategy function module includes a strategy initialization module, a temperature collection module, a modulation pulse calculation module and a speed regulation module; the strategy initialization module is used to register the heat dissipation strategy service to the message bus system and create corresponding paths and attributes, so as to realize the communication of each heat dissipation strategy function module through the message bus system. The temperature collection module is used to collect the temperatures of different components in the server and update the current temperature attributes of the heat dissipation point path. The modulation pulse calculation module obtains the attributes corresponding to the fan path, the partition path and different heat dissipation points, and calculates the whole machine modulation pulse based on the acquired attributes. The speed regulation module writes the whole machine modulation pulse into the logic. In this way, the logic determines the modulation speed of each fan based on the whole machine modulation pulse, and controls each fan based on the modulation speed.
[0103] Technical effect of the application: In the server, the controller has various cooling strategy function modules that divide the cooling strategy by function. Each cooling strategy function module runs independently and communicates through the message bus system. By sending the whole machine modulation pulse to the logic device, the logic device controls the fan speed based on the whole machine modulation pulse, so as to dissipate heat. In this service, the cooling control software and hardware are decoupled, which is more conducive to actual production applications.
[0104] In a specific implementation, the heat dissipation strategy function module further includes: a heat dissipation strategy upgrade module;
[0105] The heat dissipation strategy upgrade module is used to receive the heat dissipation configuration file, and if the heat dissipation configuration file is valid, after clearing all heat dissipation point paths under the heat dissipation strategy service, rebuild a new heat dissipation point path and the attributes of the new heat dissipation point path according to the heat dissipation configuration file.
[0106] In a specific implementation, the policy initialization module is further configured to read a debug enable flag in the memory, and, if the debug function is confirmed to be enabled, create a debug path and a debug enable attribute under the heat dissipation policy service.
[0107] In a specific implementation, the heat dissipation strategy function module further includes: a log output module; the debug enable attribute of the message bus system determines whether to enable the log output module;
[0108] The log output module is used to format the process information of the heat dissipation calculation, obtain the heat dissipation log, and output the heat dissipation log.
[0109] In a specific implementation, the speed regulation module is also used for abnormality detection, and performs corresponding speed regulation operations based on the detected abnormality.
[0110] In a specific implementation, the tuning parameters include a start value, a severe high threshold, a proportional constant, an integral constant, a differential constant, a speed adjustment type, a current temperature, a modulation pulse value, and a fan factor.
[0111] In a specific implementation, the message bus system includes a message communication model; accordingly, the temperature collection module is specifically configured to synchronize the acquired temperature to the current temperature attribute of the corresponding heat dissipation point path based on the message communication model.
[0112] In a specific implementation, the modulation pulse calculation module includes:
[0113] The single heat dissipation point modulation calculation unit is used to obtain the attributes corresponding to the fan path, the partition path and different heat dissipation points through the bus in the message bus system; call different heat dissipation speed regulation algorithms according to the speed regulation type, and modify the heat dissipation speed regulation algorithm coefficient by adjusting the parameters, input the current temperature to calculate the modulation pulse value corresponding to the current heat dissipation point, and update the calculated modulation pulse value to the modulation pulse value attribute of the heat dissipation point path;
[0114] The whole machine modulation calculation unit is used to perform weight calculation on the modulation pulse value of each heat dissipation point and generate the whole machine modulation pulse according to the weight matrix.
[0115] The heat dissipation method provided in the embodiment of the present application can be executed in the controller of the server. The specific implementation of the heat dissipation method can refer to the functions of the specific modules of the controller described above, or to the specific implementation of a heat dissipation method described below, which will not be repeated here.
[0116] Corresponding to the above controller embodiment, the embodiment of the present application further provides a heat dissipation method, and the heat dissipation method described below and the controller described above can refer to each other.
[0117] Please refer to FIG. 5 and FIG. 6 , the method is applied to the controller described in the above embodiment, and the method includes:
[0118] S101. Register a heat dissipation policy service with a message bus system by using a policy initialization module, and create fan paths, partition paths, heat dissipation point paths of different heat dissipation points, and attributes of each path.
[0119] The properties of the heat dissipation point path include tuning parameters.
[0120] As shown in FIG2 , after the BMC system is started, the policy initialization module reads the heat dissipation configuration file, and after determining that the heat dissipation configuration file is valid, parses the heat dissipation configuration file.
[0121] To determine whether a configuration file is valid, you can determine whether it is the latest version, or whether the verification information is reliable.
[0122] First, register the heat dissipation strategy service in the message bus system, and then register the relevant paths and their attributes. For details on how to register services, paths, and attributes corresponding to the paths in the message bus system, please refer to the definition and related implementation schemes of the message bus system, which will not be described in detail here.
[0123] When creating fan paths, partition paths, heat dissipation point paths of different heat dissipation points, and attributes of each path, you can first create the heat dissipation point path and its attributes, and then create the fan path, partition path, and their corresponding attributes.
[0124] Specifically, different heat dissipation point PATHs can be created under the heat dissipation strategy service according to different heat dissipation points in the configuration file, and the adjustment parameters SetPoint (starting value), UC value, P value (proportional constant), I value (integral constant), D value (differential constant), speed regulation type, current temperature, PWM value, fan factor, etc. corresponding to the heat dissipation points in the configuration file can be registered in the properties of the heat dissipation point PATH respectively.
[0125] After registering the heat dissipation point attributes, the module will create different fan and partition PATHs under the heat dissipation strategy service according to the number of fans and partitions, create the attributes of the fan and partition PATH according to the fan speed regulation partition and fan weight, and create the actual speed regulation PWM attributes under the fan PATH.
[0126] S102: Using a temperature collection module, collect the temperatures of different components in the server, and use the temperatures to update current temperature attributes of corresponding heat dissipation point paths.
[0127] Specifically, the temperature collection module may use a temperature sensor to collect the temperature of different components, or directly receive the temperature collected by other devices, and then update the current temperature attributes of different heat dissipation point connections based on the temperature.
[0128] The temperature collection method can obtain CPU temperature, memory temperature, ChipSet temperature, PSU temperature, air inlet temperature, air outlet temperature, network card temperature, GPU temperature, Raid card temperature, hard disk temperature, board temperature, etc. according to different physical links and protocols.
[0129] Then, according to the Dbus communication model in OpenBMC, all heat dissipation point PATHs under the heat dissipation strategy service are queried, and the component temperature information obtained by itself is updated in real time to the current temperature attribute under the corresponding heat dissipation point PATH.
[0130] S103: using a modulation pulse calculation module to obtain attributes corresponding to the fan path, the partition path, and different heat dissipation points, and calculating the whole machine modulation pulse based on the obtained attributes.
[0131] The PWM calculation module is a special PWM calculation service. This service has two functions. The first function is to obtain the properties of each heat dissipation point PATH through the Dbus bus, call different heat dissipation speed control algorithms according to the speed control type (PID, linear, etc.), and modify the heat dissipation speed control algorithm coefficient by adjusting the parameters. Enter the current temperature to calculate the PWM value corresponding to the current heat dissipation point, and update the PWM value to the PWM value property of the heat dissipation point PATH. The second function is to calculate the final PWM value of each fan of the whole machine for each heat dissipation point PWM value and fan factor, and update the PWM value of each fan to the actual speed control PWM property under the corresponding fan PATH.
[0132] That is to say, the modulation pulse of the whole machine can be calculated using the modulation pulse calculation module.
[0133] S104, using the speed control module to write the whole machine modulation pulse into the logic device, so that the logic device determines the modulation speed of each fan based on the whole machine modulation pulse, and controls each fan based on the modulation speed.
[0134] The logic device can calculate the modulation speed of the fan based on the modulation pulse of the whole machine, and then send a control signal to the corresponding fan to control the speed of each fan.
[0135] The method provided by the embodiment of the present application is applied in a controller, and the controller includes: a message bus system and a heat dissipation strategy function module; the heat dissipation strategy function module runs independently and communicates through the message bus system; the heat dissipation strategy function module includes a strategy initialization module, a temperature collection module, a modulation pulse calculation module and a speed regulation module; wherein the strategy initialization module is used to register the heat dissipation strategy service to the message bus system, and create fan paths, partition paths, heat dissipation point paths of different heat dissipation points and the attributes of each path; wherein the attributes of the heat dissipation point path include adjustment parameters; the temperature collection module is used to collect the temperatures of different components in the server, and use the temperature to update the current temperature attributes of the corresponding heat dissipation point path; the modulation pulse calculation module is used to obtain the attributes corresponding to the fan path, the partition path and different heat dissipation points, and calculate the whole machine modulation pulse based on the acquired attributes; the speed regulation module is used to write the whole machine modulation pulse into the logic, so that the logic determines the modulation speed of each fan based on the whole machine modulation pulse, and controls each fan based on the modulation speed.
[0136] In order to achieve the decoupling of heat dissipation control software and hardware, in this application, the heat dissipation strategy in the controller is divided into different heat dissipation strategy function modules according to the function. These different heat dissipation strategy function modules operate independently of each other and communicate through the message bus system to implement the heat dissipation function. Specifically, the heat dissipation strategy function module includes a strategy initialization module, a temperature collection module, a modulation pulse calculation module and a speed regulation module; the strategy initialization module is used to register the heat dissipation strategy service to the message bus system and create corresponding paths and attributes, so as to realize the communication of each heat dissipation strategy function module through the message bus system. The temperature collection module is used to collect the temperatures of different components in the server and update the current temperature attributes of the heat dissipation point path. The modulation pulse calculation module obtains the attributes corresponding to the fan path, the partition path and different heat dissipation points, and calculates the whole machine modulation pulse based on the acquired attributes. The speed regulation module writes the whole machine modulation pulse into the logic. In this way, the logic determines the modulation speed of each fan based on the whole machine modulation pulse, and controls each fan based on the modulation speed.
[0137] The technical effect of the present application is as follows: In the controller, the heat dissipation strategy is divided into modules according to function, each heat dissipation strategy function module runs independently and communicates through a message bus system, thereby realizing the decoupling of heat dissipation control software and hardware, which is more conducive to actual production applications.
[0138] It should be noted that, based on the above embodiments, the embodiments of the present application also provide corresponding improved solutions. In the preferred / improved embodiments, the same steps or corresponding steps as those in the above embodiments can be referenced to each other, and the corresponding beneficial effects can also be referenced to each other, which will not be described one by one in the preferred / improved embodiments of this article.
[0139] In a specific implementation of the present application, it also includes:
[0140] Conduct functional evaluation on each cooling strategy functional module;
[0141] Optimize the target cooling strategy function modules whose evaluation scores do not meet the application requirements;
[0142] The optimized target heat dissipation strategy function module is used to replace the original target heat dissipation strategy function module to perform corresponding functions.
[0143] That is to say, since the heat dissipation function modules operate independently of each other, when a problem is found in a function module, it is possible to directly optimize only the single function module, thereby reducing the workload of tuning. In addition, since each function module is independent of each other, when optimizing, optimization tasks can also be allocated based on the function module, so that more technicians can participate in the optimization process together, which can also improve the optimization efficiency.
[0144] In a specific implementation of the present application, it also includes:
[0145] The heat dissipation strategy upgrade module is used to receive the heat dissipation configuration file, and when the heat dissipation configuration file is valid, after clearing all heat dissipation point paths under the heat dissipation strategy service, a new heat dissipation point path and the attributes of the new heat dissipation point path are rebuilt according to the heat dissipation configuration file.
[0146] In a specific implementation of the present application, it also includes:
[0147] When the debug enable attribute of the message bus system determines to enable the log output module, the log output module is used to format the process information of the heat dissipation calculation, obtain the heat dissipation log, and output the heat dissipation log.
[0148] In a specific implementation of the present application, it also includes:
[0149] The speed control module is used to detect anomalies and perform corresponding speed control operations based on the detected anomalies.
[0150] In a specific implementation of the present application, the adjustment parameters include a starting value, a severe high threshold, a proportional constant, an integral constant, a differential constant, a speed adjustment type, a current temperature, a modulation pulse value, and a fan factor.
[0151] In a specific implementation of the present application, the message bus system includes a message communication model; accordingly, the temperature collection module is specifically used to synchronize the acquired temperature to the current temperature attribute of the corresponding heat dissipation point path based on the message communication model.
[0152] In a specific implementation of the present application, a modulation pulse calculation module is used to obtain attributes corresponding to fan paths, partition paths, and different heat dissipation points, and the whole machine modulation pulse is calculated based on the acquired attributes, including:
[0153] Obtain the attributes corresponding to the fan path, partition path and different heat dissipation points through the bus in the message bus system;
[0154] Different heat dissipation speed regulation algorithms are called according to the speed regulation type, and the heat dissipation speed regulation algorithm coefficients are modified by adjusting the parameters. The current temperature is input to calculate the modulation pulse value corresponding to the current heat dissipation point.
[0155] The calculated modulation pulse value is updated to the modulation pulse value attribute of the heat dissipation point path;
[0156] The modulated pulse value of each heat dissipation point is weighted and the modulated pulse of the whole machine is generated according to the weight matrix.
[0157] A readable storage medium stores a computer program, and when the computer program is executed by a processor, the steps of the heat dissipation method of the above method embodiment are implemented.
[0158] The readable storage medium may specifically be a U disk, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk, or other readable storage medium that can store program codes.
[0159] Corresponding to the above method embodiment, the embodiment of the present application further provides a computer program product. The computer program product described below and the heat dissipation method described above can refer to each other.
[0160] A computer program product includes a computer program / instruction. When the computer program / instruction is executed by a processor, the steps of the above heat dissipation method are implemented.
[0161] In this specification, each embodiment is described in a progressive manner, and each embodiment focuses on the differences from other embodiments. The same or similar parts between the embodiments can be referred to each other. For the device disclosed in the embodiment, since it corresponds to the method disclosed in the embodiment, the description is relatively simple, and the relevant parts can be referred to the method part.
[0162] Those skilled in the art may further appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented with electronic hardware, computer software, or a combination of the two. In order to clearly illustrate the interchangeability of hardware and software, the composition and steps of each example have been generally described in terms of function in the above description. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art may use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of this application.
[0163] The steps of the method or algorithm described in conjunction with the embodiments disclosed herein may be implemented directly using hardware, a software module executed by a processor, or a combination of the two. The software module may be placed in a random access memory (RAM), a memory, a read-only memory (ROM), an electrically programmable ROM, an electrically erasable programmable ROM, a register, a hard disk, a removable disk, a CD-ROM, or any other form of storage medium known in the art.
[0164] Finally, it should be noted that, in this article, relationships such as first and second, etc. are used only to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the terms include, include or any other variations are intended to cover non-exclusive inclusion, so that a process, method, article or device that includes a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device.
[0165] Specific examples are used herein to illustrate the principles and implementation methods of the present application. The description of the above embodiments is only used to help understand the method and core idea of the present application. At the same time, for those skilled in the art, according to the idea of the present application, there will be changes in the specific implementation methods and application scope. In summary, the content of this specification should not be understood as a limitation on the present application.
Claims
1. A controller, characterized in that: include: Message bus system and heat dissipation strategy functional modules; The heat dissipation strategy function module operates independently and communicates through the message bus system; The heat dissipation strategy function module includes a strategy initialization module, a temperature collection module, a modulation pulse calculation module and a speed regulation module; The strategy initialization module is used to register the heat dissipation strategy service with the message bus system, and create fan paths, partition paths, heat dissipation point paths of different heat dissipation points and attributes of each path; wherein the attributes of the heat dissipation point path include adjustment parameters; The temperature collection module is used to collect the temperatures of different components in the server and use the temperatures to update the current temperature attributes of the corresponding heat dissipation point paths; The modulation pulse calculation module is used to obtain the attributes corresponding to the fan path, the partition path and the different heat dissipation points, and calculate the whole machine modulation pulse based on the obtained attributes; The speed control module is used to write the whole machine modulation pulse into the logic device, so that the logic device determines the modulation speed of each fan based on the whole machine modulation pulse, and controls each fan based on the modulation speed.
2. The controller according to claim 1, characterized in that: The heat dissipation strategy function module also includes: a heat dissipation strategy upgrade module; The heat dissipation strategy upgrade module is used to receive a heat dissipation configuration file, and if the heat dissipation configuration file is valid, after clearing all heat dissipation point paths under the heat dissipation strategy service, rebuild a new heat dissipation point path and the attributes of the new heat dissipation point path according to the heat dissipation configuration file.
3. The controller according to claim 1, characterized in that: The policy initialization module is further used to read the debug enable flag in the memory, and when confirming that the debug function is enabled, create a debug path and a debug enable attribute under the heat dissipation policy service.
4. The controller according to claim 3, characterized in that: The heat dissipation strategy function module also includes: a log output module; the debug enable attribute of the message bus system determines whether to enable the log output module; The log output module is used to format the process information of the heat dissipation calculation, obtain the heat dissipation log, and output the heat dissipation log.
5. The controller according to claim 1, characterized in that: The speed regulation module is also used for abnormality detection and performs corresponding speed regulation operations based on the detected abnormality.
6. The controller according to claim 1, characterized in that: The adjustment parameters include a starting value, a severe high threshold, a proportional constant, an integral constant, a differential constant, a speed adjustment type, a current temperature, a modulation pulse value, and a fan factor.
7. The controller according to claim 1, characterized in that: The message bus system includes a message communication model; accordingly, the temperature collection module is specifically configured to synchronize the acquired temperature to the current temperature attribute of the corresponding heat dissipation point path based on the message communication model.
8. The controller according to any one of claims 1 to 7, characterized in that: The modulation pulse calculation module comprises: A single heat dissipation point modulation calculation unit is used to obtain the attributes corresponding to the fan path, the partition path and the different heat dissipation points through the bus in the message bus system; call different heat dissipation speed regulation algorithms according to the speed regulation type, and modify the heat dissipation speed regulation algorithm coefficient through the adjustment parameter, input the current temperature to calculate the modulation pulse value corresponding to the current heat dissipation point, and update the calculated modulation pulse value to the modulation pulse value attribute of the heat dissipation point path; The whole machine modulation calculation unit is used to perform weight calculation on the modulation pulse value of each heat dissipation point and generate the whole machine modulation pulse according to the weight matrix.
9. A server, characterized in that: include: A fan, a logic device and a controller as claimed in any one of claims 1 to 8; Wherein, the logic device is connected to the controller, and the fan is connected to the logic device.
10. A heat dissipation method, characterized in that: Applied to the controller according to any one of claims 1 to 8, the method comprises: Using the policy initialization module, register the heat dissipation policy service with the message bus system, and create fan paths, partition paths, heat dissipation point paths of different heat dissipation points and attributes of each path; wherein the attributes of the heat dissipation point path include adjustment parameters; Using the temperature collection module, collect the temperatures of different components in the server, and use the temperatures to update the current temperature attributes of the corresponding heat dissipation point paths; Using a modulation pulse calculation module, the attributes corresponding to the fan path, the partition path and the different heat dissipation points are obtained, and the whole machine modulation pulse is calculated based on the obtained attributes; The speed control module is used to write the whole machine modulation pulse into the logic device, so that the logic device determines the modulation speed of each fan based on the whole machine modulation pulse, and controls each fan based on the modulation speed.
11. The method according to claim 10, characterized in that Also includes: The heat dissipation strategy upgrade module is used to receive the heat dissipation configuration file, and when the heat dissipation configuration file is valid, after clearing all heat dissipation point paths under the heat dissipation strategy service, a new heat dissipation point path and the attributes of the new heat dissipation point path are rebuilt according to the heat dissipation configuration file.
12. The method according to claim 10, characterized in that Also includes: When the debug enable attribute of the message bus system determines to enable the log output module, the log output module is used to format the process information of the heat dissipation calculation to obtain the heat dissipation log, and the heat dissipation log is output.
13. The method according to any one of claims 10 to 12, characterized in that: Using a modulation pulse calculation module, the attributes corresponding to the fan path, the partition path, and the different heat dissipation points are obtained, and the whole machine modulation pulse is calculated based on the obtained attributes, including: Obtaining, through a bus in the message bus system, properties corresponding to the fan path, the partition path, and the different heat dissipation points; Call different heat dissipation speed regulation algorithms according to the speed regulation type, modify the heat dissipation speed regulation algorithm coefficients through the adjustment parameters, input the current temperature to calculate the modulation pulse value corresponding to the current heat dissipation point; The calculated modulation pulse value is updated to the modulation pulse value attribute of the heat dissipation point path; A weight calculation is performed on the modulation pulse value of each heat dissipation point, and the whole machine modulation pulse is generated according to the weight matrix.
14. A readable storage medium, characterized in that: The readable storage medium stores a computer program, and when the computer program is executed by a processor, the steps of the heat dissipation method according to any one of claims 10 to 13 are implemented.
15. A computer program product comprising a computer program / instructions, characterized in that When the computer program / instruction is executed by a processor, the steps of the heat dissipation method according to any one of claims 10 to 13 are implemented.
Citation Information
Patent Citations
Cooling device of server
CN108196651A
Server heat dissipation regulation and control method and device and storage medium
CN113703552A
Server heat dissipation method and device, electronic equipment and storage medium
CN116643631A
Temperature control method and device for server, electronic equipment and storage medium
CN117519334A
System and method for controlling speed regulation modes of multiple fans in user-defined mode and server
CN118466718A
Cited By
Laser radar heat dissipation system
CN119697971A