Thermal-aware scheduling method and system

Through the thermally-aware scheduling system, the operation mode of the cooling components of the computing resource are estimated and task scheduling is performed, which solves the problem that the prior art fails to consider the physical status of the computing resource and improves the performance and reliability of the computing resource.

CN116458140BActive Publication Date: 2025-03-14ALIBABA CLOUD COMPUTING CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202080104888.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2020-07-30
Publication Date
2025-03-14
Estimated Expiration
2040-07-30

AI Technical Summary

Technical Problem

Existing task scheduling or load balancing strategies fail to take into account the physical and environmental conditions of the computing resources, resulting in potential impacts on the working and health of the computing resources, thus affecting performance.

Method used

Using a thermally-aware scheduling system, by estimating the operating mode of the cooling components associated with the computing resources, task scheduling or load balancing is performed based on this, thereby selecting the appropriate computing resource processing task.

Benefits of technology

By considering the cooling component operation mode of computing resources, tasks can be better scheduled, avoid resource overload or overheating, and improve the overall performance and reliability of computing resources.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116458140B_ABST
    Figure CN116458140B_ABST
Patent Text Reader

Abstract

A thermally-aware scheduling method based on an operation mode of a cooling component is disclosed. A scheduling system may receive a task to be assigned to a server cluster, the server cluster comprising a plurality of servers. The scheduling system may estimate or determine the corresponding operation modes of the cooling components of the plurality of servers using a corresponding operation mode estimation model, based at least in part on power and performance state information of the plurality of servers and environmental information of the server cluster. The scheduling system may then select a server from the plurality of servers based on the corresponding operation mode, and assign the task to be assigned to the selected server.
Need to check novelty before this filing date? Find Prior Art

Description

Background Art

[0001] Task scheduling or load balancing is the process of allocating or assigning multiple incoming tasks to multiple available resources (such as computing units or processes) so that the overall performance of the multiple available resources can be efficient and so that the multiple incoming tasks can be processed in a timely manner. With the development of cloud computing and data center infrastructures that contain a large number of computing resources and regularly receive a large number of incoming requests or tasks from users at any time, such task scheduling or load balancing has become important to ensure the successful and efficient performance of cloud computing and data centers to meet the needs and requirements of users.

[0002] Existing task scheduling or load balancing usually adopts such a strategy, that is, randomly assigning incoming tasks to multiple available resources, or assigning the tasks to the resources with the least workload or connection at present. However, the current task scheduling or load balancing strategy is too simple and does not take into account the physical conditions of the available resources, which may not only affect the working conditions of the resources, but also the health of the resources. BRIEF DESCRIPTION OF THE DRAWINGS

[0003] The detailed description is set forth with reference to the accompanying drawings. In the figures, the left-most digit(s) of a reference number identifies the figure in which the reference number first appears. The use of the same reference numbers in different figures indicates similar or identical items.

[0004] Figure 1 An exemplary environment in which a thermal-aware scheduling system may be used is illustrated.

[0005] Figure 2 An exemplary thermally-aware scheduling system is illustrated in greater detail.

[0006] Figure 3 An exemplary server is illustrated in greater detail.

[0007] Figure 4 An exemplary method of scheduling tasks to be assigned is illustrated.

[0008] Figure 5 An exemplary operating mode estimation model is illustrated. DETAILED DESCRIPTION

[0009] Overview

[0010] As described above, the prior art does not consider the physical and environmental conditions of computing resources when performing task scheduling or load balancing, and therefore fails to fully consider the impacts that may affect the working and health conditions of computing resources, which may ultimately affect the performance of computing resources, i.e., the processing efficiency and timeliness of tasks to be assigned to computing resources.

[0011] The present disclosure describes an exemplary thermally-aware scheduling system. In an implementation, the thermally-aware scheduling system may consider the operating condition or mode of a cooling component (e.g., a fan) associated with a cluster of computing resources (such as servers, etc.) in a cloud computing or data center infrastructure to perform task scheduling or load balancing for incoming tasks or requests. In an implementation, the power consumed by a particular type of cooling component depends on some operating parameters of the cooling component. For example, the power consumed by a fan may have an approximate cubic relationship with the speed of the fan, and the fan is attached to a server and the fan receives power from the server, and the power consumed by the fan may account for most of the power consumed by the server. Therefore, the thermally-aware scheduling system can perform task scheduling or load balancing based at least in part on an estimate of the operating condition or mode of the cooling component of the computing resource.

[0012] In an implementation, there may be multiple operating modes for the cooling component, and the multiple operating modes depend on the type of the cooling component and / or the settings of the manufacturer of the cooling component. As an example and not limitation, the operating mode of a cooling component (such as a fan) may include at least two modes, such as a first mode and a second mode (or referred to as an acoustic mode and a performance mode) to save fan power or ensure the thermal safety of associated computing resources (such as servers, etc.) under different circumstances. For example, a first mode of a cooling component (such as a fan) associated with a computing resource (such as a server) may refer to an operating mode in which the cooling component operates at a low speed when the temperature of the incoming air is low, and a second mode of a cooling component associated with the computing resource may refer to an operating mode in which the cooling component operates at a high speed to protect the computing resource from thermal breakdown caused by the high temperature of the incoming air (or hotter airflow).

[0013] In an implementation, the thermal-aware scheduling system may receive a task to be assigned from a client device. The client device may send the task to be assigned to a cloud computing or data center infrastructure, and the thermal-aware scheduling system may receive the task to be assigned from an edge router, and the task to be assigned may be transmitted to the cloud computing or data center infrastructure via the edge router.

[0014] In an implementation, a thermally-aware scheduling system may collect first information from computing resources of the same cluster in a data center or cloud computing infrastructure, wherein the first information helps estimate an operating mode of a cooling component associated with the computing resources, and the thermally-aware scheduling system may collect second information from an environment of the computing resources of the same cluster, wherein the second information helps estimate an operating mode of the cooling component.

[0015] In an implementation, the first information may include, but is not limited to, corresponding power consumption information, corresponding processor utilization information, and corresponding inlet temperature of computing resources of the same cluster. In an implementation, the second information may include, but is not limited to, operating conditions of cooling units (such as set points of air conditioners and / or fans in facilities housing computing resources, etc.) and ambient temperatures of environments of computing resources (e.g., room temperatures of facilities housing computing resources). In an implementation, the facility may include a room housing at least a portion of a data center or cloud computing infrastructure (such as computing resources).

[0016] In an implementation, the thermally-aware scheduling system may estimate or predict the operation mode of computing resources of the same cluster based at least in part on the first information and the second information by using a corresponding operation mode estimation model. In an implementation, the thermally-aware scheduling system may select a computing resource from the computing resources based on the operation mode of the computing resources, and assign the task to be assigned to the selected computing resource.

[0017] As described above, the exemplary thermal-aware scheduling system is capable of deterministically or strategically assigning or redirecting requests for processing distributed database transactions from client devices to computing nodes (the computing nodes include data segments of a data table involved in at least one query of the distributed database transaction), thereby avoiding the use of control nodes or coordination nodes and thereby reducing communication costs and resource waste.

[0018] In addition, the functions described herein to be performed by the thermally aware scheduling system can be performed by multiple separate services or units. For example, a receiving service can receive tasks to be assigned from a client device, while a collection service can collect information from multiple computing resources of a cluster and an environment that houses the cluster, and yet another estimation service can estimate or predict the operating mode of cooling components associated with multiple computing resources. In addition, a selection service can select a computing resource from multiple computing resources based on the operating mode of the computing resource, and an assignment service can assign the task to be assigned to the selected computing resource.

[0019] Furthermore, although in the examples described herein the thermally-aware scheduling system may be implemented as a combination of software and hardware implemented and distributed in multiple devices, in other examples the thermally-aware scheduling system may be implemented and distributed as a service provided in one or more computing devices over a network and / or in a cloud computing architecture.

[0020] The present application describes multiple and different embodiments and implementations. The following section describes an exemplary framework suitable for practicing various implementations. Next, the present application describes an exemplary system, device, and process for implementing a thermally aware scheduling system.

[0021] Example Environment

[0022] Figure 1 An exemplary environment 100 that can be used to implement a thermal-aware scheduling system is shown. The environment 100 may include a thermal-aware scheduling system 102 and a plurality of servers 104-1, 104-2, 104-3, 104-4, 104-6, ..., 104-N (or referred to as a plurality of computing resources), which are collectively referred to as servers 104. The thermal-aware scheduling system 102 and the plurality of servers 104 may transmit data to each other via a network 106. In an implementation, the plurality of servers 104 may include or be externally provided with a plurality of cooling components 108-1, 108-2, 108-3, 108-4, 108-5, ..., 108-M, which are collectively referred to as cooling components 108. The cooling components 108 may be configured to provide a cooling effect to the plurality of servers 104.

[0023] In the example, the thermal-aware scheduling system 102 is described as a separate entity or device. In other examples, the thermal-aware scheduling system 102 can be located in one of the multiple servers 104, or can be located in a dedicated server such as a task scheduling server 110 (or load balancing server).

[0024] In an implementation, the environment 100 may further include one or more cooling units 112 and one or more sensors 114. In an implementation, the one or more cooling units 112 may include, but are not limited to, air conditioners, fans, and the like. In an implementation, in addition to the cooling assembly 108, the one or more cooling units 112 may also be configured to provide a cooling effect to the plurality of servers 104 and / or control the ambient temperature of the physical environment of the plurality of servers 104. In an implementation, the physical environment of the plurality of servers 104 may include a facility such as a data center room, etc., which contains or accommodates the plurality of servers 104. In an implementation, the one or more sensors 114 may be configured to measure the ambient temperature of the physical environment of the plurality of servers 104, measure or detect corresponding set points or operating conditions of the one or more cooling units 112, and the like.

[0025] In an implementation, the thermal-aware scheduling system 102 and the plurality of servers 104 may be included in a data center or cloud computing infrastructure, or may be included in at least a portion of a data center or cloud computing infrastructure. In other words, the thermal-aware scheduling system 102 and the plurality of servers 104 may form at least a portion of a data center or cloud.

[0026] In an implementation, the plurality of servers 104 may be divided or grouped into a plurality of server clusters, and each server cluster may include a plurality of servers 104 (e.g., servers located in the same rack, servers located in the same storage cabinet, servers located in the same room, etc.), and the plurality of servers 104 may be physically close to each other. In an implementation, a data center or cloud computing infrastructure may be physically divided into a plurality of physical partitions, and each physical partition may include a portion of the plurality of servers 104 (i.e., a server cluster of the plurality of servers 104). In an implementation, each physical partition (or each server cluster) may have an upper limit (e.g., 30, 50, 70, etc.) for the number of servers 104 that may be included in the corresponding physical partition (or the corresponding server cluster). In an implementation, the upper limit of each physical partition (or each server cluster) may depend on the physical configuration or arrangement of the servers 104 in the corresponding physical partition (or the corresponding server cluster). As an example and not limitation, a server cluster may include servers located in the same rack, or servers located in three adjacent racks, or servers located in the same storage cabinet, and so on.

[0027] In an implementation, each of the multiple servers 104 can be implemented as any of a variety of computing devices, but is not limited to a desktop computer, a notebook or portable computer, a handheld device, a netbook, a network appliance, a tablet or a slate computer, a mobile device (e.g., a mobile phone, a personal digital assistant, a smart phone, etc.), a server computer, etc., or a combination thereof.

[0028] The network 106 may be a wireless network or a wired network, or a combination thereof. The network 106 may be a collection of separate networks that are interconnected and function as a single large network (e.g., the Internet or an intranet). Examples of such separate networks include, but are not limited to, telephone networks, cable networks, local area networks (LANs), wide area networks (WANs), and metropolitan area networks (MANs). In addition, the separate networks may be wireless networks or wired networks, or a combination thereof. A wired network may include an electrical carrier connection (such as a communications cable, etc.) and / or an optical carrier or connection (such as a fiber optic connection, etc.). A wireless network may include, for example, a WiFi network, other radio frequency networks (e.g., Bluetooth Zigbee, etc.), etc.

[0029] In an implementation, a client device may send a request or task to a data center or cloud (e.g., an edge router of a data center or cloud). The thermal-aware scheduling system 102 may receive the request or task from the edge router and select a server from a plurality of servers 104 to process the request or task. After selecting a server, the thermal-aware scheduling system 102 may forward the request or task to the selected server for processing.

[0030] Example Server

[0031] Figure 2 The server 104 is illustrated in more detail. In an implementation, the server 104 may include, but is not limited to, one or more processors 202, input / output (I / O) interfaces 204 and / or network interfaces 206, and memory 208. In an implementation, some functions of the server 104 may be implemented using hardware (e.g., ASICs (i.e., application specific integrated circuits), FPGAs (i.e., field programmable gate arrays), and / or other hardware).

[0032] In an implementation, the processor 202 may be configured to execute instructions stored in the memory 208, and / or received from the I / O interface 204, and / or received from the network interface 206. In an implementation, the processor 202 may be implemented as one or more hardware processors, including, for example, a microprocessor, a dedicated instruction set processor, a physical processing unit (PPU), a central processing unit (CPU), a graphics processing unit, a digital signal processor, a tensor processing unit, etc. Additionally or alternatively, the functions described herein may be performed at least in part by one or more hardware logic components. For example, but not limiting, illustrative types of hardware logic components that can be used include field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems on chips (SOCs), complex programmable logic devices (CPLDs), etc.

[0033] Memory 208 may include computer readable media in the form of volatile memory, such as random access memory (RAM), and / or non-volatile memory, such as read only memory (ROM) or flash RAM. Memory 208 is an example of a computer readable medium.

[0034] Computer-readable media may include volatile or non-volatile types, removable or non-removable media, and the computer-readable media may use any method or technology to implement the storage of information. Information may include computer-readable instructions, data structures, program modules, or other data. Examples of computer-readable media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other internal storage technology, compact disc read-only memory (CD-ROM), digital versatile disc (DVD) or other optical storage, cassettes, disk storage or other magnetic storage devices, or any other non-transmission media, which can be used to store information that can be accessed by a computing device. As defined herein, computer-readable media does not include any temporary media, such as modulated data signals and carrier waves.

[0035] Although only hardware components are described in the server 104 in this example, in other instances, the server 104 may also include other hardware components and / or other software components, such as a program unit for executing instructions stored in the memory 208 to perform various operations, and program data 210 for storing application data and data of tasks processed by the server 104. In an implementation, the server 104 may include a system interface and / or a platform management interface 212, which can be called or activated by the thermal-aware scheduling system 102 to provide information to the thermal-aware scheduling system 102. In an implementation, the server 104 may include or be externally provided with one or more cooling components (such as Figure 1 Cooling assembly 108 shown).

[0036] Exemplary Thermal-Aware Scheduling System

[0037] Figure 3 The thermally-aware scheduling system 102 is illustrated in more detail. In an implementation, the thermally-aware scheduling system 102 may include, but is not limited to, one or more processors 302, input / output (I / O) interfaces 304, and / or network interfaces 306, and memory 308. In an implementation, some functions of the thermally-aware scheduling system 102 may be implemented using hardware (e.g., ASICs (i.e., application-specific integrated circuits), FPGAs (i.e., field-programmable gate arrays), and / or other hardware). In this example, the thermally-aware scheduling system 102 is described as existing as an independent entity or device. In other instances, the thermally-aware scheduling system 102 may be included in or located in any of the multiple servers 104, or may be included in or located in a dedicated server such as a task scheduling server 110 (or load balancing server).

[0038] In an implementation, the processor 302 may be configured to execute instructions stored in the memory 308, and / or received from the I / O interface 304, and / or received from the network interface 306. In an implementation, the processor 302 may be implemented as one or more hardware processors, including, for example, a microprocessor, a special instruction set processor, a physical processing unit (PPU), a central processing unit (CPU), a graphics processing unit, a digital signal processor, a tensor processing unit, etc. Additionally or alternatively, the functions described herein can be performed at least in part by one or more hardware logic components. For example, but not by way of limitation, illustrative types of hardware logic components that can be used include field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems on chips (SOCs), complex programmable logic devices (CPLDs), etc.

[0039] Memory 308 may include computer readable media in the form of volatile memory, such as random access memory (RAM), and / or non-volatile memory, such as read only memory (ROM) or flash RAM. Memory 308 is an example of a computer readable medium as described in the foregoing description.

[0040] Although in this example, only hardware components are described in the thermal-aware scheduling system 102, in other instances, the thermal-aware scheduling system 102 may also include other hardware components and / or other software components, such as program units for executing instructions stored in the memory 308 to perform various operations, and other program data 310. As an example and not a limitation, the thermal-aware scheduling system 102 may also include a receiving module 312, a data collection module 314, an operation mode estimation module 316, and a scheduling module 318. In an implementation, the thermal-aware scheduling system 102 may also include a model database 320, which is configured to store an operation mode estimation model, which is an operation mode estimation model of the cooling components 108 of the plurality of servers 104 in a data center or a cloud computing infrastructure.

[0041] In an implementation, the thermally-aware scheduling system 102 may include a task scheduling or load balancing strategy based on the operating modes of cooling components of multiple servers 104 of a server cluster in a data center or cloud infrastructure, which will be described in detail in subsequent sections.

[0042] In addition, the thermal-aware scheduling system 102 may also include one or more predetermined task scheduling strategies or load balancing strategies. As an example and not a limitation, the one or more predetermined task scheduling strategies or load balancing strategies may include assigning requests or tasks (e.g., tasks received by a client device) to a server in a random manner, assigning requests or tasks to a server in a round-robin manner, assigning requests or tasks to a server that currently has the smallest workload, assigning requests or tasks to a server based on a mapping relationship between an IP address of a client device and an IP address of a server, and the like.

[0043] Exemplary Methods

[0044] Figure 4 A schematic diagram depicting an exemplary method is shown, Figure 4 An exemplary method of scheduling tasks to be assigned is illustrated. Figure 4 The method can but does not have to be Figure 1 environment and use Figure 2 and Figure 3 For ease of explanation, refer to Figures 1 to 3 The method 400 is described herein. However, the method 400 may alternatively be implemented in other environments and / or using other systems.

[0045] Method 400 is described in the general case of computer executable instructions. Generally, computer executable instructions can include routines, programs, objects, components, data structures, processes, modules, functions, etc. that perform specific functions or implement specific abstract data types. In addition, each of the exemplary methods is illustrated as a collection of boxes in a logical flow chart, which represents a series of operations that can be implemented in hardware, software, firmware, or a combination thereof. The order in which the method is described is not intended to be interpreted as a limitation, and any number of the described method boxes can be combined in any order to implement the method or an alternative method. In addition, without departing from the spirit and scope of the subject matter described herein, each box can be omitted from the method. In the case of software, the box represents a computer instruction, and when the computer instruction is executed by one or more processors, the computer instruction performs the operations listed. In the case of hardware, some or all of these boxes can represent a dedicated integrated circuit (ASIC) or other physical components that perform the operations listed.

[0046] Return to reference Figure 4 , at block 402 , the thermal-aware scheduling system 102 may receive a request or task to be assigned.

[0047] In an implementation, the client device may send the request or task to be assigned to the cloud computing or data center infrastructure, for example, via an edge router of the cloud computing or data center infrastructure. The thermal-aware scheduling system 102 (or receiving module 312) may receive the request or task to be assigned from the edge router via the network 106.

[0048] At block 404 , the thermal-aware scheduling system 102 may collect power and performance status information of a plurality of servers of a server cluster in a data center or cloud, and environmental information of the server cluster.

[0049] In an implementation, the thermal-aware scheduling system 102 (or the data collection module 314) can collect power and performance status information of multiple servers in a server cluster of a cloud computing or data center infrastructure, as well as environmental information of the server cluster. In an implementation, the thermal-aware scheduling system 102 (or the data collection module 314) can collect this information before or after receiving a request or task to be assigned. In an implementation, the thermal-aware scheduling system 102 (or the data collection module 314) can collect this information periodically (e.g., after a predetermined time interval (such as every millisecond, every second, etc.)). In an implementation, the actual length of time of the predetermined time interval may depend on one or more factors, including but not limited to the number of requests or tasks received per second, the time of the day, the number of servers in the server cluster, etc. In an implementation, the thermal-aware scheduling system 102 (or the data collection module 314) may include dedicated hardware and / or software components to continuously collect this information.

[0050] In an implementation, the thermal-aware scheduling system 102 (or the data collection module 314) can collect the power and performance status information of multiple servers in a server cluster of a cloud computing or data center infrastructure by actively calling or activating a platform management interface or a corresponding system interface of multiple servers to obtain the power and performance status information of the multiple servers from the multiple servers. In an implementation, the platform management interface may include, for example, IPMI (Intelligent Platform Management Interface), which is a set of standardized specifications for a hardware-based platform management system to enable centralized control and monitoring of servers. As an example and not a limitation, the functions of IPMI may include, for example, monitoring hardware status (which includes but is not limited to temperature, power consumption, voltage, etc.), logging server data, and allowing access to the server even when the server's operating system is not installed or fails, etc.

[0051] In an implementation, the thermal-aware scheduling system 102 (or the data collection module 314) can collect environmental information of the server cluster from the cooling unit 112 and one or more sensors 114 through one or more communication protocols. A communication protocol is a system of rules that allows multiple entities of a communication system to transmit information via any kind of physical quantity change. Depending on the capabilities and complexity of the cooling unit 112 and the sensor 114, the one or more communication protocols may include, but are not limited to, Modbus (which is an open serial protocol derived from a master / slave architecture), TCP (Transmission Control Protocol), UDP (User Datagram Protocol), etc. In addition, the thermal-aware scheduling system 102 (or the data collection module 314) can collect environmental information of the server cluster from the cooling unit 112 and one or more sensors 114 through an IPC (Industrial Personal Computer), which is a computer intended for industrial purposes (such as producing products and services) and has a form factor between an online computer and a server rack. In addition, the thermally-aware scheduling system 102 (or the data collection module 314) can collect environmental information of the server cluster from the cooling unit 112 and one or more sensors 114 through an industrial switch and / or any device with a hardware interface (for example, a serial data communication cable such as an RS485 / 232 adapter or an RJ45 cable, etc.), wherein the hardware interface is configured to or enables connection to the cooling unit 112 and one or more sensors 114 to collect information from the cooling unit 112 and one or more sensors 114, etc.

[0052] In an implementation, the power and performance status information of the plurality of servers may include, but is not limited to, corresponding power consumption information, corresponding processor utilization information, and corresponding inlet temperature of the plurality of servers in the server cluster. In addition, the power and performance status information of the plurality of servers may include corresponding memory utilization information and corresponding input / output bandwidth information of the plurality of servers in the server cluster. In an implementation, the environmental information of the server cluster may include, but is not limited to, the operating status of the cooling unit and the ambient temperature of the environment of the server cluster. In an implementation, the operating status of the cooling unit may include, for example, whether the cooling unit is turned on or off, the temperature setting of the cooling unit, the operating intensity of the cooling unit (such as high speed, medium speed, or low speed, etc.), and the like.

[0053] At block 406 , the thermally-aware scheduling system 102 may estimate or predict respective operating modes of cooling components of the plurality of servers based at least in part on power and performance state information of the plurality of servers and environmental information of the server cluster using a corresponding operating mode estimation model.

[0054] In an implementation, before or after collecting the power and performance status information of the plurality of servers and the environment information of the server cluster, the thermal-aware scheduling system 102 (or the operation mode estimation module 316) may retrieve corresponding operation mode estimation models for the plurality of servers or the cooling components of the plurality of servers. In an implementation, the thermal-aware scheduling system 102 (or the operation mode estimation module 316) may retrieve corresponding operation mode estimation models from the model database 320. In an implementation, each cooling component may have a corresponding operation mode estimation model for predicting or estimating the operation mode of the corresponding cooling component. In an implementation, there is a one-to-one correspondence between each cooling component and the corresponding operation mode estimation model.

[0055] As described in the foregoing description, servers in the same server cluster are physically close to each other, and therefore the heat radiated or generated by the servers in the server cluster may easily produce a thermal effect on each other (e.g., increase the temperature around the servers in the server cluster), and therefore may mutually affect the operation mode of the cooling components associated with the servers. In an implementation, the thermally aware scheduling system 102 may use the corresponding operation mode estimation model of the cooling components of the multiple servers to estimate or predict the corresponding operation modes of the cooling components of the multiple servers based at least in part on the power and performance status information of the multiple servers in the server cluster and the environmental information of the server cluster. In an implementation, a cooling component (e.g., one of the cooling components of the multiple servers in the server cluster) may be associated with an operation mode estimation model, which may take the power and performance status information of the multiple servers in the server cluster and the environmental information of the server cluster as inputs, and generate outputs related to the possibility or probability that the cooling component is or will be operated in different operation modes. In an implementation, the operation mode estimation model associated with the cooling component in the server cluster may not obtain information (such as power and performance status information, etc.) of servers that do not belong to the same server cluster (including the server associated with the cooling component).

[0056] For example, a server cluster may include 10 servers, and each server may include or have an external cooling component (such as a fan, etc.). For each of the 10 cooling components, the operating mode estimation model corresponding to the cooling component may take the power and performance status information of the 10 servers in the server cluster and the environmental information of the server cluster as input, and generate an output related to the possibility or probability that the cooling component is or will operate in different operating modes (for example, for N different operating modes, the operating mode estimation model generates N outputs, one output for each operating mode). In an implementation, different cooling components may have different or the same number of operating modes. For example, a first cooling component may have 2 different operating modes, and a second cooling component may have 3 different operating modes. In an implementation, the number of different operating modes of each cooling component may depend on the type of the corresponding cooling component, the settings of the corresponding cooling component configured by its manufacturer, etc.

[0057] In an implementation, the operation mode estimation model may include, but is not limited to, a neural network model (e.g., a deep neural network model, a back-propagation neural network model, etc.), a decision tree model, etc. In an implementation, before the operation mode estimation model can be used, the thermal-aware scheduling system 102 can use historical input and output data to train and test each operation mode estimation model. As an example and not a limitation, the historical input data of the operation mode estimation model of the cooling component of a specific server in a server cluster may include, but is not limited to, the historical power and performance status information of each server in the server cluster including the specific server and the historical environment information of the server cluster, and the historical output data of the operation mode estimation model of the cooling component of the specific server in the server cluster may include the corresponding labeled output of the possibility or probability that the cooling component is or will be operated in L different operation modes, where L is an integer greater than or equal to 2. In an implementation, the corresponding labeled output may be manually obtained or labeled in advance by a user.

[0058] By way of example and not limitation, Figure 5An exemplary operation mode estimation model is shown. In this example, the operation mode estimation model of the cooling component contained in or external to the server in the server cluster including multiple servers is described as a neural network model 500, such as a deep neural network model. In an implementation, the neural network model 500 may include an input layer 502, multiple hidden layers 504-1, 504-2, ..., 504-K (where K is an integer greater than or equal to 2), and an output layer 506. In an implementation, the input layer 502 may take historical power and performance status information of multiple servers in the server cluster and historical environmental information of the server cluster as input, and generate the possibility or probability that the cooling component is or will be operated in different operation modes as output. In an implementation, the thermally-aware scheduling system 102 can use the historical input and output data as described above to train and test the operation mode estimation model of the cooling component contained in or external to the server in the server cluster through conventional supervised learning methods.

[0059] At block 408 , the thermally-aware scheduling system 102 may select a server from the plurality of servers based on respective operating modes of cooling components of the plurality of servers.

[0060] In an implementation, after determining or estimating the corresponding operating modes of the cooling components of the plurality of servers, the thermally-aware scheduling system 102 (or the scheduling module 318) may determine or select one or more servers as one or more candidate servers for assigning requests or tasks to be assigned from the plurality of servers. In an implementation, each cooling component may operate in a plurality of different operating modes (e.g., N different operating modes, where N is a positive integer equal to 2 or greater). In an implementation, the plurality of different operating modes of each cooling component may include operating modes with different power consumption levels (i.e., when operating in different operating modes, the corresponding cooling components consume different amounts of electricity).

[0061] In an implementation, the one or more servers selected by the thermal-aware scheduling system 102 (or the scheduling module 318) may include one or more servers having a corresponding operation mode that consumes the least amount of power among the estimated corresponding operation modes of the cooling component (i.e., one or more servers having a corresponding operation mode corresponding to the lowest power consumption level among the estimated corresponding operation modes of the cooling component). In an implementation, the thermal-aware scheduling system 102 (or the scheduling module 318) may set the server having the lowest inlet temperature as the server selected from the one or more candidate servers.

[0062] At block 410 , the thermal-aware scheduling system 102 may assign the request or task to be assigned to the selected server.

[0063] In an implementation, after obtaining the selected server, the thermal-aware scheduling system 102 (or the scheduling module 318) may assign the request or task to be assigned to the selected server. For example, the thermal-aware scheduling system 102 (or the scheduling module 318) may include multiple job queues associated with multiple servers, respectively (i.e., multiple job queues and multiple servers have a one-to-one correspondence). The thermal-aware scheduling system 102 (or the scheduling module 318) may place the request or task to be assigned in the job queue associated with the selected server, and send the task to be assigned from the job queue to the selected server in a first-in-first-out manner. Additionally or alternatively, after obtaining the selected server, the thermal-aware scheduling system 102 (or the scheduling module 318) may send the task to be assigned to the selected server, and the selected server includes a job queue to receive the request or task assigned to the selected server.

[0064] In an implementation, after assigning the request or task to be assigned to the selected server, the thermal-aware scheduling system 102 may continue to execute the above operations of boxes 402-410 to perform task scheduling or load balancing for additional requests or tasks received, or wait for new requests or tasks to perform task scheduling or load balancing.

[0065] Although in this exemplary method, the data center or cloud computing infrastructure is described as being physically divided into multiple physical partitions (one physical partition corresponds to a server cluster), in some instances, the data center or cloud computing infrastructure may be logically divided into multiple logical partitions, each logical partition being associated with one of the multiple servers 104.

[0066] As an example and not a limitation, a logical partition associated with one of the multiple servers 104 (e.g., the first server 104, for the purpose of distinction and ease of description only) may include multiple servers 104 (e.g., the second server 104, for the purpose of distinction and ease of description only) located within a predetermined distance range of the server 104 (such as within one meter, two meters, etc. from the first server). All of these second servers 104 and the first server 104 may form a server cluster dedicated to the first server 104. Information (such as power and performance status information) of these second servers 104 and the first server may then be used to determine an operation mode estimation model of a cooling component associated with the first server, and estimate or predict the operation mode of the cooling component associated with the first server as described in the previous description. In other words, the thermally-aware scheduling system 102 may have a moving window to collect information (such as power and performance status information) of servers within the server cluster corresponding to each server, for use in determining a corresponding operation mode estimation model for a cooling component associated with the corresponding server, and estimating or predicting the operation mode of the cooling component associated with the corresponding server.

[0067] Any action of any method described herein can be implemented at least in part by a processor or other electronic device based on instructions stored on one or more computer-readable media. As an example and not limitation, any action of any method described herein can be implemented under the control of one or more processors, which are configured with executable instructions that can be stored on one or more computer-readable media.

[0068] in conclusion

[0069] Although the implementation has been described in language specific to structural features and / or methodological actions, it should be understood that the claims are not necessarily limited to the specific features or actions described. Instead, these specific features and actions are disclosed as exemplary forms of implementing the claimed subject matter. Additionally or alternatively, some or all of the operations may be implemented by one or more ASICs, FPGAs, or other hardware.

[0070] The present disclosure can be further understood using the following terms.

[0071] Item 1: A method implemented by one or more computing devices, the method comprising: receiving a task to be assigned to a server cluster, the server cluster comprising a plurality of servers; using a corresponding operating mode estimation model to estimate corresponding operating modes of cooling components of the plurality of servers based at least in part on power and performance status information of the plurality of servers and environmental information of the server cluster; selecting a server from the plurality of servers based on the corresponding operating modes of the cooling components of the plurality of servers; and assigning the task to be assigned to the selected server.

[0072] Clause 2: The method according to clause 1 further includes: collecting the power and performance status information of the plurality of servers in the server cluster and the environmental information of the server cluster.

[0073] Clause 3: The method of clause 1, wherein the power and performance status information of the plurality of servers comprises at least one of: respective power consumption information, respective processor utilization information, and respective inlet temperatures of the plurality of servers.

[0074] Clause 4: The method of clause 1, wherein the environmental information of the server cluster includes at least one of the following: an operating condition of a cooling unit in a data center facility that houses the server cluster, and an ambient temperature of an environment of the server cluster.

[0075] Item 5: The method according to Item 1 also includes: training the corresponding operation mode estimation model based on a deep learning algorithm.

[0076] Clause 6: The method of clause 1, wherein the respective operating modes of the cooling components of the plurality of servers correspond one-to-one to the corresponding operating mode estimation models.

[0077] Item 7: A method according to Item 6, wherein the corresponding operating mode estimation model is used to estimate the corresponding operating modes of the cooling components of the multiple servers based at least in part on the power and performance status information of the multiple servers and the environmental information of the server cluster, comprising: providing the power and performance status information and the environmental information of the server cluster to each corresponding operating mode estimation model in the corresponding operating mode estimation model to determine the likelihood of the corresponding operating mode of the cooling components of the multiple servers.

[0078] Clause 8: The method of clause 1, wherein the operating mode of the cooling assembly corresponds to one of a plurality of different operating modes of the cooling assembly, the plurality of different operating modes having different power consumption levels.

[0079] Item 9: A method according to Item 1, wherein selecting a server from the multiple servers based on the corresponding operating modes of the cooling components of the multiple servers comprises: determining one or more servers having corresponding operating modes corresponding to the lowest power consumption level from the multiple servers based on the corresponding operating modes of the cooling components of the multiple servers; and setting the server having the lowest inlet temperature as the server selected from the one or more servers.

[0080] Clause 10: The method of clause 1, further comprising: placing the task to be assigned in a job queue associated with the selected server; and sending the task to be assigned from the job queue to the selected server in a first-in-first-out manner.

[0081] Item 11: A computer-readable medium storing executable instructions, which, when executed by one or more processors, cause the one or more processors to perform actions, the actions comprising: receiving a task to be assigned to a server cluster, the server cluster comprising a plurality of servers; using a corresponding operating mode estimation model to estimate corresponding operating modes of cooling components of the plurality of servers based at least in part on power and performance status information of the plurality of servers and environmental information of the server cluster; selecting a server from the plurality of servers based on the corresponding operating mode; and assigning the task to be assigned to the selected server.

[0082] Clause 12: A computer-readable medium as described in clause 11, wherein the action further comprises: collecting the power and performance status information of the plurality of servers in the server cluster and the environmental information of the server cluster.

[0083] Item 13: A computer-readable medium according to Item 11, wherein the power and performance status information of the multiple servers includes at least one of the following items: corresponding power consumption information, corresponding processor utilization information and corresponding inlet temperature of the multiple servers, and the environmental information of the server cluster includes at least one of the following items: the operating status of a cooling unit in a data center facility that accommodates the server cluster, and the ambient temperature of the environment of the server cluster.

[0084] Item 14: A computer-readable medium according to Item 11, wherein the action further comprises: training the corresponding operation mode estimation model based on a deep learning algorithm.

[0085] Item 15: A computer-readable medium according to Item 11, wherein the corresponding operating modes of the cooling components of the multiple servers correspond one-to-one to the corresponding operating mode estimation models, and wherein using the corresponding operating mode estimation models to estimate the corresponding operating modes of the cooling components of the multiple servers based at least in part on the power and performance status information of the multiple servers and the environmental information of the server cluster includes: providing the power and performance status information and the environmental information of the server cluster to each corresponding operating mode estimation model in the corresponding operating mode estimation models to determine the possibility of the corresponding operating modes of the cooling components of the multiple servers.

[0086] Clause 16. A computer-readable medium as recited in clause 11, wherein the operating mode of the cooling assembly corresponds to one of a plurality of different operating modes of the cooling assembly, the plurality of different operating modes having different power consumption levels.

[0087] Item 17: A computer-readable medium according to Item 11, wherein selecting a server from the multiple servers based on the corresponding operating modes of the cooling components of the multiple servers comprises: determining one or more servers having corresponding operating modes corresponding to the lowest power consumption level from the multiple servers based on the corresponding operating modes of the cooling components of the multiple servers; and setting the server having the lowest inlet temperature as the server selected from the one or more servers.

[0088] Item 18: A computer-readable medium according to Item 11, wherein the action further comprises: placing the task to be assigned in a job queue associated with the selected server; and sending the task to be assigned from the job queue to the selected server in a first-in-first-out manner.

[0089] Item 19: A thermally-aware scheduling system, comprising: one or more processors; and a memory, wherein the memory stores executable instructions, which, when executed by the one or more processors, cause the one or more processors to perform actions, the actions comprising: receiving a task to be assigned to a server cluster, the server cluster comprising a plurality of servers; using a corresponding operating mode estimation model to estimate corresponding operating modes of cooling components of the plurality of servers based at least in part on power and performance status information of the plurality of servers and environmental information of the server cluster; selecting a server from the plurality of servers based on the corresponding operating mode; and assigning the task to be assigned to the selected server.

[0090] Clause 20: The system of clause 19, wherein the actions further comprise collecting the power and performance status information of the plurality of servers in the server cluster and the environmental information of the server cluster.

Claims

1. A method implemented by one or more computing devices, the method comprising: receiving a task to be assigned to a server cluster, the server cluster comprising a plurality of servers; Using corresponding operation mode estimation models, based at least in part on the power and performance status information of the multiple servers and the environment information of the server cluster, to estimate the corresponding operation modes of the cooling components respectively corresponding to the multiple servers, each cooling component may have a corresponding operation mode estimation model for predicting or estimating the operation mode of the corresponding cooling component, and different operation modes have different power consumption levels of the cooling components; selecting, based on the respective operating modes of the cooling components of the plurality of servers, one or more servers having respective operating modes corresponding to a lowest power consumption level from the plurality of servers, and setting a server having a lowest inlet temperature as the selected server from the one or more servers; as well as The task to be assigned is assigned to the selected server.

2. The method according to claim 1, further comprising: The power and performance status information of the plurality of servers in the server cluster and the environment information of the server cluster are collected.

3. The method according to claim 1, wherein: The power and performance status information of the plurality of servers includes at least one of the following items: corresponding power consumption information, corresponding processor utilization information, and corresponding inlet temperature of the plurality of servers.

4. The method according to claim 1, wherein: The environmental information of the server cluster includes at least one of the following: an operating condition of a cooling unit in a data center facility that houses the server cluster, and an ambient temperature of an environment of the server cluster.

5. The method according to claim 1, further comprising: The corresponding operation mode estimation model is trained based on a deep learning algorithm.

6. The method according to claim 1, wherein: The respective operation modes of the cooling components of the plurality of servers correspond one-to-one to the corresponding operation mode estimation models.

7. The method according to claim 6, wherein: Using the corresponding operating mode estimation model, estimating the respective operating modes of the cooling components of the plurality of servers based at least in part on the power and performance state information of the plurality of servers and the environmental information of the server cluster, comprises: The power and performance state information and the environmental information of the server cluster are provided to each of the corresponding operating mode estimation models to determine the likelihood of the corresponding operating mode of the cooling assemblies of the plurality of servers.

8. The method according to claim 1, wherein: The operating mode of the cooling assembly corresponds to one of a plurality of different operating modes of the cooling assembly, the plurality of different operating modes having different power consumption levels.

9. The method according to claim 1, further comprising: placing the task to be assigned in a job queue associated with the selected server; as well as The tasks to be assigned are sent from the job queue to the selected server in a first-in-first-out manner.

10. A computer-readable medium storing executable instructions, wherein when the executable instructions are executed by one or more processors, the executable instructions cause the one or more processors to perform actions, the actions comprising: receiving a task to be assigned to a server cluster, the server cluster comprising a plurality of servers; Using corresponding operation mode estimation models, based at least in part on the power and performance status information of the multiple servers and the environment information of the server cluster, to estimate the corresponding operation modes of the cooling components respectively corresponding to the multiple servers, each cooling component may have a corresponding operation mode estimation model for predicting or estimating the operation mode of the corresponding cooling component, and different operation modes have different power consumption levels of the cooling components; selecting, based on the respective operating modes of the cooling components of the plurality of servers, one or more servers having respective operating modes corresponding to a lowest power consumption level from the plurality of servers, and setting a server having a lowest inlet temperature as the selected server from the one or more servers; as well as The task to be assigned is assigned to the selected server.

11. A computer readable medium according to claim 10, wherein: The actions also include collecting the power and performance status information of the plurality of servers in the server cluster and the environmental information of the server cluster.

12. A computer readable medium according to claim 10, wherein: The power and performance status information of the multiple servers includes at least one of the following items: corresponding power consumption information, corresponding processor utilization information and corresponding inlet temperature of the multiple servers, and the environmental information of the server cluster includes at least one of the following items: the operating status of the cooling unit in the data center facility accommodating the server cluster, and the ambient temperature of the environment of the server cluster.

13. A computer readable medium according to claim 10, wherein: The action also includes: training the corresponding operation mode estimation model based on a deep learning algorithm.

14. A computer readable medium according to claim 10, wherein: The respective operating modes of the cooling components of the plurality of servers correspond one-to-one to the corresponding operating mode estimation models, and wherein estimating the respective operating modes of the cooling components of the plurality of servers based at least in part on the power and performance state information of the plurality of servers and the environmental information of the server cluster using the corresponding operating mode estimation models comprises: The power and performance state information and the environmental information of the server cluster are provided to each of the corresponding operating mode estimation models to determine the likelihood of the corresponding operating mode of the cooling assemblies of the plurality of servers.

15. A computer readable medium according to claim 10, wherein: The operating mode of the cooling assembly corresponds to one of a plurality of different operating modes of the cooling assembly, the plurality of different operating modes having different power consumption levels.

16. A computer readable medium according to claim 10, wherein: The actions also include: placing the task to be assigned in a job queue associated with the selected server; and The tasks to be assigned are sent from the job queue to the selected server in a first-in-first-out manner.

17. A thermal sensing scheduling system, comprising: one or more processors; as well as A memory storing executable instructions, wherein when the executable instructions are executed by the one or more processors, the executable instructions cause the one or more processors to perform actions, the actions comprising: receiving a task to be assigned to a server cluster, the server cluster comprising a plurality of servers; Using corresponding operation mode estimation models, based at least in part on the power and performance status information of the multiple servers and the environment information of the server cluster, to estimate the corresponding operation modes of the cooling components respectively corresponding to the multiple servers, each cooling component may have a corresponding operation mode estimation model for predicting or estimating the operation mode of the corresponding cooling component, and different operation modes have different power consumption levels of the cooling components; selecting, from the plurality of servers, one or more servers having corresponding operation modes corresponding to the lowest power consumption level based on the corresponding operation modes of the cooling components of the plurality of servers, and setting a server having the lowest inlet temperature as the selected server from the one or more servers; and The task to be assigned is assigned to the selected server.

18. The system of claim 17, wherein: The actions also include collecting the power and performance status information of the plurality of servers in the server cluster and the environmental information of the server cluster.

Citation Information

Patent Citations

  • Data center energy-saving scheduling method and system

    CN109800066A