Heat dissipation adjustment method and computing device
By arranging multiple temperature sensors and BMC to adjust fan speed in computing devices, the problem of insufficient heat dissipation of computing devices is solved, overall temperature monitoring and optimization are achieved, and device performance and energy efficiency are improved.
Patent Information
- Application Number
- CN202211309692.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-10-25
- Publication Date
- 2025-09-16
- Estimated Expiration
- 2042-10-25
AI Technical Summary
The heat dissipation hole design of existing computing devices cannot effectively dissipate heat, causing the hardware temperature to rise and affecting performance.
By arranging multiple temperature sensors in the computing device, dividing it into sub-areas, and using the BMC to adjust the fan speed according to the temperature data collected by the sensors, the overall temperature of the computing device can be monitored and adjusted.
It improves the heat dissipation effect of computing equipment, ensures that the hardware operates within the optimal temperature range, improves energy efficiency, and is suitable for servers with different board layouts.
Smart Images

Figure CN115657819B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of computer technology, and in particular to a heat dissipation adjustment method and computing equipment. Background Art
[0002] Currently, hardware devices on some computing devices (such as servers) generate a certain amount of heat during operation. This heat, which cannot be dissipated, increases the temperature of the hardware and its surroundings, and this temperature increase often leads to performance degradation. To dissipate this heat promptly and prevent excessive temperatures from affecting hardware performance, cooling holes are typically provided in the housing of the computing device. However, cooling holes alone do not provide satisfactory heat dissipation. Summary of the Invention
[0003] In order to solve the problems existing in the prior art, the embodiments of the present application provide a heat dissipation adjustment method, apparatus, computing device, computer storage medium and product containing a computer program, which can improve the heat dissipation effect in the computing device.
[0004] In a first aspect, the present application provides a heat dissipation adjustment method, which is applied to a computing device, wherein the computing device has a motherboard, the motherboard includes one or more first areas, and the motherboard is also provided with multiple temperature sensors and at least one fan, and the fan is used to dissipate heat for electronic devices on the motherboard. The method includes: obtaining temperatures collected by N temperature sensors to obtain N temperature values, N≥2; wherein the N temperature sensors are located at the edge of the first area on the motherboard; according to the N temperature values, determining the temperature of each sub-area in the area surrounded by the N temperature sensors; for each target fan, determining the sub-area corresponding to the air outlet direction of the target fan; and adjusting the speed of the target fan according to the temperature of the sub-area corresponding to the air outlet direction of the target fan.
[0005] In this way, the temperature inside the computing device can be detected as a whole, thereby finding an optimal temperature value for the computing device as a whole, and maximizing the energy efficiency of the computing device.
[0006] In some possible implementations, determining the temperature of each sub-area in an area surrounded by N temperature sensors includes: for any sub-area among the sub-areas, obtaining the distance between any sub-area and m temperature sensors to obtain m distances, where N≥m≥2; and determining the temperature of any sub-area based on the m distances and the temperatures collected by the m temperature sensors.
[0007] In this way, the temperature of each sub-area can be determined separately, so that the temperature of different places of the computing device can be obtained, and the temperature can be adjusted for different areas.
[0008] In some possible implementations, the temperature of any sub-area is determined based on the m distances and the temperatures collected by the m temperature sensors, specifically including: determining the weight of the temperature collected by each of the m temperature sensors based on the m distances; and processing the temperatures collected by the m temperature sensors based on the weight of the temperature collected by each of the m temperature sensors to obtain the temperature of any sub-area.
[0009] In some possible implementations, the method may further include: updating the temperature of any sub-area based on the distance between any sub-area and hardware in the computing device; wherein the hardware includes boards, and the boards include disk array boards, graphics processor boards, network cards, and central processing unit boards.
[0010] In some possible implementations, updating the temperature of any sub-area includes: determining the temperature influence coefficient of each hardware; obtaining the distance between the center point of any sub-area and the center point of the hardware, determining the influence weight of the hardware on any sub-area, and updating the temperature of any sub-area based on the influence weight and the temperature influence coefficient.
[0011] In this way, the temperature obtained in the sub-area can be closer to the actual temperature and more accurate.
[0012] In some possible implementations, determining the influence weight of the hardware on any sub-area includes: obtaining the distance between any sub-area and the current hardware, recorded as the first distance; obtaining the sum of the distances between any sub-area and all hardware, recorded as the second distance; and the influence weight is the ratio of the first distance to the second distance.
[0013] In some possible implementations, adjusting the rotational speed of the fans corresponding to each sub-area according to the temperature of each sub-area specifically includes: when the temperature of a first preset number of sub-areas is higher than a first preset temperature, increasing the rotational speed of the target fan, wherein the air outlet of the target fan is the fan corresponding to any sub-area; when the temperature of a second preset number of sub-areas is lower than a second preset temperature, reducing the rotational speed of the target fan, wherein the second preset temperature is lower than or equal to the first preset temperature.
[0014] In this way, the temperature inside the computing device can be adjusted separately according to the obtained temperatures of different sub-areas.
[0015] In some possible implementations, before reducing the rotation speed of the target fan, the method further includes: determining that a temperature of at least one other sub-region corresponding to the target fan is lower than a second preset temperature.
[0016] In some possible implementations, the speed of the target fan is adjusted according to the temperature of the sub-area corresponding to the air outlet direction of the target fan, including: when it is determined that the temperatures of a first preset number of sub-areas corresponding to the target fan are higher than the first preset temperature, the duty cycle of the pulse width modulation that drives the target fan is increased according to a predetermined step size.
[0017] In some possible implementations, adjusting the speed of the fans corresponding to each sub-area is specifically as follows: adjusting the speed of the fans by means of a proportional-integral-differential speed regulator, specifically including: when the temperatures of a first preset number of sub-areas corresponding to the target fan are higher than a first preset temperature, determining the difference between the average temperature of the first preset number of sub-areas and the first preset temperature, and inputting the difference into a proportional-integral-differential control operator; the proportional-integral-differential control operator obtains a control value based on the difference; and increasing the duty cycle of the pulse width modulation for driving the target fan based on the control value.
[0018] In some possible implementations, the first area is rectangular, and the temperature sensors are distributed in an array.
[0019] In the second aspect, the present application provides a heat dissipation adjustment device, which is deployed on a computing device. The computing device has a motherboard, which includes one or more first areas. The motherboard is also provided with multiple temperature sensors and at least one fan. The fan is used to dissipate heat for electronic devices on the motherboard. The device includes: an acquisition module, which is used to acquire the temperatures collected by N temperature sensors to obtain N temperature values, N≥2; wherein the N temperature sensors are located at the edge of the first area on the mainboard; a processing module, which is used to determine the temperature of each sub-area in the area surrounded by the N temperature sensors based on the N temperature values; for each target fan, determine the sub-area corresponding to the air outlet direction of the target fan; the processing module is also used to adjust the speed of the fan corresponding to each sub-area according to the temperature of each sub-area.
[0020] In some possible implementations, the processing module is further used to obtain, for any sub-area in each sub-area, the distance between any sub-area and m temperature sensors to obtain m distances, where N≥m≥2; and determine the temperature of any sub-area based on the m distances and the temperatures collected by the m temperature sensors.
[0021] In some possible implementations, the processing module is further used to determine the weight of the temperature collected by each of the m temperature sensors based on the m distances; and process the temperatures collected by the m temperature sensors based on the weight of the temperature collected by each of the m temperature sensors to obtain the temperature of any sub-area.
[0022] In some possible implementations, the processing module is further used to update the temperature of any sub-area based on the distance between any sub-area and hardware in the computing device; wherein the hardware includes boards, and the boards include disk array boards, graphics processor boards, network cards, and central processing unit boards.
[0023] In some possible implementations, the processing module is also used to determine the temperature influence coefficient of each hardware; obtain the distance between the center point of any sub-area and the center point of the hardware, determine the influence weight of the hardware on any sub-area, and update the temperature of any sub-area based on the influence weight and the temperature influence coefficient.
[0024] In some possible implementations, the processing module determines the influence weight of the hardware on any sub-area, including: obtaining the distance between any sub-area and the current hardware, recorded as the first distance; obtaining the sum of the distances between any sub-area and all hardware, recorded as the second distance; the influence weight is the ratio of the first distance to the second distance.
[0025] In some possible implementations, the processing module is specifically used to increase the speed of the target fan when the temperature of a first preset number of sub-areas is higher than a first preset temperature, wherein the air outlet of the target fan is a fan corresponding to any sub-area; and when the temperature of a second preset number of sub-areas is lower than a second preset temperature, reduce the speed of the target fan, wherein the second preset temperature is lower than or equal to the first preset temperature.
[0026] In some possible implementations, the processing module is further configured to determine that a temperature of at least one other sub-region corresponding to the target fan is lower than a second preset temperature.
[0027] In some possible implementations, the processing module is further configured to increase a duty cycle of a pulse width modulation for driving the target fan according to a predetermined step size when it is determined that temperatures of a first preset number of sub-areas corresponding to the target fan are higher than a first preset temperature.
[0028] In some possible implementations, the processing module is also used to adjust the fan speed by using a proportional-integral-differential speed regulator, specifically including: when the temperature of a first preset number of sub-areas corresponding to the target fan is higher than the first preset temperature, determining the difference between the average temperature of the first preset number of sub-areas and the first preset temperature, and inputting the difference into a proportional-integral-differential control operator; the proportional-integral-differential control operator obtains a control value based on the difference; and increasing the duty cycle of the pulse width modulation that drives the target fan based on the control value.
[0029] In a third aspect, the present application provides a computing device comprising: a motherboard; a plurality of temperature sensors for detecting the temperature around the temperature sensors, the plurality of temperature sensors being configured on the motherboard, and the area surrounded by the plurality of temperature sensors being divided into a plurality of sub-areas; at least one fan for adjusting the temperature in the computing device, configured at the edge of the motherboard, each fan corresponding to a plurality of the sub-areas; a baseboard control manager BMC for determining the temperature of each of the sub-areas based on the temperatures collected by the plurality of temperature sensors, so as to adjust the rotation speed of the fans corresponding to each of the sub-areas according to the temperature of each of the sub-areas, and the BMC being configured on the motherboard.
[0030] In some possible implementations, the sensor is located in the direction of an air outlet of at least one fan, where the direction of the air outlet refers to a straight blowing direction of the at least one fan during operation.
[0031] In a fourth aspect, the present application provides a computer-readable storage medium comprising computer-readable instructions. When a computer reads and executes the computer-readable instructions, the computer executes the method as described in any one of the first aspects.
[0032] In a fifth aspect, the present application provides an electronic device comprising a processor and a memory, wherein the memory stores computer program instructions, and when the computer program instructions are executed by the processor, the method as described in any one of the first aspects is executed.
[0033] In a sixth aspect, the present application provides a product comprising a computer program, which, when the computer program product runs on a processor, enables the processor to execute the method as described in any one of the first aspects.
[0034] It can be understood that the beneficial effects of the second to sixth aspects mentioned above can be found in the relevant description of the first aspect mentioned above, and will not be repeated here. BRIEF DESCRIPTION OF THE DRAWINGS
[0035] In order to more clearly illustrate the technical solutions of the embodiments of the present invention, the following briefly introduces the drawings required for use in the description of the embodiments. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.
[0036] Figure 1 is a schematic diagram of a server provided in an embodiment of the present application;
[0037] Figure 2 is a schematic diagram of another server provided in an embodiment of the present application;
[0038] Figure 3is a schematic diagram of a sub-region provided in an embodiment of the present application;
[0039] Figure 4 This is a schematic diagram of a heat dissipation adjustment method provided in an embodiment of the present application;
[0040] Figure 5 This is a schematic diagram of the correspondence between sub-areas and boards provided in an embodiment of the present application;
[0041] Figure 6 This is a schematic diagram of a heat dissipation adjustment device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0042] To make the objectives, technical solutions, and advantages of the embodiments of the present invention more clear, the technical solutions in the embodiments of the present invention will be clearly and completely described below in conjunction with the accompanying drawings in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without making creative efforts shall fall within the scope of protection of the present invention.
[0043] The term "and / or" as used herein describes an association between related objects, indicating that three possible relationships exist. For example, "A and / or B" can represent: A exists alone, A and B exist simultaneously, or B exists alone. The symbol " / " as used herein indicates that the related objects are in an "or" relationship, for example, A / B means either A or B.
[0044] The terms "first" and "second" in this specification and claims are used to distinguish different objects rather than to describe a specific order of objects. For example, "first response message" and "second response message" are used to distinguish different response messages rather than to describe a specific order of response messages.
[0045] In the embodiments of this application, words such as "exemplary" or "for example" are used to indicate examples, illustrations, or descriptions. Any embodiment or design described as "exemplary" or "for example" in the embodiments of this application should not be interpreted as being preferred or advantageous over other embodiments or designs. Rather, the use of words such as "exemplary" or "for example" is intended to present the relevant concepts in a concrete manner.
[0046] In the description of the embodiments of the present application, unless otherwise specified, "multiple" means two or more, for example, multiple processing units means two or more processing units, etc.; multiple elements means two or more elements, etc.
[0047] In the embodiments of this application, the server is mainly used as an example to describe this solution in detail. It is understood that the server can also be replaced by any computing device that can adjust the temperature by the rotation of a fan, such as a home computer host, a router that uses a fan for heat dissipation, etc. The replaced solution is within the scope of protection of this application.
[0048] To facilitate understanding of the embodiments of the present application, further explanation will be given below with reference to specific embodiments in conjunction with the accompanying drawings. The embodiments do not constitute a limitation on the embodiments of the present invention.
[0049] For example, Figure 1 This is a schematic diagram of a server provided by this application. Figure 1 As shown, a server 100 may be provided with a redundant array of independent disks (RAID) board 101, a central processing unit (CPU) board 102, a graphics processing unit (GPU) board 103, a gigabit Ethernet card (GE) 104, a baseboard management controller (BMC) 105, a plurality of temperature sensors 106, and at least one fan 107. Exemplarily, the RAID board 101, the CPU board 102, the GPU board 103, the GE 104, the BMC 105, the temperature sensor 106, and the fan 107 may all be provided on a motherboard inside the server 100.
[0050] A temperature sensor 106 may be provided within a preset range centered around the RAID board 101, a temperature sensor 106 may be provided within a preset range centered around the CPU board 102, a temperature sensor 106 may be provided within a preset range centered around the GPU board 103, and a temperature sensor 106 may be provided within a preset range centered around the GE 104. Multiple temperature sensors 106 may be used to collect ambient temperature and transmit the collected temperature to the BMC.
[0051] Fan 107 is used to drive air flow within server 100 to remove heat. It can be an axial flow fan, a centrifugal fan, a mixed flow fan, a crossflow fan, or the like. Fan 107 can be installed on the edge of the server 100 motherboard, on the server 100 motherboard, or on the server 100 housing. The placement of the fan 107 can be tailored to the specific situation and is not specifically limited here. Fan 107 begins operating as soon as server 100 is powered on.
[0052] BMC 105 can be used to manage the hardware devices on server 100. For example, it can collect statistics on the power consumption of server 100 and adjust the speed of fan 107. After BMC 105 obtains the temperature transmitted by each temperature sensor 106, it can compare each temperature with a preset temperature. If it is determined that the temperature transmitted by one or more temperature sensors 106 is higher than the preset temperature value, BMC 105 can control the fan 107 to increase the speed to increase air flow inside server 100, thereby reducing the temperature inside server 100.
[0053] Although, Figure 1 The example in the example can achieve the effect of reducing the internal temperature of the server 100. However, since each temperature sensor is located near the corresponding hardware device, the temperature sensor can only detect the temperature around the corresponding hardware device and cannot detect the overall temperature of the server 100. Therefore, the temperature information of the server 100 obtained by adjusting the fan speed is not accurate enough, which affects the overall temperature status of the server 100. At the same time, since different servers 100 have different internal motherboards and the locations of corresponding hardware devices (such as boards, etc.) are also different, the BMC's adjustment of the fan speed also needs to be different. In other words, different BMC adjustment methods need to be designed for different servers 100, which greatly increases the design cost.
[0054] In view of this, an embodiment of the present application provides a heat dissipation adjustment method. In this method, a plurality of temperature sensors are arranged inside the server, and the temperature inside the server can be determined by the temperature collected by these temperature sensors, thereby realizing the overall temperature detection of the server, rather than just the temperature of a single hardware device inside the server, and then the speed of the server fan can be adjusted by the temperature inside the server. In view of the fact that the overall temperature of the server is detected in the embodiment of the present application, an optimal temperature value of the server as a whole can be found, which can minimize the impact of temperature on the server, thereby maximizing the energy efficiency of the server. At the same time, this method can be applied to servers with different board layouts. The method is described in detail below with reference to the accompanying drawings.
[0055] For example, Figure 2 This is a schematic diagram of the structure of another server provided in the embodiment of the present application. Figure 2 middle, Figure 2 (A) is a schematic diagram showing a side view of the internal structure of the server 200. Figure 2 (B) is a schematic diagram of a top view of the internal structure of the server 200. Figure 2As shown, the server 200 may include a mainboard 201, at least one fan 202, at least one board 203, at least one temperature sensor 204, and a BMC 205. The fan 202 may be Figure 1 The fan 107 in each board 203 can be Figure 1 The motherboard 201 is provided with multiple boards 203 and multiple temperature sensors 204. A fan 202 is provided at the edge of the motherboard 201. The temperature sensor 204 can be arranged on the motherboard 201 by welding. In the case where there is a board 203 occupying a position, the temperature sensor 204 can be arranged on the other side of the motherboard 201 at a position symmetrical to the motherboard 201. For example, Figure 2 As shown in (B), the solid black dots indicate that the temperature sensor 204 is located on the same side of the motherboard as the card, and the hollow dots indicate that the temperature sensor 204 is located on the other side of the motherboard 201. The air outlet of each fan 202 is directed toward the area surrounding the card 203, or toward the area surrounded by multiple temperature sensors 204.
[0056] In this embodiment, the area surrounded by the multiple temperature sensors 204 can be divided into multiple sub-areas, and each temperature sensor 204 can also serve as a sub-area. Figure 3 As shown, it is for Figure 2 The dotted box area 206 in FIG. Figure 2 As shown, the dotted box area 206 includes four temperature sensors, referred to as temperature sensor A, temperature sensor B, temperature sensor C, and temperature sensor D. Figure 3 As shown, the area between temperature sensor A, temperature sensor B, temperature sensor C, and temperature sensor D can be divided into multiple sub-areas, such as sub-area 31, sub-area 32, etc. The division of multiple sub-areas can be uniform, such as the areas of all sub-areas are equal, or non-uniform, such as the areas of some sub-areas are larger than the areas of other sub-areas. It can be understood that Figure 3 The sub-area division described in the preceding description is merely one implementation of the present application. In actual implementation, a fan 202 may correspond to multiple rows of sub-areas or just one row of sub-areas. A row may have one sub-area or multiple sub-areas. The correspondence between a fan and a sub-area can be understood as the direction in which the sub-area is facing the fan outlet.
[0057] After obtaining the temperature information collected by each temperature sensor 204, BMC205 can calculate the temperature in each sub-area based on these temperatures, thereby constructing a thermal distribution map inside the server 200, so as to obtain the temperature distribution of each area inside the server 200, and then make different temperature adjustments for different areas. When the temperature of a sub-area is higher than the preset value, BMC205 controls the fan corresponding to the sub-area to increase the speed to reduce the temperature of the sub-area. Among them, the sub-area is located in the direction of the fan's outlet, and the direction of the outlet refers to the direction in which the fan blows directly during operation.
[0058] It is worth noting that Figure 2 The example in is only one implementation of this application. Figure 2 The temperature sensors 204 can also be arranged on the side of the mainboard 201 without the board 203, but are not limited to being arranged. Alternatively, a two-dimensional plane can be established based on the shape of the server 200, and the temperature sensors 204 can be arranged on this established two-dimensional plane. The temperature sensors 204 can be arranged evenly or randomly on the established plane. The two-dimensional plane can be a two-dimensional plane established based on the width and height of the server 200, a two-dimensional plane established based on the length and width of the server 200, a two-dimensional plane established based on the length and height of the server 200, or a two-dimensional plane established based on three other possible points on the server 200. The mainboard 201 can be provided with support columns to fix the temperature sensors 204, or any other device for fixing the temperature sensors 204. The specific situation can be determined according to actual conditions, as long as it can fix the temperature sensor, and no specific limitation is made here.
[0059] Figure 2 The example in FIG shows that the number of fans 202 is 3. It can be understood that this is only an example in the present application and not all. The number of fans 202 can be increased or decreased according to actual needs.
[0060] Next, based on Figure 2 and Figure 3 The content in describes a temperature adjustment method provided in an embodiment of the present application.
[0061] For example, Figure 4 This is a temperature adjustment method provided in an embodiment of the present application. The method can be executed by a computing device such as the aforementioned server, or by hardware in the server or other computing device, such as a BMC in the server, or a CPU in the server, without specific limitation. Figure 4 The temperature sensor involved can be Figure 2 The temperature sensor 204 shown in FIG. 1 and the fan can be Figure 2 The fan 202 in the.
[0062] like Figure 4 As shown, the temperature adjustment method provided in the embodiment of the present application may include the following steps:
[0063] S401: Acquire temperatures collected by N temperature sensors to obtain N temperature values, where N≥2. The N temperature sensors may be located at edges of a first area on a mainboard.
[0064] In this embodiment, a motherboard is provided on the computing device, and the motherboard can be divided into one or more first areas. A plurality of temperature sensors are provided at the edges of the first areas. Each temperature sensor can detect the temperature of its respective surroundings in real time or periodically, thereby obtaining the temperature value detected by each temperature sensor.
[0065] For example, please refer to Figure 2 In (B), the dashed box area 206 includes four temperature sensors, namely temperature sensor A, temperature sensor B, temperature sensor C, and temperature sensor D. Each temperature sensor can detect the temperature around itself and obtain a temperature value, which is recorded as A, B, C, and D respectively. The temperature value corresponds to the temperature sensor. For example, the temperature value obtained by temperature sensor A is A.
[0066] S402: Determine, based on the N temperature values, the temperature of each sub-area within the area enclosed by the N temperature sensors, wherein each sub-area corresponds to at least one fan and is located in the direction of the fan's air outlet. For each target fan, determine the sub-area corresponding to the air outlet direction of the target fan.
[0067] In this embodiment, these temperature sensors can form a detection area. According to the temperatures detected by these temperature sensors, the temperatures of each sub-area in the detection area formed by these temperature sensors can be determined. Each sub-area can correspond to a fan, and each fan can correspond to multiple sub-areas.
[0068] For any sub-region, the temperatures collected by m (2≤m≤N) temperature sensors can be calculated based on the distances between the sub-region and the m temperature sensors to obtain the temperature of the sub-region.
[0069] Specifically, the distances between the center point of the sub-area and the m temperature sensors can be obtained respectively through the parameters configured in the system. Then, the weights of the various temperatures collected by the m temperature sensors are determined based on these m distances. For example, the weight collected by a certain temperature sensor can be the ratio between the distance between the temperature sensor and the sub-area and the sum of the m distances. For example, when m=3, the three distances are 10cm, 15cm and 15cm respectively, then the weight of the temperature collected by the temperature sensor corresponding to the distance of 10cm is: 10 / (10+15+15)=0.25. In some embodiments, the weights collected by the m temperature sensors can also be pre-configured in the system, which can be determined according to actual conditions.
[0070] Finally, after the weights of the temperatures collected by the m temperature sensors are determined, weighted calculation can be performed on the temperatures collected by the m temperature sensors using these weights to obtain the temperature of the sub-region.
[0071] For example, please refer to Figure 3 There is a sub-region 31 in the area enclosed by temperature sensors A, B, C, and D. If the temperature collected by temperature sensor A is A, the weight of this temperature in sub-region 31 is 0.58, the temperature collected by temperature sensor B is B, the weight of this temperature in sub-region 31 is 0.15, the temperature collected by temperature sensor C is C, the weight of this temperature in sub-region 31 is 0.15, and the temperature collected by temperature sensor D is D, the weight of this temperature in sub-region 31 is 0.12. Then the temperature of sub-region 31 is 0.58A+0.15B+0.15C+0.12D.
[0072] In some embodiments, when a sub-region is located on a line connecting two adjacent temperature sensors, when calculating the temperature of the sub-region, only the temperatures collected by the two adjacent temperature sensors may be used for calculation.
[0073] For example, please refer to Figure 3 A subregion 32 exists between temperature sensors A, B, C, and D. Temperature sensors A and C are adjacent, and subregion 32 lies on the line connecting adjacent sensors A and C. Therefore, when calculating the temperature value of subregion 32, only the temperatures collected by sensors A and C can be used. If the temperature collected by sensor A is A, and the weight of this temperature in subregion 31 calculated using the aforementioned method is 0.4, and the temperature collected by sensor C is C, and the weight of this temperature in subregion 31 calculated using the aforementioned method is 0.6, then the temperature of subregion 32 can be 0.4A + 0.6C.
[0074] Furthermore, in order to make the temperature of the sub-region more accurate, the temperature of the sub-region may be updated based on the correspondence between the sub-region and various hardware inside the server (eg, GE board, GPU board, etc.).
[0075] Specifically, the weight of each hardware when updating the temperature of the sub-area can be pre-set based on the distance between each sub-area and the hardware inside the server (such as GE board, GPU board, etc.). Among them, the distance between a sub-area and the hardware can be understood as the distance between the sub-area and the hardware is less than the preset value. When updating the temperature of a sub-area, the temperature of the sub-area determined above can be weighted calculated using the pre-set weight to complete the update of the temperature of the sub-area. For example, if the hardware corresponding to a sub-area in the server is hardware 1, and the weight of hardware 1 is set to 0.9, and the temperature of the sub-area determined above is T, then the temperature after the temperature T is updated is: 0.9T.
[0076] For any sub-area, when determining the weight of each hardware item within the server, the hardware item corresponding to the sub-area can be determined based on the distance between the sub-area and the hardware item. For example, when the distance between the sub-area and one of the hardware items is less than a preset value, it is determined that there is a corresponding relationship between the two. Furthermore, the weight of the hardware item corresponding to the sub-area can be set based on the power consumption of the hardware item. For example, hardware with high power consumption has a high weight, and hardware with low power consumption has a low weight.
[0077] For example, if Figure 5As shown, there are adjacent boards A and B. Temperature sensors A, B, C, and D are located around boards A and B. The area enclosed by these four temperature sensors is divided into several sub-areas. The sub-area in area 501 (including temperature sensors A and C) is within the range of board A, and the sub-area in area 502 (including temperature sensor B) is within the range of board B. Therefore, when calculating the updated temperature, the sub-areas in area 501 need to be multiplied by the weight of board A, while the sub-areas in area 502 need to be multiplied by the weight of board B. For example, if board A is a GPU and board B is a GE board, and the GPU's weight coefficient is pre-set to 1.2 due to its expected high power consumption, the updated temperature of each sub-area in area 501 can be the temperature determined based on the temperature collected by the temperature sensors multiplied by 1.2. Since the expected power consumption of the GE card is small, the weight addition coefficient of the GE card is preset to 0.9. The updated temperature of each sub-area in the area 502 may be the temperature determined based on the temperature collected by the temperature sensor multiplied by 0.9.
[0078] In some embodiments, the temperature of any sub-area can also be updated based on the distance between any sub-area and the hardware in the computing device; wherein the hardware may include a board, and the board may include a disk array board, a graphics processor board, a network card, a central processing unit board, etc.
[0079] In this embodiment, the temperature influence coefficient of each hardware can be determined, the distance between the center point of any sub-area and the center point of the hardware can be obtained, the influence weight of the hardware on any sub-area can be determined, and the temperature of any sub-area can be updated based on the influence weight and the temperature influence coefficient.
[0080] In some embodiments, determining the influence weight of the hardware on any sub-area includes: obtaining the distance between any sub-area and the current hardware, recorded as the first distance; obtaining the sum of the distances between any sub-area and all hardware, recorded as the second distance; the influence weight is the ratio of the first distance to the second distance.
[0081] For example, a subregion exists between two hardware components, and the temperatures of both hardware components affect the temperature of the subregion. In this case, the temperature impact coefficients of the two hardware components can be determined separately. Then, based on the distance between the subregion and the two hardware components, the temperature impact weight of each hardware component on the subregion can be obtained. Based on the temperature impact weight and temperature impact coefficient of each hardware component, the temperature impact coefficient of the subregion is obtained, and the temperature of the subregion is updated based on this temperature impact coefficient.
[0082] For example, there is a sub-region between hardware 1 and hardware 2. The temperature influence coefficient of hardware 1 is 1.2, the temperature influence coefficient of hardware 2 is 0.9, and the temperature of this sub-region is T. The distance between this sub-region and hardware 1 is 6, and the distance between this sub-region and hardware 2 is 4. Then the temperature influence weight of hardware 1 on this sub-region is 6 / (6+4)=0.6, and the temperature influence weight of hardware 2 on this sub-region is 4 / (6+4)=0.4. The temperature influence coefficient of this sub-region can be 0.6*1.2+0.9*0.4=1.08. At this time, the temperature of this sub-region can be updated according to the temperature influence coefficient to 1.08T.
[0083] S403: Adjusting the rotation speed of the target fan according to the temperature of the sub-area corresponding to the air outlet direction of the target fan.
[0084] In this embodiment, after the temperature of each sub-region is acquired, the rotation speed of the fan corresponding to each sub-region may be adjusted based on the temperature of each sub-region.
[0085] In some embodiments, adjusting the speed of the fans corresponding to the sub-areas according to the temperatures of the sub-areas specifically includes:
[0086] When the temperature of a first preset number of sub-areas is higher than a first preset temperature, increasing the rotation speed of a target fan, wherein the air outlet of the target fan is a fan corresponding to any sub-area;
[0087] When the temperatures of a second preset number of sub-areas are lower than a second preset temperature, the rotation speed of the target fan is reduced, wherein the second preset temperature is lower than or equal to the first preset temperature.
[0088] In some embodiments, before reducing the rotation speed of the target fan, the method further includes:
[0089] It is determined that the temperature of at least one other sub-area corresponding to the target fan is lower than a second preset temperature.
[0090] For example, when the temperature of a first preset number (e.g., 3) of the multiple sub-areas is higher than the first preset temperature, the speed of the target fans corresponding to the 3 sub-areas can be increased to speed up the heat dissipation of the 3 sub-areas, thereby lowering the temperature of the 3 sub-areas. When the temperature of a second preset number of sub-areas is lower than the second preset temperature, and the temperature of any sub-area in the sub-areas corresponding to the target fan is not higher than the first preset temperature, the speed of the target fan can be reduced to reduce the heat dissipation of the sub-area, thereby raising the temperature of the sub-area. The second preset temperature can be less than or equal to the first preset temperature. The interval between the first preset temperature and the second preset temperature (preset temperature interval) is the temperature interval with the highest energy efficiency of the computing device.
[0091] As a possible implementation, when the temperature of a sub-area is lower than the second preset temperature, it is determined that the temperature of at least one other sub-area corresponding to the target fan is lower than the second preset temperature. In this case, the speed of the target fan is controlled to be reduced. For example, the temperature of sub-area 1 is 50°C, and the second preset temperature is 55°C. At this time, the temperature of sub-area 1 is lower than the second preset temperature. The fan corresponding to sub-area 1 is fan 1. There are 10 sub-areas in the direction of the air outlet of fan 1, and the 10 sub-areas include sub-area 1. When it is determined that the temperature of 5 of the other 9 sub-areas, excluding sub-area 1, is lower than 55°C, fan 1 is controlled to reduce its speed.
[0092] By changing the temperature of the sub-area, the sub-area can be maintained at a predetermined temperature or a preset temperature range to the maximum extent, so that the hardware equipment (such as GE boards, GPU boards, etc.) can run at an appropriate temperature, thereby maximizing the energy efficiency of the server.
[0093] In some embodiments, the speed of the target fan is adjusted based on the temperature of the sub-area corresponding to the air outlet direction of the target fan, and the adjustment can be performed in a step-by-step manner. The step-by-step method means that after the fan executes an instruction once, the speed is maintained until the next adjustment instruction arrives. Specifically, the step-by-step method for adjusting the fan speed may include:
[0094] When it is determined that the temperatures of a first predetermined number of sub-regions corresponding to the target fan are higher than the first predetermined temperature, a duty cycle of a pulse width modulation (PWM) for driving the target fan is increased according to a predetermined step size.
[0095] In some embodiments, the speed of the target fan is adjusted based on the temperature of the sub-area corresponding to the air outlet direction of the target fan, and the adjustment can be performed using a proportional integral differentiation (PID) speed regulator. PID is a control algorithm that controls by proportional, integral, and differential. After obtaining the updated temperature, the updated temperature is subjected to three operations: proportional, integral, and differential to obtain the appropriate fan speed. Specifically, adjusting the fan speed using a PID speed regulator may include:
[0096] When the temperatures of the first preset number of sub-areas corresponding to the target fan are higher than the first preset temperature, determining the difference between the average temperature of the first preset number of sub-areas and the first preset temperature, and inputting the difference into the PID control operator;
[0097] The proportional-integral-differential control operator obtains the control value based on the difference;
[0098] The duty cycle of the PWM that drives the target fan is increased according to the control value.
[0099] It can be seen from the various embodiments described above that the method provided by the present application can monitor the overall temperature of the computing device, find an optimal temperature value for the entire computing device, and maximize the energy efficiency of the computing device. At the same time, the technical solution provided by the present method is more universal, and the different arrangements of the boards in the computing device do not affect the method of the present application. In other words, different computing devices are also applicable to the present method.
[0100] It is understandable that the size of the sequence number of each step in the above-mentioned embodiments does not mean the order of execution, and the execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of the present application. In addition, in some possible implementations, the steps in the above-mentioned embodiments can be selectively executed according to actual conditions, and can be partially executed or fully executed, which is not limited here. All or part of any features of any embodiment of the present application can be freely and arbitrarily combined without contradiction. The combined technical solution is also within the scope of the present application.
[0101] Based on the method in the above embodiment, an embodiment of the present application further provides a device authentication apparatus.
[0102] For example, Figure 6 A heat dissipation regulating device is shown. The device can be deployed in a computing device. The computing device has a motherboard, which includes one or more first areas. The motherboard is also provided with multiple temperature sensors and at least one fan. The fan is used to dissipate heat for electronic devices on the motherboard. Figure 6 As shown, the heat dissipation adjustment device 600 may include: an acquisition module 601 and a processing module 602 .
[0103] Among them, the acquisition module 601 is used to obtain the temperatures collected by N temperature sensors to obtain N temperature values, N≥2; wherein, the N temperature sensors are located at the edge of the first area on the mainboard; the processing module 602 is used to determine the temperature of each sub-area in the area surrounded by the N temperature sensors based on the N temperature values; for each target fan, determine the sub-area corresponding to the air outlet direction of the target fan; the processing module 602 is also used to adjust the speed of the fans corresponding to each sub-area according to the temperature of each sub-area.
[0104] In some embodiments, the processing module 602 is also used to obtain the distance between any sub-area and m temperature sensors for any sub-area in each sub-area to obtain m distances, where N≥m≥2; and determine the temperature of any sub-area based on the m distances and the temperatures collected by the m temperature sensors.
[0105] In some embodiments, the processing module 602 is further used to determine the weight of the temperature collected by each of the m temperature sensors based on the m distances; and process the temperatures collected by the m temperature sensors based on the weight of the temperature collected by each of the m temperature sensors to obtain the temperature of any sub-area.
[0106] In some embodiments, the processing module 602 is also used to update the temperature of any sub-area based on the distance between any sub-area and the hardware in the computing device; wherein the hardware includes boards, and the boards include disk array boards, graphics processor boards, network cards, and central processing unit boards.
[0107] In some embodiments, the processing module 602 is also used to determine the temperature influence coefficient of each hardware; obtain the distance between the center point of any sub-area and the center point of the hardware, determine the influence weight of the hardware on any sub-area, and update the temperature of any sub-area based on the influence weight and the temperature influence coefficient.
[0108] In some embodiments, the processing module 602 determines the influence weight of the hardware on any sub-area, including: obtaining the distance between any sub-area and the current hardware, recorded as the first distance; obtaining the sum of the distances between any sub-area and all hardware, recorded as the second distance; the influence weight is the ratio of the first distance to the second distance.
[0109] In some embodiments, the processing module 602 is specifically used to increase the speed of the target fan when the temperature of a first preset number of sub-areas is higher than a first preset temperature, wherein the air outlet of the target fan is a fan corresponding to any sub-area; and when the temperature of a second preset number of sub-areas is lower than a second preset temperature, reduce the speed of the target fan, wherein the second preset temperature is lower than or equal to the first preset temperature.
[0110] In some embodiments, the processing module 602 is further configured to determine that the temperature of at least one other sub-region corresponding to the target fan is lower than a second preset temperature.
[0111] In some embodiments, the processing module 602 is further configured to increase a duty cycle of a pulse width modulation for driving the target fan according to a predetermined step size when it is determined that the temperatures of a first preset number of sub-regions corresponding to the target fan are higher than a first preset temperature.
[0112] In some embodiments, the processing module 602 is also used to adjust the fan speed by using a proportional-integral-differential speed regulator, specifically including: when the temperature of a first preset number of sub-areas corresponding to the target fan is higher than the first preset temperature, determining the difference between the average temperature of the first preset number of sub-areas and the first preset temperature, and inputting the difference into the proportional-integral-differential control operator; the proportional-integral-differential control operator obtains a control value based on the difference; and increasing the duty cycle of the pulse width modulation that drives the target fan based on the control value.
[0113] It is understood that the processor in the embodiments of the present application may be a central processing unit (CPU), or may be other general-purpose processors, digital signal processors (DSP), application-specific integrated circuits (ASIC), field programmable gate arrays (FPGA), or other programmable logic devices, transistor logic devices, hardware components, or any combination thereof. The general-purpose processor may be a microprocessor or any conventional processor.
[0114] The method steps in the embodiments of the present application can be implemented by hardware or by a processor executing software instructions. The software instructions can be composed of corresponding software modules, which can be stored in random access memory (RAM), flash memory, read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), registers, hard disks, mobile hard disks, CD-ROMs or any other form of storage medium known in the art. An exemplary storage medium is coupled to the processor so that the processor can read information from the storage medium and write information to the storage medium. Of course, the storage medium can also be a component of the processor. The processor and the storage medium can be located in an ASIC.
[0115] In the above embodiments, it can be implemented in whole or in part by software, hardware, firmware or any combination thereof. When implemented using software, it can be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the process or function described in the embodiment of the present application is generated in whole or in part. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transmitted via the computer-readable storage medium. The computer instructions can be transmitted from one website, computer, server or data center to another website, computer, server or data center via a wired (e.g., coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) method. The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server or data center that includes one or more available media integrated. The available medium can be a magnetic medium (e.g., a floppy disk, a hard disk, a tape), an optical medium (e.g., a DVD), or a semiconductor medium (e.g., a solid state drive (SSD)).
[0116] It will be understood that the various numerical numbers involved in the embodiments of the present application are merely distinctions for the convenience of description and are not intended to limit the scope of the embodiments of the present application.
Claims
1. A heat dissipation adjustment method, characterized in that: The method is applied to a computing device having a mainboard, the mainboard including one or more first areas, the mainboard further provided with multiple temperature sensors and at least one fan, the fan being used to dissipate heat from electronic components on the mainboard, and comprising: Acquiring temperatures collected by N temperature sensors to obtain N temperature values, where N is greater than or equal to 2; wherein the N temperature sensors are located at edges of the first area on the mainboard; determining the temperature of each sub-area in the area surrounded by the N temperature sensors according to the N temperature values; For each target fan, determining a sub-area corresponding to an air outlet direction of the target fan; adjusting the speed of the target fan according to the temperature of the sub-area corresponding to the air outlet direction of the target fan; Based on the distance between any one of the sub-areas and the hardware in the computing device, the temperature of the any one of the sub-areas is updated; wherein the hardware includes boards, and the boards include disk array boards, graphics processor boards, network cards, and central processing unit boards; wherein, updating the temperature of the any one of the sub-areas includes: determining the temperature influence coefficient of each hardware; obtaining the distance between the center point of the any one of the sub-areas and the center point of the hardware, determining the influence weight of the hardware on the any one of the sub-areas, and updating the temperature of the any one of the sub-areas according to the influence weight and the temperature influence coefficient.
2. The method according to claim 1, characterized in that Determining the temperature of each sub-area in the area surrounded by the N temperature sensors includes: For any one of the sub-regions, obtaining a distance between the any one sub-region and the m temperature sensors to obtain m distances, where N≥m≥2; The temperature of any one of the sub-areas is determined according to the m distances and the temperatures collected by the m temperature sensors.
3. The method according to claim 2, characterized in that The determining the temperature of any one of the sub-areas based on the m distances and the temperatures collected by the m temperature sensors specifically includes: Determining, based on the m distances, a weight of the temperature collected by each of the m temperature sensors; The temperatures collected by the m temperature sensors are processed according to the weight of the temperature collected by each temperature sensor in the m temperature sensors to obtain the temperature of the any one sub-region.
4. The method according to claim 1, wherein Determining the influence weight of the hardware on any one of the sub-areas includes: Obtaining the distance between any one of the sub-regions and the current hardware, and recording it as a first distance; Obtaining the sum of the distances between any one of the sub-regions and all the hardware, and recording it as a second distance; The influence weight is a ratio of the first distance to the second distance.
5. The method according to any one of claims 1 to 4, characterized in that The adjusting the speed of the fan corresponding to each of the sub-areas according to the temperature of each of the sub-areas specifically includes: When the temperatures of a first preset number of the sub-areas are higher than a first preset temperature, increasing the rotation speed of a target fan, wherein the air outlet of the target fan is a fan corresponding to any one of the sub-areas; When the temperatures of a second preset number of the sub-areas are lower than a second preset temperature, the rotation speed of the target fan is reduced, wherein the second preset temperature is lower than or equal to the first preset temperature.
6. The method according to claim 5, characterized in that Before reducing the rotation speed of the target fan, the method further includes: It is determined that the temperature of at least one other sub-area corresponding to the target fan is lower than the second preset temperature.
7. The method according to claim 6, characterized in that The adjusting the rotation speed of the target fan according to the temperature of the sub-area corresponding to the air outlet direction of the target fan includes: When it is determined that the temperatures of the first preset number of sub-areas corresponding to the target fan are higher than the first preset temperature, the duty cycle of the pulse width modulation for driving the target fan is increased according to a predetermined step size.
8. The method according to claim 6, characterized in that The adjusting the rotation speed of the target fan according to the temperature of the sub-area corresponding to the air outlet direction of the target fan includes: The fan speed is adjusted using a proportional-integral-differential speed regulator, specifically including: When the temperatures of the first preset number of sub-areas corresponding to the target fan are higher than the first preset temperature, determining a difference between an average temperature of the first preset number of sub-areas and the first preset temperature, and inputting the difference into a proportional-integral-differential control operator; The proportional-integral-differential control operator obtains a control value according to the difference; The duty cycle of a pulse width modulation for driving the target fan is increased according to the control value.
9. The method according to any one of claims 1, characterized in that The first area is rectangular, and the temperature sensors are distributed in an array.
10. A computing device, characterized in that include: A mainboard, comprising one or more first areas, wherein the mainboard is further provided with a plurality of temperature sensors and at least one fan; a plurality of temperature sensors for detecting the temperature around the temperature sensors, wherein the plurality of temperature sensors are arranged on the mainboard, and an area surrounded by the plurality of temperature sensors is divided into a plurality of sub-areas; At least one fan, configured to regulate the temperature of the computing device, disposed at an edge of the motherboard, each fan corresponding to a plurality of the sub-areas; The baseboard control manager BMC is used to determine the temperature of each of the sub-areas based on the temperatures collected by the multiple temperature sensors, so as to adjust the speed of the fans corresponding to each of the sub-areas according to the temperatures of each of the sub-areas. The BMC is configured on the motherboard. Specifically, the baseboard control manager BMC is used to: obtain the temperatures collected by N temperature sensors to obtain N temperature values, N ≥ 2; wherein the N temperature sensors are located at the edge of the first area on the motherboard; determine the temperature of each sub-area in the area surrounded by the N temperature sensors according to the N temperature values; for each target fan, determine the sub-area corresponding to the air outlet direction of the target fan; based on Adjust the speed of the target fan according to the temperature of the sub-area corresponding to the air outlet direction of the target fan; update the temperature of any sub-area based on the distance between any sub-area and the hardware in the computing device; wherein the hardware includes boards, and the boards include disk array boards, graphics processor boards, network cards, and central processing unit boards; wherein, updating the temperature of any sub-area includes: determining the temperature influence coefficient of each hardware; obtaining the distance between the center point of any sub-area and the center point of the hardware, determining the influence weight of the hardware on the any sub-area, and updating the temperature of any sub-area according to the influence weight and the temperature influence coefficient.
Citation Information
Patent Citations
A cowhouse environment temperature detection system based on a wireless sensor network
CN107155932A
Temperature control system
US20130208419A1