Server fan rotating speed control method and electronic equipment
By acquiring server power consumption information and chassis temperature difference, the required airflow for heat dissipation is calculated and the fan speed is determined, thus solving the problem of insufficient heat dissipation or increased power consumption caused by unreasonable fan speed settings, and achieving efficient heat dissipation and energy saving for the server.
Patent Information
- Application Number
- CN202511415360.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-09-29
- Publication Date
- 2025-11-04
- Estimated Expiration
- 2045-09-29
AI Technical Summary
In existing technologies, fan speed settings rely on the experience of maintenance personnel, which can lead to problems such as insufficient heat dissipation or increased power consumption.
By acquiring the server's power consumption information and the temperature difference between the chassis's inlet and outlet air vents under the target task scenario, the required airflow for heat dissipation is calculated using the heat dissipation efficiency coefficient, and the fan speed parameters are determined based on the airflow to achieve automated control.
Accurately determining the appropriate fan speed solves the problems of insufficient heat dissipation or increased power consumption, ensuring the server's heat dissipation effect and saving fan power consumption.
Smart Images

Figure CN120889768A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of server technology, and in particular to a server fan speed control method and electronic device. Background Technology
[0002] Servers are the core computing units for data processing, and thermal management is crucial for ensuring server reliability. Air cooling, as one of the server cooling methods, manages server heat dissipation by controlling fan speed.
[0003] Currently, maintenance personnel set corresponding fan speeds for different temperatures and control the fan speed based on temperature during heat dissipation management. However, the setting of fan speed mainly relies on the experience of maintenance personnel. If the speed is set too low, the server hardware may overheat and be damaged due to insufficient heat dissipation. If the speed is set too high, it will lead to increased fan power consumption and noise, and will also accelerate fan wear and reduce the fan's lifespan.
[0004] Therefore, accurately calculating the appropriate fan speed is a technical problem that urgently needs to be solved. Summary of the Invention
[0005] This application provides a server fan speed control method and electronic device to at least solve the problem of insufficient heat dissipation or increased power consumption caused by unreasonable fan speed settings in the related art.
[0006] This application provides a method for controlling the fan speed of a server, including: In response to the server running in the target task scenario, obtain the power consumption information of the server firmware in the target task scenario, as well as the temperature difference between the server chassis inlet and outlet in the target task scenario. Based on power consumption information, temperature difference between chassis inlet and outlet, and server heat dissipation efficiency coefficient, determine the air volume required for server heat dissipation in the target task scenario; among them, power consumption information is positively correlated with the required air volume for heat dissipation, and temperature difference between chassis inlet and outlet is negatively correlated with the required air volume for heat dissipation. Determine the fan speed parameters of the server based on the required airflow for heat dissipation; Based on the fan speed parameters, control the fan speed in the target task scenario.
[0007] This application also provides a server fan speed control device, including: The acquisition module is used to acquire the power consumption information of the server firmware under the target task scenario, as well as the temperature difference between the server's chassis inlet and outlet air vents under the target task scenario, in response to the server running under the target task scenario. The first determining module is used to determine the required airflow for cooling the server under the target task scenario based on power consumption information, the temperature difference between the inlet and outlet of the chassis, and the server's heat dissipation efficiency coefficient; wherein, power consumption information is positively correlated with the required airflow for cooling, and the temperature difference between the inlet and outlet of the chassis is negatively correlated with the required airflow for cooling. The second determining module is used to determine the fan speed parameters of the server based on the required airflow for heat dissipation. The control module is used to control the fan speed in the target task scenario based on the fan speed parameters.
[0008] This application also provides an electronic device, including: a memory for storing a computer program; and a processor for executing the computer program to implement the steps of any of the above-described server fan speed control methods.
[0009] This application also provides a computer-readable storage medium storing a computer program, wherein when the computer program is executed by a processor, it implements the steps of any of the above-described server fan speed control methods.
[0010] This application also provides a computer program product, including a computer program that, when executed by a processor, implements the steps of any of the above-described server fan speed control methods.
[0011] This application provides a method for quantitatively calculating fan speed. Compared to related technologies where fan speed settings rely on the experience of maintenance personnel, this method accurately determines reasonable fan speed parameters. This allows for fan speed control in the corresponding target task scenario, solving the problem of insufficient heat dissipation or increased power consumption caused by improperly set fan speeds. It ensures effective server cooling while saving fan power consumption. Attached Figure Description
[0012] To more clearly illustrate the embodiments of this application, the accompanying drawings used in the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0013] Figure 1 This is a flowchart illustrating a server fan speed control method provided in Embodiment 1 of this application; Figure 2 This is a flowchart illustrating a server fan speed control method provided in Embodiment 2 of this application; Figure 3 A schematic diagram of an information extraction process provided in an embodiment of this application; Figure 4 A schematic diagram illustrating the process of determining fan speed in a basic power consumption scenario provided in this application embodiment; Figure 5 This is a flowchart illustrating a server fan speed control method provided in Embodiment 3 of this application; Figure 6 A flowchart illustrating the process of determining fan speed in a preset task scenario, as provided in an embodiment of this application; Figure 7 This is a schematic diagram of a server fan speed control device provided in an embodiment of this application. Detailed Implementation
[0014] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those of ordinary skill in the art without creative effort are within the protection scope of this application.
[0015] It should be noted that, in the description of this application, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. The terms "first," "second," etc., in this application are used to distinguish similar objects and are not used to describe a specific order or sequence.
[0016] To enable those skilled in the art to better understand the present application, the present application will be further described in detail below with reference to the accompanying drawings and specific embodiments.
[0017] The embodiments of this application provide a server fan speed control method, and the method is described in detail below in conjunction with the execution flow of the server fan speed control method.
[0018] Figure 1 This is a flowchart illustrating a server fan speed control method provided in Embodiment 1 of this application. This method can be executed by a server fan speed control device provided in this embodiment. The device can be implemented in software and / or hardware and can be integrated into an electronic device.
[0019] like Figure 1 As shown, the server fan speed control method includes the following steps: Step 101: In response to the server running in the target task scenario, obtain the power consumption information of the server firmware in the target task scenario, as well as the temperature difference between the server chassis inlet and outlet air vents in the target task scenario.
[0020] In this embodiment, multiple task scenarios are pre-defined, and the target task scenario is any one of these scenarios. These multiple task scenarios include, but are not limited to, upgrade task scenarios, computing task scenarios, and basic power consumption scenarios. The server firmware includes hardware that generates power consumption during runtime, such as processors, memory, power supplies, etc. The processor includes a central processing unit (CPU).
[0021] In this embodiment, power consumption information of each firmware under the target task scenario is obtained, and data is collected from the server through a temperature sensor to obtain the air outlet temperature and air inlet temperature of the server under the target task scenario. Then, the temperature difference between the air outlet and air inlet of the chassis is determined by the difference between the air outlet temperature and the air inlet temperature.
[0022] In one embodiment of this application, for different target task scenarios, corresponding methods can be used to obtain the power consumption information of the firmware under the target task scenario. Obtaining the power consumption information of the server firmware under the target task scenario includes: when the target task scenario is a preset task scenario, collecting the firmware power consumption information through a detector; and when the target task scenario is a basic power consumption scenario, obtaining the firmware power consumption information through a hardware management protocol. The preset task can be determined based on the server's total power consumption. For example, tasks whose total power consumption during execution is greater than a preset power consumption threshold are identified as preset tasks. Optionally, preset tasks include upgrade tasks, computation tasks, etc., and preset task scenarios include upgrade task scenarios and computation task scenarios. When the server is running under a preset task scenario, the real-time power consumption information of the firmware is collected through a detector. Basic power consumption scenarios include scenarios such as the server's initial management. Firmware information is obtained through a hardware management protocol, and the firmware power consumption information is obtained from the firmware information through text processing. This power consumption information is then used as the firmware power consumption information under the basic power consumption scenario.
[0023] Step 102: Based on power consumption information, temperature difference between chassis inlet and outlet, and server heat dissipation efficiency coefficient, determine the required airflow for server heat dissipation in the target task scenario.
[0024] In this embodiment, a formula for calculating the required airflow for heat dissipation is constructed based on a thermodynamic model. The required airflow for heat dissipation under the target task scenario is calculated based on power consumption information, the temperature difference between the chassis inlet and outlet, the server's thermal efficiency coefficient, and the formula. Specifically, power consumption information is positively correlated with the required airflow, the temperature difference between the chassis inlet and outlet is negatively correlated, and the server's thermal efficiency coefficient is a parameter related to the server, used to represent the server's heat dissipation efficiency.
[0025] As an example, the formula for calculating the required airflow for heat dissipation is as follows: ; Wherein, FR1 is the airflow required for heat dissipation, Ptotal is the total power consumption information of the server, which can be determined based on the power consumption information of each firmware, C is the heat dissipation efficiency coefficient, which may vary between different servers. For example, if the C value of a server is 0.7, it means that the heat dissipation efficiency is 70%, p is the air density (fixed value of 1.2), and C' is the air constant pressure heat fusion ratio (fixed value of 1005). This refers to the temperature difference between the inlet and outlet of the chassis. The temperature difference between the inlet and outlet of the chassis is obtained from the data collected by the temperature sensor, which is the difference between the outlet temperature and the inlet temperature. Optionally, when the server is first connected to the pipes, the temperature difference between the inlet and outlet of the chassis is usually set to 20.
[0026] Step 103: Determine the fan speed parameters of the server based on the required airflow for heat dissipation.
[0027] In this embodiment, the rotational speed parameter of each fan is determined based on the required airflow for heat dissipation and the number of fans in the server. Optionally, the required airflow to be provided by at least one fan is determined based on the required airflow for heat dissipation and the number of fans. Then, the rotational speed parameter of at least one fan is determined based on the required airflow to be provided by at least one fan, the maximum airflow coefficient, and the fan airflow information.
[0028] As an example, the formula for calculating the required air volume is as follows: ; Wherein, FR1 is the required airflow for heat dissipation, and FR2 is the airflow to be provided by each fan. N is the number of available fans, which can be determined based on the status information in the fan firmware information. For example, fans with the health information field in the status information showing "normal" are considered available fans.
[0029] The formula for calculating the rotational speed parameter is as follows: ; Where S is the rotation speed parameter, which can be expressed as a percentage of rotation speed; K is the maximum airflow coefficient, which represents the maximum airflow coefficient that a single fan can provide when the rotation speed percentage is 100%. The maximum airflow coefficient is related to the fan model. For example, the maximum airflow coefficient is 0.00033, which can be obtained by querying the corresponding firmware document based on the fan model in the fan firmware information; n is the fan airflow information, which is defined in the range of [2, 3] according to the fan manufacturer's document. For example, the fan airflow information is 2.8.
[0030] In one embodiment of this application, determining the rotational speed parameter of at least one fan based on the air volume to be provided, the maximum air volume coefficient, and the fan air volume information of at least one fan includes: for any fan, determining a candidate rotational speed parameter of the fan based on the air volume to be provided, the maximum air volume coefficient, and the fan air volume information; correcting the candidate rotational speed parameter based on a safety margin coefficient to obtain a corrected rotational speed parameter; and determining the rotational speed parameter of the fan based on the corrected rotational speed parameter and the fan rotational speed configuration constraints.
[0031] Among them, the candidate speed parameters can be determined by referring to the calculation formula of the speed parameters in the example above. The safety margin coefficient is used to provide additional speed redundancy, and the speed configuration constraint is used to constrain the specific values and forms of the speed parameters.
[0032] As an example, the formula for calculating the fan speed parameter based on the candidate speed parameters is as follows: S1 = min(100, max(S0×(1 + α), 10)). Where α is the safety margin coefficient, for example, a value of 0.08; S0 is the candidate speed parameter; and S1 is the fan speed parameter. According to the speed configuration constraints, the speed parameter is expressed as a percentage of the speed. The speed parameter set by the server BMC (Baseboard Management Controller) is between 10% and 100% and is an integer multiple of 10%. The output value calculated by the above formula is between 10 and 100 and meets the minimum value of the corrected speed parameter and speed configuration constraints. In this example, by setting a safety margin coefficient to correct the candidate speed parameter, a certain safety margin can be provided, reducing the risk of equipment damage due to insufficient heat dissipation and further improving the accuracy of fan speed control.
[0033] Step 104: Control the fan speed in the target task scenario based on the fan speed parameters.
[0034] In this embodiment, after determining the rotational speed parameters of each fan in the server, the rotational speed of each fan is controlled according to the rotational speed parameters to achieve heat dissipation control of the server under the target task scenario.
[0035] As an example, in response to the server running in a target task scenario, power consumption information and the temperature difference between the chassis inlet and outlet are acquired at each of multiple time points. The fan speed parameters at each time point are then calculated and the fan speed is controlled based on these parameters. These multiple time points are determined, for example, according to a preset time interval; that is, the fan speed parameters are determined every preset time interval, and the fan speed is controlled based on these parameters.
[0036] The server fan speed control method of this application embodiment, in response to the server running in a target task scenario, obtains the power consumption information of the server firmware in the target task scenario, as well as the temperature difference between the server's chassis inlet and outlet in the target task scenario. Based on the power consumption information of the server firmware, the temperature difference between the chassis inlet and outlet, and the heat dissipation efficiency coefficient, it calculates the air volume required for heat dissipation in the target task scenario. Then, it determines the fan speed based on the required air volume for heat dissipation. Thus, it provides a way to quantitatively calculate the fan speed. Compared with the method in related technologies where the fan speed depends on the experience of the operation and maintenance personnel, it can accurately determine a reasonable fan speed parameter, so as to control the fan speed in the corresponding target task scenario. This solves the problem of insufficient heat dissipation or increased power consumption caused by unreasonable fan speed settings, ensuring the server's heat dissipation effect while saving fan power consumption.
[0037] In one alternative embodiment of this application, such as Figure 2 As shown, based on the aforementioned embodiments, the server fan speed control method may include the following steps: Step 201: In response to the server operating in the basic power consumption scenario, obtain the power consumption information of the firmware through the hardware management protocol, and obtain the temperature difference between the server chassis inlet and outlet air vents.
[0038] In this embodiment, the basic power consumption scenario includes scenarios where the server is not performing preset tasks. Preset tasks include upgrade tasks, computing tasks, etc., such as the initial server management scenario. The hardware management protocol is, for example, the Redfish protocol. Through the Redfish protocol and by parsing the corresponding interface, core data information such as server firmware and server information is obtained. The rule engine extracts information from the firmware and server information to obtain power consumption information, firmware characteristics, and server device characteristics for each firmware. Firmware characteristics include, but are not limited to, specifications such as model and manufacturer. Server device characteristics include, but are not limited to, specifications such as model and manufacturer, and basic information such as BMC version. Furthermore, during the management software's operation and maintenance, data is collected through the server's corresponding sensors. Real-time sensor data is obtained through the Redfish protocol to filter out the information needed for fan speed calculation.
[0039] The following explains how to obtain power consumption information from the firmware.
[0040] In one embodiment of this application, obtaining the power consumption information of the firmware through a hardware management protocol includes: performing precise matching in the firmware information of the server according to a preset firmware power consumption field to determine the power consumption information that matches the preset firmware power consumption field; and if no power consumption information that matches the preset firmware power consumption field is found, performing regular expression matching in the firmware information through regular expression matching keyword rules to determine the power consumption information of the firmware.
[0041] In this embodiment, due to the differences in information fields returned by Redfish protocols from different manufacturers, a rule engine is needed to improve the completeness of information parsing. The rule engine includes a precise parsing engine and a regular expression matching parsing engine. The precise parsing engine performs precise matching using a preset firmware power consumption field. When a field matching the preset firmware power consumption field is found, the power consumption information matching the preset firmware power consumption field is determined. The regular expression matching parsing engine is configured with regular expression matching keyword rules. These keyword rules are used to perform regular expression matching on diverse information, and can be set for power consumption information, firmware characteristics, server device characteristics, etc.
[0042] As an example, the firmware includes the CPU. For the CPU's firmware information, the preset firmware power consumption field includes TdpWatts (thermal design power in watts). The TdpWatts field is accurately matched in the CPU's firmware information by a precise parsing engine. The content of the TdpWatts field is used as the CPU's basic power consumption, thereby determining the CPU's power consumption information.
[0043] Optionally, the rules engine also includes a data formatting engine. This engine parses numerical information from core data such as firmware information and standardizes it according to a preset data format. For example, after determining the firmware's power consumption information using a precision parsing engine and / or a regular expression matching parsing engine, the engine parses the numerical information within it and standardizes it according to a preset data format.
[0044] As an example, the CPU base power consumption returned by different manufacturers' BMCs differs. For instance, manufacturer A returns "300W" while manufacturer B returns "300". This engine removes the calculation symbols and processes them uniformly into the "300" format.
[0045] Therefore, by comprehensively extracting information through a precise parsing engine, a regular expression matching parsing engine, and a data formatting engine, the power consumption information of the firmware can be accurately obtained. The extracted information can be filled into the firmware information template and stored in the firmware information library, providing data support for subsequent fan speed calculation. This information can then be used to calculate fan speed parameters in basic power consumption scenarios, thereby improving the accuracy of fan speed control.
[0046] The following explains how to obtain the temperature difference between the server chassis inlet and outlet air vents.
[0047] In one embodiment of this application, the temperature difference between the inlet and outlet of the server chassis under the target task scenario is obtained by the following steps: data is collected from the server by a sensor to obtain sensor collection information, and then regular expression matching is performed on the sensor collection information by regular expression matching keyword rules to determine the inlet and outlet temperatures of the server, and the temperature difference between the inlet and outlet of the chassis is determined based on the inlet and outlet temperatures of the server.
[0048] In this embodiment, the rule engine includes a regular expression matching parsing engine. The regular expression matching parsing engine is configured with regular expression matching keyword rules, which are used to perform regular expression matching on diverse information. These rules can be configured for sensor-collected information, etc.
[0049] As an example, the sensor includes a temperature sensor. The temperature sensor collects the real-time inlet and outlet temperatures of the server to obtain sensor data. Then, after obtaining the sensor data through the Redfish protocol, the sensor name varies in different situations. For example, the standard return for this temperature indicator is Inlet_Temp (temperature acquisition), but the content returned by the BMC of different models is different. Therefore, the inlet and outlet temperatures can be determined from the sensor data by matching keywords with regular expressions. The temperature difference between the inlet and outlet temperatures is then used to determine the inlet and outlet temperature difference of the chassis.
[0050] Optionally, the rules engine also includes a data formatting engine. This engine parses numerical information from core data such as sensor-acquired information and standardizes it according to a preset data format. For example, the data formatting engine can standardize the numerical information in the Reading data returned by the sensor interface.
[0051] It should be noted that the above implementation method, which uses the precise parsing engine, regular expression parsing engine, and data formatting engine in the rule engine, is just an example. For different application scenarios, after obtaining core data information through the Redfish protocol, the above rule combinations can be used for processing. No specific restrictions are imposed here.
[0052] The information extraction process will be explained below using a practical application scenario.
[0053] In one embodiment of this application, information extraction involves CPU, memory, power supply, fan, server, and sensor. For the interfaces of the CPU, memory, power supply, fan, and sensor, information is obtained according to Redfish requests. After the management software manages the corresponding server, it can obtain server information based on the motherboard information. For example, the information returned is in JSON format. For the CPU, the returned content includes CPU model, CPU manufacturer, base power consumption, total number of cores, base frequency, and maximum frequency. The CPU model is "Model": "CPU Model One", the CPU manufacturer is "Manufacturer": "CPU Manufacturer Two", the base power consumption is "Thermal Design Power Watts": "300", the total number of cores is "Total Number of Cores": 8, the base frequency is "Frequency": 2200 | 2.2GHz, and the maximum frequency is "Maximum Frequency Megahertz": 3400. The returned information for memory includes the memory model, manufacturer, type, base frequency, and capacity. The memory model is listed as "Model": "Memory Model Three," the manufacturer as "Manufacturer": "Memory Manufacturer Four," the type as "Storage Device Type": "Memory Type Five," the base frequency as "Frequency (MHz)": 3200, and the capacity as "Capacity": 32768MB | 64GB. The returned information for the power supply includes the power supply model, manufacturer, temperature, maximum power, and status. The power supply model is listed as "Model": "Power Supply Model Six," the manufacturer as "Manufacturer": "Power Supply Manufacturer Seven," the temperature as "Temperature": 35 | 35°C, the maximum power as "Power Capacity (Watts)": 2000, and the status as "Health Information": Normal | Warning | Abnormal. The returned information for fans includes the fan model, fan manufacturer, maximum speed, and fan status. The fan model information is "Model": "Fan Model Eight", the fan manufacturer information is "Manufacturer": "Fan Manufacturer Nine", and the fan status information is "Health Information": Normal | Warning | Abnormal. The returned information for sensors includes the sensor name, sensor unit (temperature | power consumption), sensor value, and sensor status. The sensor name information is "Name": "Temperature Acquisition" | "Power Consumption Acquisition", the sensor unit (temperature | power consumption) information is "Reading Unit": "deg_c" | "watts", the sensor value information is "Read Value": 35 | 2000W, and the sensor status information is "Health Information": Normal | Warning | Abnormal. The information extraction process is illustrated in the example below. Figure 3 As shown.
[0054] Step 202: Based on the power consumption information, the temperature difference between the chassis inlet and outlet, and the server's heat dissipation efficiency coefficient, determine the airflow required for the server to dissipate heat under the basic power consumption scenario.
[0055] Step 203: Determine the fan speed parameters of the server based on the required airflow for heat dissipation.
[0056] In this embodiment, the firmware includes a CPU, memory, and power supply. Under the basic power consumption scenario, the power consumption information of the firmware has been obtained through information extraction. Then, the total power consumption information of the server is determined based on the power consumption information of the CPU, memory, and power supply. Based on the temperature difference between the chassis inlet and outlet and the server's heat dissipation efficiency coefficient, the required airflow for heat dissipation of the server under the basic power consumption scenario is determined.
[0057] In one embodiment of this application, the required airflow for cooling the server in a target task scenario is determined based on power consumption information, the temperature difference between the chassis inlet and outlet, and the server's heat dissipation efficiency coefficient. This includes: summing the power consumption information of the CPU, the power consumption information of the memory, the power consumption information of the power supply, and a preset power consumption offset to obtain total power consumption information; and then, determining the required airflow for cooling the server in the target task scenario based on the total power consumption information, the temperature difference between the chassis inlet and outlet, and the server's heat dissipation efficiency coefficient.
[0058] In this embodiment, the preset power consumption offset is used to represent the power consumption information of other firmware besides CPU, memory, and power supply. Other firmware includes graphics processing unit (GPU), hard disk, PCIe (Peripheral Component Interconnect Express) devices. Optionally, the preset power consumption offset is set to 30W.
[0059] Specifically, the power consumption information of the firmware is determined based on the basic power consumption and / or information related to power consumption calculation.
[0060] As an example, for a basic power consumption scenario, the CPU's power consumption information is determined based on its base power consumption, base frequency, maximum frequency, and number of cores. The memory's power consumption information is determined based on its memory capacity and operating frequency. The power supply's power consumption information is determined based on its base power consumption. In this example, the power supply's power consumption information uses its base power consumption. The formulas for calculating the CPU and memory power consumption information are as follows: ; in, This is the CPU's power consumption information. This is the CPU's base power consumption. Based on a base frequency such as 3GHz, For the maximum frequency, such as 4GHz, This refers to the number of CPU cores.
[0061] ; in, This is for memory power consumption information. For example, memory capacity of 16GB, For memory operating frequency, such as 3200MHz.
[0062] As an example, when management software initially manages a server, the calculation process based on the specific firmware information is as follows: ; ; .
[0063] In this example, the required airflow for heat dissipation is calculated based on the total power consumption of 970W: ; Calculate the required airflow from the fan based on the airflow needed for heat dissipation: ; Calculate the candidate fan speed parameters based on the air volume to be provided by the fan: ; Determine the fan speed parameters based on the candidate speed parameters: ; The adjusted fan speed parameter is 7.452%, and based on the speed configuration constraints, the final fan speed parameter is 10%. Optionally, the server's device characteristics, firmware characteristics, basic power consumption scenario, and the aforementioned fan speed parameter can be templated and stored in a fan speed template library. The fan speed determination process for the aforementioned basic power consumption scenario is as follows: Figure 4 As shown.
[0064] Step 204: Control the fan speed under the basic power consumption scenario based on the fan speed parameters.
[0065] The server fan speed control method of this application obtains firmware information through protocol parsing and accurately obtains power consumption information from the firmware information through various matching rules. This enables the accurate determination of a reasonable fan speed even in basic power consumption scenarios such as the initial management of the server, thus expanding the application scenarios and improving versatility.
[0066] In one alternative embodiment of this application, such as Figure 5 As shown, based on the aforementioned embodiments, the server fan speed control method may include the following steps: Step 501: In response to the server running in a preset task scenario, the power consumption information of the firmware is collected by the detector, and the temperature difference between the air inlet and outlet of the server chassis is obtained.
[0067] In this embodiment, during the operation and maintenance of server management software, the server typically performs different types of tasks. Preset tasks include upgrade tasks, computation tasks, etc., with computation tasks being those whose computational scale exceeds a preset threshold. In preset task scenarios, a detector collects real-time power consumption information of the firmware. This detector can be, for example, a device capable of detecting power consumption.
[0068] As an example, preset tasks include BMC upgrade tasks, large-scale computing tasks, etc. The power consumption information sources in preset task scenarios are different from those in basic power consumption scenarios. The management software periodically acquires sensor data and filters out target sensors with a unit of Watts and a status of "normal". It then acquires the data collected by the target sensors to obtain the total power consumption information of the server. The total power consumption information can be obtained by summing the power consumption information of each firmware. The power consumption information of the firmware includes the power consumption information of the CPU, memory, and power supply, as well as the power consumption information of other firmware components besides the CPU, memory, and power supply.
[0069] Step 502: Based on power consumption information, temperature difference between chassis inlet and outlet, and server heat dissipation efficiency coefficient, determine the required airflow for server heat dissipation under preset task scenarios.
[0070] Step 503: Determine the fan speed parameters of the server based on the required airflow for heat dissipation.
[0071] Step 504: Control the fan speed in the preset task scenario according to the fan speed parameters.
[0072] Step 505: Create a fan speed template library.
[0073] In one embodiment of this application, after determining the fan speed parameters of the server, the server's device characteristics and firmware characteristics are obtained. Then, the target task scenario, the server's device characteristics, the firmware characteristics, and the server's fan speed parameters are templated and stored in a fan speed template library. For example, refer to... Figure 6 As shown.
[0074] Among them, the device characteristics of the server include, but are not limited to, model and manufacturer, and the firmware characteristics include, but are not limited to, model and manufacturer.
[0075] As an example, taking a server performing a BMC upgrade task, the total power consumption during the task is 2000W, and the reasonable fan speed is calculated to be 30%. The BMC upgrade task scenario, the server's device characteristics, and firmware characteristics are uniformly templated and stored in the fan speed template library.
[0076] Optionally, in a preset task scenario, the server executes a preset task within the task duration. Based on the task duration, multiple moments are determined within that duration. At each of these moments, steps are performed to collect firmware power consumption information, obtain the temperature difference between the server's chassis inlet and outlet air vents, and determine fan speed parameters, resulting in multiple fan speed parameters corresponding to each moment. Then, the maximum fan speed parameter is determined from these multiple parameters. A target fan speed template is generated by template-processing the target task scenario, server device characteristics, firmware characteristics, and the maximum fan speed parameter, and stored in a fan speed template library. Therefore, for some continuous task scenarios where the fan speed adjusts throughout the task duration, the maximum fan speed during this process is templated and stored to ensure the task completes normally, further improving the accuracy of fan speed control.
[0077] As an example, the fan speed template library is as follows:
[0078] In one embodiment of this application, after the server is running in the target task scenario, the fan speed template library can be queried first. Optionally, the fan speed template library can be queried according to the target task scenario, the device characteristics of the server, and the firmware characteristics of the firmware to determine the corresponding target speed parameters. Then, if there are target speed parameters in the fan speed template library that are suitable for the current server and the target task scenario, the fan speed is controlled according to the target speed parameters in the target task scenario.
[0079] Therefore, templates can be created for different task scenarios based on feature information and calculated fan speeds. Subsequently, when faced with the same feature information and task scenario, if the fan speed template library contains a target speed parameter suitable for the current server and the target task scenario, the target speed parameter can be directly used for fan speed control. There is no need to perform the steps of obtaining power consumption information, temperature difference between chassis inlet and outlet, and determining the required airflow for heat dissipation, which reduces the amount of calculation and improves processing efficiency. In addition, the fan speed template library can be reused. After creating multiple templates, it can be applied to various servers and various task scenarios to meet the heat dissipation requirements of different servers and task scenarios.
[0080] In one embodiment of this application, before the server runs in the target task scenario, the method further includes: setting a timed detection task to obtain task information to be executed by the server through polling by the timed detection task, and determining the target task scenario based on the task information to be executed by the server.
[0081] In this embodiment, an early warning strategy is implemented through a timed detection task. The timed detection task is used to periodically detect the task information to be executed on the server. The task information includes the task name, task type, task status, and estimated task duration. The interval of the timed detection task can be set according to the actual application needs.
[0082] As an example, the system periodically retrieves upcoming server tasks via the Redfsih task service interface. The retrieved task information includes: Task Name: "BMC Upgrade", Task Type: "BMC Upgrade" | "Stress Test", Task Status: "Ready", and Estimated Duration (minutes): 30. In this example, the scheduled task dynamically triggers fan speed adjustments. Based on the retrieved task information, the target task scenario is determined. For example, if the previous scheduled task did not detect any task information, but the current scheduled task detects an upgrade task, the system queries the fan speed template library based on the upgrade task scenario, server device characteristics, and firmware characteristics. If a corresponding target speed parameter is found, the fan is controlled according to that parameter. If no target speed parameter is found, the fan speed parameter is determined based on a preset task scenario-based fan speed determination process, and then controlled and templated according to the speed parameter.
[0083] Therefore, by periodically detecting tasks to predict upcoming tasks, accurately identifying task types, and automatically executing steps for determining and controlling fan speed, the entire process requires no manual intervention, achieving an automated solution. Furthermore, by proactively sensing server tasks and dynamically adjusting the appropriate fan speed, the system ensures normal and efficient task execution, avoiding performance loss and equipment damage caused by lagging heat dissipation control, and improving server reliability.
[0084] In one embodiment of this application, after obtaining the task information to be executed by the server through a timed detection task, when querying the fan speed template library based on the target task scenario, the server's device characteristics, and the firmware characteristics, the corresponding target speed parameter can also be determined by the similarity between the target task scenario and the template. Optionally, the operating characteristics of the server and / or firmware are obtained, and the similarity between the target task scenario and each existing first task scenario in the template is determined based on the operating characteristics. A second task scenario with a similarity greater than a preset similarity threshold is determined from the first task scenarios. Then, if the server's device characteristics and firmware characteristics in the template of the second task scenario match the current server, the speed parameter in the template of the second task scenario is determined as the target speed parameter, and then control is performed based on the target speed parameter. The operating characteristics include, for example, resource utilization. Thus, when the server faces a new task, a template suitable for the target task scenario can be determined based on the similarity between the task scenario in the existing template and the target task scenario. This ensures the accuracy of the speed parameter and enables precise and rapid fan speed control, reducing the risk of insufficient or delayed heat dissipation.
[0085] Through the above description of the embodiments, those skilled in the art can clearly understand that the methods according to the above embodiments can be implemented by means of software plus necessary general-purpose hardware platforms. Of course, they can also be implemented by hardware, but in many cases the former is a better implementation method.
[0086] Embodiments of this application also provide a server fan speed control device. Figure 7 This is a schematic diagram of a server fan speed control device provided in an embodiment of this application, as shown below. Figure 7 As shown, the server fan speed control device 70 includes: an acquisition module 71, a first determination module 72, a second determination module 73, and a control module 74.
[0087] The acquisition module 71 is used to acquire the power consumption information of the server firmware in the target task scenario and the temperature difference between the server chassis inlet and outlet in the target task scenario in response to the server running in the target task scenario. The first determining module 72 is used to determine the required airflow for cooling the server in the target task scenario based on power consumption information, the temperature difference between the inlet and outlet of the chassis, and the server's heat dissipation efficiency coefficient; wherein, power consumption information is positively correlated with the required airflow for cooling, and the temperature difference between the inlet and outlet of the chassis is negatively correlated with the required airflow for cooling. The second determining module 73 is used to determine the fan speed parameters of the server based on the required airflow for heat dissipation. The control module 74 is used to control the fan speed in the target task scenario based on the fan speed parameters.
[0088] Optionally, module 71 is specifically used for: When the target task scenario is a preset task scenario, the power consumption information of the firmware is collected by the detector; the preset task scenarios include upgrade task scenarios and computing task scenarios. In the context of the target task scenario and the basic power consumption scenario, the power consumption information of the firmware is obtained through the hardware management protocol.
[0089] Optionally, module 71 is specifically used for: The server's firmware information is precisely matched with the preset firmware power consumption field to determine the power consumption information that matches the preset firmware power consumption field. If no power consumption information matching the preset firmware power consumption field is found, regular expression matching is performed in the firmware information using regular expression matching keyword rules to determine the firmware power consumption information. The system parses the numerical information in the power consumption information of the firmware and standardizes the numerical information according to a preset data format.
[0090] Optionally, module 71 is specifically used for: Data is collected from the server using sensors to obtain sensor-collected information; Regular expression matching is performed on the sensor-collected information using keyword rules to determine the server's inlet and outlet temperatures. Determine the temperature difference between the server's inlet and outlet air vents based on the server's inlet and outlet air temperatures.
[0091] Optionally, the second determining module 73 is specifically used for: Based on the required airflow for heat dissipation and the number of fans, determine the airflow to be provided by at least one fan; Based on the air volume to be provided, the maximum air volume coefficient, and the air volume information of at least one fan, determine the speed parameters of at least one fan.
[0092] Optionally, the second determining module 73 is specifically used for: For any fan, the candidate speed parameters of the fan are determined based on the air volume to be provided, the maximum air volume coefficient, and the fan air volume information. The candidate speed parameters are corrected based on the safety margin factor to obtain the corrected speed parameters; The fan speed parameters are determined based on the corrected speed parameters and the fan speed configuration constraints.
[0093] Optionally, the device further includes: The storage module is used to obtain the device characteristics and firmware characteristics of the server; and to perform template processing on the target task scenario, the device characteristics of the server, the firmware characteristics of the firmware, and the fan speed parameters of the server, so as to store them in the fan speed template library. The query module is used to query the fan speed template library based on the target task scenario, server device characteristics, and firmware characteristics to determine the corresponding target speed parameters; and to control the fan speed under the target task scenario based on the target speed parameters.
[0094] Optionally, the device further includes: The detection module is used to set up scheduled detection tasks to poll and obtain information on tasks to be executed on the server. Based on the task information to be executed on the server, determine the target task scenario.
[0095] Optionally, the firmware includes a processor, memory, and power supply, and the acquisition module 71 is specifically used for: The processor's power consumption information is determined based on its base power consumption, base frequency, maximum frequency, and number of cores. Determine the power consumption information of the memory based on its capacity and operating frequency. Determine the power consumption information of the power supply based on its base power consumption; The first determining module 72 is specifically used for: The total power consumption information is obtained by summing the power consumption information of the processor, memory, power supply, and preset power consumption offset. Based on the total power consumption information, the temperature difference between the chassis inlet and outlet, and the server's heat dissipation efficiency coefficient, determine the airflow required for the server to dissipate heat in the target task scenario.
[0096] For a description of the features in the embodiment of the server fan speed control device, please refer to the relevant description of the embodiment of the server fan speed control method, which will not be repeated here.
[0097] Embodiments of this application also provide an electronic device, including a memory and a processor, wherein the memory stores a computer program and the processor is configured to run the computer program to perform the steps in any of the above-described server fan speed control method embodiments.
[0098] Embodiments of this application also provide a computer-readable storage medium storing a computer program, wherein the computer program is configured to execute the steps in any of the above-described server fan speed control method embodiments when running.
[0099] In one exemplary embodiment, the aforementioned computer-readable storage medium may include, but is not limited to, various media capable of storing computer programs, such as a USB flash drive, read-only memory (ROM), random access memory (RAM), portable hard disk, magnetic disk, or optical disk.
[0100] The embodiments of this application also provide a computer program product, which includes a computer program that, when executed by a processor, implements the steps in any of the above-described server fan speed control method embodiments.
[0101] Embodiments of this application also provide another computer program product, including a non-volatile computer-readable storage medium storing a computer program that, when executed by a processor, implements the steps in any of the above-described server fan speed control method embodiments.
[0102] Those skilled in the art will further recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or a combination of both. To clearly illustrate the interchangeability of hardware and software, the components and steps of the various examples have been generally described in terms of functionality in the foregoing description. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.
[0103] The foregoing has provided a detailed description of a server fan speed control method, electronic device, storage medium, and program product provided in this application. Specific examples have been used to illustrate the principles and implementation methods of this application. The descriptions of the embodiments above are only intended to help understand the method and core ideas of this application. It should be noted that those skilled in the art can make various improvements and modifications to this application without departing from its principles, and these improvements and modifications also fall within the protection scope of the claims of this application.
Claims
1. A method for controlling the fan speed of a server, characterized in that, The method includes: In response to the server running in the target task scenario, the power consumption information of the server firmware under the target task scenario and the temperature difference between the server chassis inlet and outlet under the target task scenario are obtained. Based on the power consumption information, the temperature difference between the inlet and outlet of the chassis, and the heat dissipation efficiency coefficient of the server, the required airflow for heat dissipation of the server under the target task scenario is determined; wherein, the power consumption information is positively correlated with the required airflow for heat dissipation, and the temperature difference between the inlet and outlet of the chassis is negatively correlated with the required airflow for heat dissipation. Based on the required airflow for heat dissipation, determine the fan speed parameters of the server; The fan speed is controlled according to the fan speed parameters in the target task scenario.
2. The method as described in claim 1, characterized in that, The step of obtaining the power consumption information of the server firmware under the target task scenario includes: When the target task scenario is a preset task scenario, the power consumption information of the firmware is collected by a detector; the preset task scenario includes upgrade task scenario and computing task scenario; In the case of the target task scenario as the basic power consumption scenario, the power consumption information of the firmware is obtained through the hardware management protocol.
3. The method as described in claim 2, characterized in that, The step of obtaining the power consumption information of the firmware through the hardware management protocol includes: The firmware information of the server is precisely matched according to the preset firmware power consumption field to determine the power consumption information that matches the preset firmware power consumption field. If no power consumption information matching the preset firmware power consumption field is found, regular expression matching is performed in the firmware information using regular expression matching keyword rules to determine the power consumption information of the firmware. The numerical information in the power consumption information of the firmware is parsed, and the numerical information is standardized according to a preset data format.
4. The method as described in claim 3, characterized in that, The following steps are used to obtain the temperature difference between the server's chassis inlet and outlet air vents under the target task scenario: Data is collected from the server using sensors to obtain sensor-collected information; The inlet and outlet temperatures of the server are determined by performing regular expression matching on the sensor-collected information using the regular expression keyword rules. The temperature difference between the air inlet and outlet of the chassis is determined based on the air inlet and outlet temperatures of the server.
5. The method as described in claim 1, characterized in that, Determining the fan speed parameters of the server based on the required airflow for heat dissipation includes: Based on the required airflow for heat dissipation and the number of fans, determine the airflow to be provided by at least one of the fans; Based on the air volume to be provided, the maximum air volume coefficient, and the fan air volume information of at least one of the fans, the rotational speed parameters of at least one of the fans are determined.
6. The method as described in claim 5, characterized in that, The step of determining the rotational speed parameters of at least one fan based on the air volume to be provided, the maximum air volume coefficient, and the fan air volume information of at least one fan includes: For any of the aforementioned fans, candidate speed parameters of the fan are determined based on the air volume to be provided, the maximum air volume coefficient, and the fan air volume information. The candidate speed parameters are corrected based on the safety margin coefficient to obtain the corrected speed parameters; The fan speed parameters are determined based on the corrected speed parameters and the fan speed configuration constraints.
7. The method as described in claim 1, characterized in that, After determining the fan speed parameters of the server, the method further includes: Obtain the device characteristics of the server and the firmware characteristics of the firmware; The target task scenario, the device characteristics of the server, the firmware characteristics of the firmware, and the fan speed parameters of the server are templated and stored in the fan speed template library. After responding to the server running in the target task scenario, the method further includes: Based on the target task scenario, the server's device characteristics, and the firmware characteristics, the fan speed template library is queried to determine the corresponding target speed parameters; The fan speed is controlled according to the target speed parameter in the target task scenario.
8. The method as described in claim 1, characterized in that, Before responding to the server running in the target task scenario, the method further includes: Set up a scheduled detection task to poll and obtain the task information to be executed on the server. The target task scenario is determined based on the task information to be executed by the server.
9. The method as described in claim 1, characterized in that, The firmware includes a processor, memory, and power supply. Obtaining the power consumption information of the server's firmware under the target task scenario includes: The power consumption information of the processor is determined based on the processor's base power consumption, base frequency, maximum frequency, and number of cores. The power consumption information of the memory is determined based on its memory capacity and operating frequency. Based on the power supply's base power consumption, determine the power consumption information of the power supply; The step of determining the required airflow for cooling the server under the target task scenario based on the power consumption information, the temperature difference between the chassis inlet and outlet, and the server's heat dissipation efficiency coefficient includes: The total power consumption information is obtained by summing the power consumption information of the processor, the power consumption information of the memory, the power supply, and a preset power consumption offset. Based on the total power consumption information, the temperature difference between the inlet and outlet of the chassis, and the heat dissipation efficiency coefficient of the server, the required airflow for heat dissipation of the server under the target task scenario is determined.
10. An electronic device, characterized in that, include: Memory, used to store computer programs; A processor, configured to implement the steps of the server fan speed control method as described in any one of claims 1 to 9 when executing the computer program.
Citation Information
Patent Citations
Information monitoring method, device and equipment for server and storage medium
CN107729209A
Fan speed regulation method and device suitable for server, equipment and storage medium
CN117536911A
Fan control method, system and equipment and storage medium
CN117627951A
Server fan control method and device
CN118092609A
Constant flow rate control dc fan motor
JP1996140390A