Power supply unit power level protection limit

By monitoring the availability of power supply and dynamically adjusting power consumption thresholds, the problem of decreased server productivity when power supply is reduced in existing technologies has been solved, thus optimizing power consumption and stabilizing server performance.

CN117280300BActive Publication Date: 2025-01-07ORACLE INT CORP
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202180097971.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2021-04-01
Filing Date
2021-12-03
Publication Date
2025-01-07
Estimated Expiration
2041-12-03

AI Technical Summary

Technical Problem

Existing technologies significantly reduce CPU processor cycles during periods of reduced server power supply through the ProCHOT protocol, resulting in a significant decrease in server productivity and task completion time, and cannot dynamically adjust power consumption based on power supply availability.

Method used

By monitoring the availability of power supply, the server's power consumption threshold can be dynamically adjusted, reducing CPU power consumption only when necessary, avoiding fixed and continuous power limitations. The server control system monitors the status and consumption of power supply and makes dynamic adjustments based on power supply availability and demand.

Benefits of technology

It effectively reduced CPU productivity losses due to power supply interruptions, optimized server power consumption, improved power supply reliability and server performance, and avoided unnecessary interruptions and business impacts caused by fixed power limitations.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117280300B_ABST
    Figure CN117280300B_ABST
Patent Text Reader

Abstract

Techniques for managing power supplies and associated power consumption alarms for servers based on the availability of redundant power supplies are disclosed. When the system detects that a redundant power supply to a server has stopped providing power, the system configures a new power consumption threshold for the remaining power supply. The new power consumption threshold is different from the initial power consumption threshold (if configured) when the redundant power supply provided power. The power consumption threshold for triggering a power consumption alarm for a power supply can be based on the number of power supplies that are actively providing power.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to controlling server power consumption during periods of reduced power supplies to the server. In particular, the present disclosure relates to generating power level protection limits for server power supply units. Background Art

[0002] Commercial computing entities increasingly sell database storage space and computing power as a service to other commercial entities. In such environments, computing operations are often centralized in computing centers (colloquially described as "server farms"). These computer centers may house hundreds or thousands of chassis or "racks," each of which may hold several servers. Because of the proximity of servers within a rack to one another and because of the concentration of racks in a computing center, the thermal state and power requirements of the servers are often closely monitored to prevent overheating and / or consuming too much power.

[0003] As demand for cloud-based computing services continues to expand, the typical number of servers housed within a data center has also increased. In some cases, this increase is driven by increasing the number of servers held within a rack, thereby increasing the computing power per square foot of the server farm. Operating multiple servers within a rack provides many conveniences, including improved server organization (e.g., physical addressing) and improved organization of power and data input and output cables. In some cases, system architects can design a rack as a coherent system in which the power requirements, processing capabilities (e.g., central processing unit (CPU) cycles per unit time), waste heat generation, and thermal considerations of the individual servers are collectively considered. In this way, the physical configuration of the rack is designed to accommodate power input, cooling systems, and other server operating requirements.

[0004] Given the range of negative operational impacts that excessive server temperatures can have, some server CPUs are equipped with a process that drastically limits power consumption to avoid overheating. This "prochot" process reduces CPU power consumption by significantly reducing CPU processor cycles per unit time, thereby reducing waste heat generation. For each invocation of the prochot process, prochot typically reduces CPU cycles by a fixed amount for a fixed period of time.

[0005] The approaches described in this section are approaches that could be pursued, but are not necessarily approaches that have been previously conceived or pursued. Therefore, unless otherwise indicated, it should not be assumed that any of the approaches described in this section qualify as prior art merely by virtue of their inclusion in this section. BRIEF DESCRIPTION OF THE DRAWINGS

[0006] In the figures of the accompanying drawings, embodiments are illustrated by way of example and not by way of limitation. It should be noted that reference to "one" or "an" embodiment in the present disclosure does not necessarily refer to the same embodiment, but to at least one. In the drawings:

[0007] Figure 1A schematically illustrates a server rack having a plurality of component servers, wherein each server is supplied with power by two power supplies, according to one or more embodiments;

[0008] Figure 1B schematically illustrates a server including a computing element and a server control system that can dynamically adjust server activity to optimize server performance in response to a loss of power from one of a group of power supplies in accordance with one or more embodiments;

[0009] Figure 1C schematically illustrates a power supply including features for storing a power supply limit, monitoring a power supply level, and notifying a server when the power supply limit is exceeded, in accordance with one or more embodiments;

[0010] Figure 2 schematically illustrates a server control system in communication with a set of multiple redundant power supplies according to one or more embodiments;

[0011] Figure 3 illustrates a set of example operations for generating an alert that can be used to reduce server power consumption in response to a loss of power from one of a set of redundant power supplies in accordance with one or more embodiments;

[0012] Figure 4 illustrates a set of alternative example operations for generating an alert that can be used to reduce server power consumption in response to a loss of power from one of a set of redundant power supplies in accordance with one or more embodiments;

[0013] Figure 5A , 5B , 5C and 5D illustrate a method of performing a multi-functional optical transmission system according to one or more embodiments. Figure 3 or Figure 4 The process is applied to each stage of progression of an example embodiment of a server in which one of two power supplies stops providing power to the server; and

[0014] Figure 6 A block diagram illustrating a computer system in accordance with one or more embodiments is shown. DETAILED DESCRIPTION

[0015] In the following description, for the purpose of explanation, many specific details are set forth in order to provide a thorough understanding. One or more embodiments may be practiced without these specific details. Features described in one embodiment may be combined with features described in different embodiments. In some examples, well-known structures and devices are described with reference to block diagram form to avoid unnecessary confusion of the present invention.

[0016] 1. General Overview

[0017] 2. System architecture

[0018] 3. Server power control system

[0019] 4. Methods for controlling server power consumption

[0020] 5. Example Embodiments

[0021] 6. Computer Networks and Cloud Networks

[0022] 7. Other Matters; Extension

[0023] 8. Hardware Overview

[0024] 1. General Overview

[0025] One or more embodiments manage power supplies and related power consumption alarms based on the availability of redundant power supplies. Initially, multiple power supplies can provide power to the system. Each power supply may or may not be configured with an initial power consumption threshold, which triggers an alarm when the consumption of power (e.g., by the CPU) exceeds the power consumption threshold. If the initial power consumption threshold is not configured, then any level of power consumption will not trigger an alarm. If the initial power consumption threshold is configured, then the power consumption level exceeding the initial power consumption threshold will cause the alarm to be triggered. Such an alarm may be referred to as a PSU_Alert signal in this article. When the system detects that the redundant power supply stops providing power, the system configures a new power consumption threshold for the remaining power supply. In other examples, the power consumption threshold can be set in advance. The current (pre-sent) threshold scenario can reduce the time required to reduce the power consumption rate. In any case, the embodiments described herein configure the power consumption threshold for triggering the power consumption alarm of the power supply based on the number of power supplies that actively provide power.

[0026] One or more embodiments process power consumption alerts corresponding to power consumption from a power supply exceeding a threshold based on the number of power supplies that are actively providing power. If a minimum number of power supplies (e.g., two power supplies) are actively providing power, then the system can ignore power consumption alerts received from any active power supplies. Ignoring power consumption alerts includes not taking actions that result in a reduction in power consumption. If the minimum number of power supplies are no longer actively providing power, then the system will take actions to attempt to reduce power consumption.

[0027] In an example, the system ignores power consumption alarms from any power supply when at least one other redundant power supply is providing power. When the system detects the simultaneous occurrence of (a) a redundant power supply failure and (b) power consumption from the remaining power supply exceeding a power supply threshold, the system takes action to attempt to reduce power consumption. The action may include transmitting a signal to attempt to reduce power consumption. The signal may include, for example, a PROCHOT signal to a service processor that can reduce power consumption of the CPU by updating a CPU register. The action of transmitting a signal in an attempt to reduce power consumption may or may not result in a reduction in power.

[0028] One or more embodiments described in the specification and / or recited in the claims may not be included in this general summary.

[0029] 2. System Architecture Overview

[0030] It is common in many examples of various server architectures to configure servers to receive power from multiple power supplies. In some examples, the expected power demand of the server is divided between two or more power supplies, each of which provides a portion of power to the server. Although power to the server is maintained even when one power supply becomes inoperative, the risk of this power supply configuration is that the power supply in operation may exceed the corresponding recommended power supply rating. The risk of exceeding the power supply rating (i.e., by providing a power level previously supplied by two or more power supplies) is that the circuit breaker in the power supply itself or elsewhere in the power supply circuit of the server farm (e.g., data center) may be activated. Activating the circuit breaker prevents the power supply from overheating or being damaged in other ways, but may also cause the server to lose power. In some cases, depending on where the circuit breaker is first activated within the power system, multiple servers and / or multiple racks may experience a power outage. A power outage of a server in a cloud computing center (not to mention a power outage of multiple servers) may cause serious operational problems for the entity that purchases cloud computing services, and may cause significant revenue losses to the entity that operates the cloud computing center.

[0031] To avoid such power outages, some server management systems may engage the prochot protocol, sometimes present in the hardware of many CPUs, to reduce the power consumption of the server when a power outage is detected. When engaged, prochot greatly reduces the operating activity of the CPU (e.g., processor cycles per unit time) for a predefined period of time, thereby reducing CPU power demand and preventing the remaining power supply (or multiple power supplies) from exceeding the recommended power supply limit or activating a circuit breaker.

[0032] While convenient to implement, the prochot protocol for managing power consumption in conjunction with conventional applications also comes with significant disadvantages. Prochot reduces CPU power requirements by significantly reducing CPU processor cycles per unit time by a fixed amount (e.g., up to 25% or 30% in various examples) for a fixed period of time. This significant reduction is applied uniformly and consistently for each event that meets the prochot trigger condition, regardless of severity. This significant reduction in processor cycles greatly reduces server productivity and increases the completion time of cloud computing assigned tasks. These effects can cause inconvenience, business interruption, loss of revenue, and a variety of other undesirable results.

[0033] The embodiments described below manage the power demand imposed by the server on a reduced set of power supplies while avoiding severe interruptions caused by engaging prochot or similar processing as described above. The embodiments herein detect the cessation of power from, for example, one of a set of multiple power supplies. The system then determines whether the remaining power supply (or any of the remaining power supplies) is supplying power above a threshold. In some examples, the threshold is specific to each power supply and can even be stored in a memory structure ("register") associated with each power supply individually. In response to determining that the supplied power does exceed the threshold associated with the remaining active power supply, the remaining power supply can generate a signal (or "alarm") indicating to the system that the threshold power has been exceeded. In response to receiving the alarm, the system can limit the power consumed by the server in proportion to the duration of the measurement interval during which the threshold power supply value is exceeded. The system can continuously monitor the proportion of consecutive measurement intervals during which the alarm is received, and increase or decrease the server power consumption accordingly. In this way, the impact on CPU performance is limited in severity and time, which is different from the continuous and strict power restriction caused by engaging prochot.

[0034] Figure 1AA system 100 is illustrated in accordance with one or more embodiments. As shown in FIG. 1 , system 100 includes a server rack 104 housing servers 108, 112, 116, and 120. In this example, each of servers 108, 112, 116, and 120 is powered by two power supplies, indicated as power supply A and power supply B. More specifically, server 108 is powered by power supply A 124 and power supply B 128; server 112 is powered by power supply A 132 and power supply B 136; server 116 is powered by power supply A 140 and power supply B 144; and server 120 is powered by power supply A 148 and power supply B 152.

[0035] In one or more embodiments, system 100 may include more or fewer components than those shown in FIG. 1. The components shown in FIG. 1 may be located locally or remotely from each other. The components shown in FIG. 1 may include elements implemented in software and / or hardware. Each component may include elements distributed across multiple applications and / or machines. Multiple components may be combined into one application and / or machine. Operations described with respect to one component may be performed alternatively by another component.

[0036] In some examples, server rack 104 is simply a chassis or frame in which multiple servers can be attached. Although server rack 104 is shown as housing four servers (e.g., servers 108, 112, 116, and 120), the server rack can be configured to house any number of servers (e.g., 1, 2, 4, 10, 20, or more).

[0037] Server racks 104 improve the ease of placing and maintaining servers in a computing center. For example, server racks 104 enable multiple servers to be stacked on top of each other, thereby increasing the density of servers within a computing center (e.g., increasing the number of servers and / or computing cycles per square foot). In some examples, server racks such as server racks 104 also improve the ease of organizing and / or physically manipulating servers. For example, using server racks can improve the ease of addressing and labeling physical servers, making it easy to find a particular device (e.g., via systematic labeling) within a large computing center with hundreds and / or thousands of servers.

[0038] The server rack 104 can also improve the convenience, maintenance, and operation of the servers by retaining access to the server portions required for operation (although stacked). For example, the server rack 104 can secure the stacked servers while leaving data and power ports exposed, visual status indicators (e.g., power indicators, operating condition indicators) visible, and cooling structures (e.g., fans, heat sinks) with adequate physical clearance to exhaust waste heat.

[0039] Servers 108, 112, 116, and 120 are computing systems that can store data and / or perform computing functions for communicatively coupled client devices. Examples of servers include file servers, web servers, application servers, database servers, and the like.

[0040] Figure 1B Server 108, which is representative of servers 112, 116, and 120, is illustrated schematically in detail in FIG. At a high level, server 108 (as well as servers 112, 116, and 120) may include a central processing unit (CPU) 156, memory 160, and a server control system 164.

[0041] The CPU 156 of the server 108 may include an integrated logic circuit (e.g., a microprocessor) that operates to execute instructions and process data in response to a request. In some examples, the CPU 156 may include a plurality of integrated circuit devices that may coordinate operations with each other to execute instructions and process data in response to a request. For example, the CPU 156 may actually include a plurality of integrated logic chips, memory chips (e.g., volatile memory, such as a static random access memory (SRAM) chip), and other integrated circuit devices. The configuration, components, and design of the CPU 156 may vary depending on the intended use of the server. For example, a web server may have a CPU or CPU chipset designed according to different performance goals than a database server.

[0042] The server's memory 160 may include volatile and / or non-volatile memory devices including flash memory, dynamic random access memory (DRAM) devices, SRAM devices, optical storage, magnetic storage, and the like.

[0043] Much like CPU 156, memory 160 may be configured according to the intended functionality of server 108. For example, a database server (e.g., SQL server) used primarily for storing, retrieving, and displaying requested data may include memory sufficient to temporarily store multiple data requests from multiple client devices and further store requested data that has been retrieved from the data storage device. In this example, memory 160 may include a combination of volatile and non-volatile memory that may be several gigabytes.

[0044] In other examples, the memory 160 of the server 108 may store data for use by the server itself. For example, the memory 160 may be configured to store data and / or instructions for managing the operation of the server 108 itself or for use in operations that the server 108 is requested to perform. For example, the memory 160 may store executable code in a memory structure for executing the procedures and / or instructions below. Figure 3 and Figure 4 The techniques are described in the context of .

[0045] The server control system 164 includes devices, systems, and executable code for operating the server 108 . Figure 1B The example server control system 164 shown in FIG. 1 is shown to include a service processor 168 and a memory device 172. Because the server control system 164 is a computing device embedded within the server 108 to control the operation of the server 108, the server control system 164 may include the following for ease of illustration: Figure 1B Devices and systems not shown.

[0046] In some examples, server control system 164 may monitor the operating temperatures of various components of server 108 (e.g., CPU 156), store and execute instructions to change operating conditions (e.g., reduce processor cycles of CPU 156, increase cooling fan speed, store and execute prochot) to optimize reliable operation of server 108 or prevent damage.

[0047] The server control system 164 may also enable other necessary operating functions of the server 108, such as monitoring power supply levels, enabling remote access to the server 108 (e.g., by engaging security protocols and facilitating secure communications via Internet Protocol), engaging power-on / power-off protocols and systems, and other operations.

[0048] Examples of service processor 168 may include integrated circuits such as a microprocessor, a field programmable gate array (FPGA), an application specific integrated circuit (ASIC), and the like.

[0049] In some examples, service processor 168 may include multiple processors and memory structures that service processor 168 may selectively employ to perform the techniques described herein.

[0050] The memory 172 that can communicate with the service processor 168 can include any of the above-mentioned memory devices. These memory devices can include SRAM, DRAM, flash memory, magnetic memory, optical memory or other forms of volatile and / or non-volatile memory. The memory 172 can store executable code and / or data for use by the service processor 168.

[0051] In some examples, memory 172 may include different memory areas, addresses, registers, and / or devices specifically designed for various aspects of the following technologies.

[0052] In one illustration of the operation of the server control system 164, the service processor 168 may communicate with various systems and sensors that monitor the performance and operation of the server 108. For example, the service processor 168 may monitor temperature values ​​from temperature sensors in the server 108. The service processor 168 may also monitor active operating parameters of the active cooling system, such as cooling fan speed and / or flow rate of cooling air through the monitored air input channels. In some examples, the service processor 168 may even temporarily store temperature values ​​and cooling parameters as a function of time to facilitate its analysis.

[0053] Service processor 168 can compare the operation threshold and / or action limit stored in memory 172, transmit instructions to change the cooling fan speed so that the temperature value can be optimized. In some examples, service processor 168 can engage the prochot protocol stored in memory 172 to reduce the operating temperature of CPU 156.

[0054] In some examples, the service processor 168 or other processing device (e.g., FPGA, ASIC) associated with the server control system 164 can monitor the operating status of multiple power supplies that provide power to the servers 108. For example, as described in more detail below, each power supply in communication with the server 108 can transmit the status of an external (whether alternating current (AC) or direct current (DC)) power supply to each power supply. The service processor 168 or similar processing device in the server control system 164 can receive a signal indicating whether the external power entering each power supply is active or inactive. Similarly, as described in more detail below, each power supply in communication with the server 108 can transmit the status of the DC power supply transmitted from the power supply to the server 108. The service processor 168 or similar processing device in the server control system 164 can receive a signal indicating whether the DC power from each power supply is active or inactive.

[0055] As described in more detail below, the service processor 168 or similar processing device in the server control system 164 in cooperation with the memory 172 can also measure the time periods and identify the proportion of each time period in which the signal received from the power supply indicates whether the power level supplied exceeds the threshold level. Once identified, the server control system can instruct the CPU 156 to increase or decrease its activity, thereby controlling its power consumption.

[0056] Steering Figure 1C, power supply 124 is illustrated. Power supply 124 is representative of power supplies 124-152. Power supply 124 may include components for transmitting and transforming electrical energy that are present in many different types of power supplies. For ease of illustration, Figure 1C These components are omitted.

[0057] Power supply 124 (and similar power supplies 128-152) provides power to (eg Figure 1A The power supply 124 may include conductors and power cables to receive power from a power source and transmit power to corresponding servers. The power supply 124 may also include electrical components, such as resistors, capacitors, and transformers. These electrical components may convert AC power received from the power source into DC power that is transmitted from the power supply to the connected servers. These electrical components may also change electrical characteristics such as current and voltage from values ​​used by the power source to values ​​used by the server.

[0058] In addition to the elements common to power supplies described above, power supply 124 (and similar power supplies 128 - 152 ) also includes a power threshold repository 176 , a power consumption monitor 180 , and a processor 184 .

[0059] The power threshold repository 176 may include a non-volatile memory device that stores an upper power threshold. The power threshold is typically less than the maximum rated power supply value of the power supply 124. As described in more detail below, the threshold can be used to optimize the power supply to the server based on the cessation of activity of one of a group of power supplies, and more specifically optimize CPU computing productivity.

[0060] The power consumption monitor 180 may include a memory device to store and / or otherwise monitor the instantaneous value of the power supplied to the connected server. For example, the power consumption monitor may communicate with one or more devices configured to measure the power level transmitted by the power supply 124 to the connected server. The power consumption monitor 180 may measure power consumption data as a function of time, such as storing a power measurement value with a timestamp or index value corresponding to the measurement time. In some examples, the power consumption monitor 180 may monitor the power supply value continuously or at periodic intervals. For example, the power consumption monitor 180 may monitor the power supply value within the entire measurement interval of 10 microseconds, 100 microseconds, 500 microseconds, 10 milliseconds, 100 milliseconds or other convenient intervals. When the measurement interval is completed, the power consumption monitor may cyclically restart the measurement process within a new instance of the measurement interval. In some examples, the power consumption monitor 180 may transmit power consumption data to the processor 184.

[0061] Examples of processor 184 include those described above, such as a logic microprocessor, FPGA, ASIC, etc. Processor 184 may receive data from power consumption monitor 180 and compare the received instantaneous data to thresholds stored in power threshold repository 176 .

[0062] In the examples described below, when it is detected that the power transmitted by the power supply 124 exceeds the threshold stored in the power threshold repository 176, the processor 184 can transmit a signal to the server 108. The transmitted signal can alert the server 108 of the exceeded power threshold condition (referred to herein as a "warning" signal). The signal can be transmitted via an Ethernet cable so that the processor 184 of the power supply 124 communicates with the server control system 164 via a corresponding Ethernet port. In other examples, the signal can be transmitted wirelessly (e.g., via Bluetooth or IEEE 802.11 wireless communication protocols) from the processor 184 of the power supply 124 to the server control system 164 via a dedicated communication channel or a virtual communication port.

[0063] In some examples, the processor 184 may transmit an "alert" signal to the server 108 periodically or at a specified frequency during an excess power supply condition. For example, for each power level detected by the power consumption monitor 180 that exceeds a threshold stored in the power threshold repository 176, the processor 184 may transmit a different alert signal to the server control system 164. In other examples, the processor 184 may transmit an alert signal to the server control system 164 that represents a subset of power supply measurements, such as every 5, 10, 50, or 100 power supply values. In other examples, the processor 184 may transmit an alert signal to the server control system 164 at the same frequency as the power supply measurements collected by the power consumption monitor 180, or at a lower frequency.

[0064] The processor 184 associated with a particular power supply 124 may transmit an alarm signal to the server 108 any time the server's power demand for the particular power supply 124 exceeds an associated threshold. However, as long as the power supplies providing power to the server are all active, the server 108 may not take any action to adjust CPU activity and power consumption in response to receiving the alarm.

[0065] 3. Server control system

[0066] The server control system can receive a signal indicating that a power supply has stopped providing power and an alarm signal indicating that the remaining power supply (or multiple power supplies) are providing power in excess of a threshold level. In response, an embodiment of the server control system described below can adjust server CPU activity and correspondingly reduce server power consumption. The processing performed by the server control system (described below) reduces CPU processing activity to an extent based on the extent to which the actual power supplied by the remaining power supply exceeds the power supply threshold. In this way, the server control system retains as much CPU processing activity as possible until the excess power supply condition is resolved (e.g., by reengaging a redundant power supply). The server's power demand for the remaining power supply can be re-evaluated within consecutive measurement intervals so that the server's power consumption gradually increases within the range allowed by the limiting power supply limit imposed by the power supply threshold.

[0067] The operation of the server control system as described herein differs from conventional execution of the prochot protocol, which significantly reduces CPU power consumption by a fixed amount of power and a fixed duration. This significant reduction may be disproportionate to the severity of the problem that prompted the execution of prochot. Using the techniques described below, the server control system can write power consumption instructions into a memory register to reduce CPU power consumption. For consecutive measurement intervals, this power consumption level can be rewritten to the memory register to adjust power consumption based on power availability to maximize CPU performance. In some examples, the system can engage prochot during a brief period of time determined by the power consumption instructions to control CPU power consumption. In other examples, another protocol can be used to control CPU power consumption.

[0068] Figure 2 An example system 200 is illustrated that includes a server 202 , an external power source 204 , a first power supply 208 , and a second power supply 220 .

[0069] The elements of server 202 are similar to those described above for server 108 and are described herein for clarity. Figure 2 is omitted.

[0070] One or more external power sources 204 supply power to the power supplies 208, 220. The external power sources 204 collectively represent various elements of the power generation and transmission grid. For example, the external power sources 204 may include a power generation system, whether a point power source (e.g., a power plant) or a local power source in a distributed power generation system (e.g., a solar panel on the roof of a computer center building). The external power sources 204 may also include transmission lines, transformers, substations, switches, and other elements for transmitting power from the power source to the load (in this case, the server 202). In some examples, the external power source 204 actually includes multiple independent power sources 204, which individually provide power to each of the power supplies 208, 220. In some scenarios, some combinations of independent power sources 204 may fail so that only one of the power supplies 208, 220 is affected.

[0071] Power supply 208 includes power threshold repository 210, power consumption monitor 212, and processor 216. Power supply 220 includes power threshold repository 224, power consumption monitor 228, and processor 232. Figure 1C Examples of power threshold repositories, power consumption monitors, and processors are given in the context of . For completeness, Figure 2 These components are included in the Figure 1C The description also applies to Figure 2 .

[0072] Power supplies 208, 220 each receive power from an external power source and transform or otherwise convert the externally supplied power into a form that can be used by server 202. For example, power supplies 208, 220 can change the voltage and current values ​​(and other characteristics) of the received power into voltage and current values ​​that the server can use for operation.

[0073] Each of the power supplies 208, 220 transmits two data signals (or a single signal having two component sub-signals) to the server 202, and more specifically to the server control system 240 in communication with the server 202. The first transmission signal 236A, 236B from each of the power supplies 208, 220 indicates the status of one or both of (a) power from the external power source 204 to the power supply 208, 220 and (b) power from the corresponding power supply 208, 220 to the server 202. The second transmission signal 238A, 238B from each of the power supplies 208, 220 indicates whether the power supply 208, 220 is providing a power level (e.g., measured in watts) to the server 202 that exceeds a power threshold stored in the power threshold repository 210. In some examples, the power supply 208, 220 determines whether to transmit the alarm signal 238A, 238B by comparing the power consumption to the threshold using the processor 216. Alternatively, power supplies 208, 220 may transmit excess power signals 238A, 238B any time the power supplied by power supplies 208, 220 exceeds thresholds 210, 224. The server control system may determine whether to take action in response to a received alert based on the number of active power supplies.

[0074] More specifically, in Figure 2 , the first signal from power supply 208 to server 202 is identified as external / DC power status signal 236A. The signal from power supply 220 to server 202 is identified as external / DC power status signal 236B. In this example, the external power status portion of signals 236A, 236B indicates whether external power source 204 is currently providing power to power supplies 208, 220. In the example shown, the DC status portion of signals 236A, 236B indicates whether power supplies 208, 220 are providing DC power to server 202, respectively. Figure 2 The arrows 238A, 238B in FIG. 2 are dashed lines to indicate their optional transmission. In addition to the signals 236A, 236B, 238A, 238B, Figure 2 An arrow labeled “POWER” is also included to indicate the transmission of power from power supplies 208 , 220 to server 202 .

[0075] The server control system 240 of the server can monitor the signals 236A, 236B, 238A, 238B and respond according to some examples described below. The server control system 240 includes a controller 244 and a service processor 256.

[0076] The controller 244 of the server control system 240 also includes a power monitor 248 and an alarm signal duration register 252. The service processor 256 also includes prochot protocol logic 260, comparison logic 264, and power control logic 270.

[0077] In some examples, elements of controller 244 and service processor 256 may be instantiated as a microprocessor chip or chipset or within a programmable circuit such as an FPGA. For example, controller 244 and / or service processor 256 may include a logic microprocessor, an FPGA, an ASIC, and / or memory elements such as DRAM, SRAM, flash memory, etc.

[0078] More specifically, the power monitor 248 of the server control system 240 monitors the received power signals 236A, 236B, 238A, and 238B. In some examples, the power monitor 248 first initiates the power control management process upon detecting that one of the power supplies 208, 220 is no longer supplying power via one of the signals 236A, 236B (or one of the signals 236A, 236B stops). After detecting that power from one of the power supplies 208, 220 stops, the second step in the example process is to determine whether one of the remaining active power supplies 208 or 220 is supplying power in excess of a power threshold, as indicated by an excess power signal or "alert" signal 238A or 238B.

[0079] In some examples, as a precursor to the second step, the power monitor 248 may rewrite the values ​​in the power threshold memory 210, 224 of the remaining active one of the power supplies 208, 220 to the level associated with the alarm. That is, in some cases, the power threshold memory 210, 224 may initially store the threshold power levels used when both power supplies 208, 220 are operating. When it is determined that one of the power supplies 208, 220 has stopped providing power, the power monitor 248 may write the updated thresholds to the power threshold memory 210, 220 of the remaining one of the power supplies 208, 220.

[0080] In other examples, the power threshold storage repositories 210, 224 may store both a first threshold power level used when both power supplies 208, 220 are operating and a second threshold power level activated when one of the power supplies 208, 220 is not operating. The second threshold power level may be less than the first power threshold level. In some examples, the second power threshold level is a value less than half of the first threshold power level, less than half of the maximum rated power of the power supply, and / or less than the rating of a circuit breaker in communication with the active power supply.

[0081] As described above, the alarm signal may be generated by a processor within the active power supplies 208, 220. The processor may compare the power supplied to the server (e.g., in watts) measured by the power consumption monitor with the power levels stored in the power threshold repositories 210, 224. In some cases, the power level stored in the power threshold repositories 210 or 224 of the remaining one active power supply 208 or 220 is a lower value than the previous value stored in the power threshold repositories 210, 224 when both power supplies 208, 220 were actively providing power to the server 202.

[0082] During a situation where the power provided exceeds a threshold, an alarm signal 238A or 238B is sent (continuously or periodically) to the server control system. In some examples, the service processor 256 may respond to the alarm signals 238A, 238B to prevent a catastrophic power outage. For example, the service processor 256 may interact with other elements of the server control system 240 to prevent activation of a circuit breaker associated with the power supply 208 or 220, thereby preventing a complete power outage of the server 202. In some examples, before responding proportionally to an "excess power alarm" from the remaining power supply 208 or 220, the server control system 240 may optionally instruct the service processor 256 to engage the prochot protocol 260 in its traditional form - for a predetermined and fixed time period and a predetermined, fixed power reduction level. As described above, this traditional application of the prochot protocol 260 significantly reduces CPU activity, thereby significantly reducing power consumption.

[0083] In other embodiments, the server control system 240 may customize the reduction in power consumption using a different power reduction algorithm that instructs the CPU to reduce its activity in proportion to the power delivered to the server 202. In other examples, the system may apply a prochot protocol to reduce CPU power, but limit the duration of engaging prochot so that the power reduction is proportional to the power delivered to the server 202. Regardless of the specific protocol used, this customized approach may avoid or reduce significant losses in CPU productivity that may result from engaging a prochot protocol.

[0084] In some examples, this customization method is accomplished in part through the alarm signal duration register 252. The alarm signal duration register 252 includes a storage medium (e.g., DRAM, flash memory, a circular storage memory structure) that defines and records a time period (or multiple serial time periods with the same duration) and then compares the duration of the alarm signal received at the power monitor 248 to the predefined time period.

[0085] Comparison logic 264 in service processor 256 compares the time period stored in alarm signal duration register 252 with the duration of the alarm signal for the corresponding time period. Comparison logic 264 thus determines the proportion of each continuous time period (also referred to as a "measurement interval") during which the alarm signal 238A or 238B was active, stored in alarm signal duration register 252. The system identifies this proportion as a proxy for the severity of the power event in which the power supply provided power in excess of a threshold.

[0086] The server control system 240 (particularly the power control logic 270) can determine the extent of the reduction in CPU activity based on the determined proportion of time during which the alarm is active. Specifically, the power control logic 270 can transmit instructions to reduce the CPU processing cycles per unit time, slow the CPU clock speed / duty cycle, or otherwise reduce the power drawn by the CPU in proportion to the severity of the excess power event. In some examples, the power control logic 270 instructs the prochot protocol 260 to activate a duration that is based on the determined proportion of time during which the alarm is active in the measurement interval. In other examples, another instruction or protocol can be used to reduce server 202 (e.g., CPU) power consumption.

[0087] In some examples, the power control logic 270 can recalculate the proportion of the measurement period during which the alarm is asserted. In this way, the reduction in CPU activity decreases as the frequency and / or duration of the alarm signal decreases during the measurement period (i.e., the CPU activity itself is increased). That is, the system increases CPU activity as permitted by the fewer, less frequent, or shorter duration alarm signals received. In some embodiments, the system can gradually increase CPU activity (e.g., in successive measurement periods) after an initial CPU power reduction (whether through conventional application of prochot or some other means). The above-described monitoring continues so that the system can respond to changes in the frequency and / or duration of the alarm signal during subsequent measurement periods.

[0088] As described above, these changes to CPU activity can be implemented by writing corresponding values ​​to power consumption memory registers that control or affect CPU power consumption and / or performance. The power consumption memory registers can be located in the server control system 240 (e.g., in the controller 244, in the service processor 256, in the power control logic 270) or in the CPU itself.

[0089] Some embodiments may include at least two of the following advantages. First, the technique reduces CPU power consumption in proportion to the extent to which the power drawn by the server exceeds a power supply threshold. This means that the power reduction is adjusted based on the duration that the power supplied to the server by the power supply exceeds the threshold. This may reduce or avoid a dramatic reduction in CPU speed and / or productivity due to application of prochot.

[0090] Second, the system re-evaluates the extent to which the server exceeds the power supply threshold every unit time ("measurement interval") defined by the alarm signal duration register 252. This applies a feedback mechanism by which the CPU activity level can be repeatedly (e.g., periodically for consecutive measurement intervals) adjusted during excess power events. This is in contrast to conventional applications of prochot, which apply fixed CPU activity reductions over predefined fixed time periods.

[0091] In one or more embodiments, aspects of the various embodiments may be stored in a data repository. A data repository is any type of storage unit and / or device (e.g., a file system, a database, a collection of tables, or any other storage mechanism) for storing data. In addition, a data repository may include a plurality of different storage units and / or devices. A plurality of different storage units and / or devices may or may not be of the same type or located at the same physical site. In addition, a data repository may be implemented or executed on the same computing system as a server (e.g., server 202). Alternatively or additionally, a data repository may be implemented or executed on a computing system separate from server 202. Data repository 104 may be coupled to server 202 via a direct connection or via network communication.

[0092] The information describing the systems 100 , 200 and methods 300 , 400 may be implemented across any components within the systems 100 , 200 .

[0093] In one or more embodiments, the systems 100 , 200 refer to hardware and / or software configured to perform the operations of the methods 300 , 400 described herein.

[0094] In an embodiment, the system 100, 200 is implemented on one or more digital devices. The term "digital device" generally refers to any hardware device including a processor. A digital device may refer to a physical device that executes an application or a virtual machine. Examples of digital devices include computers, tablet computers, laptop computers, desktop computers, netbooks, servers, web servers, network policy servers, proxy servers, general machines, function-specific hardware devices, hardware routers, hardware switches, hardware firewalls, hardware firewalls, hardware network address translators (NATs), hardware load balancers, hosts, televisions, content receivers, set-top boxes, printers, mobile phones, smart phones, personal digital assistants ("PDAs"), wireless receivers and / or transmitters, base stations, communication management devices, routers, switches, controllers, access points, and / or client devices.

[0095] 4. Methods for controlling server power consumption

[0096] Figure 3 and Figure 4 Illustrated are example operations, generally referred to as methods 300 and 400 , respectively, for optimizing CPU performance during an event in which a subset of power supplies (eg, one power supply) in a set of power supplies (eg, two power supplies) stops providing power to a server.

[0097] Figure 3 The method 300 shown in FIG. 1 begins with the system first identifying a server and at least two power supplies connected to the server and actively providing power to the server (operation 304). As described above, the techniques described herein are applicable to groups including any number of power supplies, where a smaller subset may stop providing power. For ease and clarity of description, the following examples are described in the context of two power supplies, one of which stops operating.

[0098] As described above, operation 304 may be performed as described above by each of the (at least) two power supplies transmitting a signal to the server indicating that power is being actively supplied. The signal may actually include two components. A first component of the signal indicates that the power input is active (e.g., "external power OK"), and a second component of the signal indicates that power from the power supply itself to the server is active (e.g., "DC power OK").

[0099] In some examples, the power signal status data can be associated with a specific device identifier. For example, the system can identify a server and its connected power supply by a corresponding identifier present in the packet metadata or an identifier transmitted in response to a specific query for the identifier. Example identifiers include an IP address, a media access control (MAC) identifier (ID), a device serial number, or other unique device identifier.

[0100] In one example, the system may query, ping, or otherwise communicate with one or more servers and power supplies. In response to the query, the server and power supply may transmit a reply to the query that includes a corresponding device identifier and a power status indicator. In other examples, the server itself may transmit a query or ping to the connected power supply and store identification information associated with the power supply. The server may then transmit a communication to the system that provides its own identifier as well as the identifier of the connected power supply.

[0101] In other examples, the facility power system network map may identify the server (via the identifier) ​​and its connected power supply. The facility power system network map may be stored in a storage device and accessed by the system to perform operation 304. The status of the external power supply and the DC power supply may be associated with the power system network map to provide a visual, real-time display of the power status of the entire facility.

[0102] For power situations where both power supplies are operating, the following operations of method 300 are not applied. Instead, before detecting that power delivery from one of the power supplies has ceased, the system can monitor the rate of power consumption of the server and compare the server power consumption to a power threshold associated with the connected and active power supply. Even in the event that one of the connected and active power supplies exceeds a threshold (e.g., a recommended power supply value), an alarm may not be generated. Conversely, because the other power supply remains active, an alarm does not need to be generated because the increased power demand can be reallocated between the active power supplies. In other examples, even if an alarm is generated, the system does not need to apply the operations of method 300 because multiple power supplies are active.

[0103] The system can then detect a cessation of power from one of the power supplies (operation 308). In some examples, the system determines that only a single power supply is actively supplying power to the server (e.g., one of the two power supplies remains active). The system can detect that one of the power status signals has changed from "Ok" (indicating the transfer of power) to a status indicator associated with a cessation of power transfer. In some examples, the system may not detect a power status signal at all. The absence of a power status signal is associated with a cessation of power transfer. This particular example may occur when the power supply itself physically fails or loses power.

[0104] In other examples, the system may detect the cessation of power delivery from one of the power supplies by detecting a signal that explicitly indicates "power off." In other cases, the power supply itself may experience a detectable interruption in its power delivery system, but still maintain operational communication with the system. The power supply may similarly retain the ability to explicitly indicate the cessation of power delivery to the server.

[0105] In still other examples, the system itself can detect that a power supply is no longer delivering power to the server. For example, the server can monitor the flow of power through various ports, each of which is dedicated and assigned to a power supply. The server can monitor the flow of power through each individual power port (e.g., via a power meter) or simply monitor the presence of power (e.g., via an ammeter). Using these measurement techniques, the system itself can detect that one of the power supplies has stopped providing power.

[0106] Continuing with method 300, in response to detecting the cessation of power transmission, the system identifies the rate of power consumption of the server drawn from the remaining active power source (operation 312). As described above, such measurement of power flow can be performed by a suitably configured power flow measurement device in communication with the remaining active power source. The power flow measurement device can be connected to the remaining active power source itself, the power transmission line from the remaining active power source, or a power port dedicated to the power transmission line from the remaining active power source.

[0107] The system compares the amount of power drawn from the remaining active power supply to a threshold power supply value associated with the remaining active power supply (operation 316). As described above, the power threshold may be stored in a memory device associated with the power supply itself. In other examples, the power threshold may be stored in a memory device associated with the server or other convenient structure within the system. In some examples, the threshold power supply value in operation 316 is a power supply threshold used when the number of active power supplies is reduced (e.g., from two active power supplies to one active power supply) and may be an alternative to the threshold used when all power supplies associated with the server are active.

[0108] The value of the power threshold can be selected in relation to the maximum power rating of the power supply, the circuit breaker activation value, or other similar performance criteria associated with the power supply. For example, the power threshold can be selected to have a value lower than the maximum power rating of the power supply and / or lower than the circuit breaker activation value of any circuit breaker in communication with the system. In one illustration, if the power supply is rated to supply a maximum of 800 watts (W) of power, then the power threshold can be set to 700W or 600W.

[0109] In some examples, the power threshold can be selected in relation to the number of power supplies, their rated maximum values, and the power requirements of the servers to which the power supplies are connected. For example, the power threshold can correspond to a value that divides power evenly or proportionally between the power supplies to the servers. In one illustration, if the servers typically consume 1000W, and each of the two power supplies is rated up to 800W, then the power threshold can be set to 550W to evenly distribute the power requirements between the two power supplies.

[0110] The system then compares the amount of power consumed by the remaining active power supply as identified in operation 312 to the power supply threshold (operation 316). This comparison may be performed by a processor within the power supply itself, such as Figure 1C Alternatively, the server's power control system may perform the comparison.

[0111] If the power consumed by the server is less than the power supply threshold, the system does not transmit an alarm to the server (operation 320). In this example, the system can continue to monitor (continuously or periodically) the amount of power supplied relative to the threshold.

[0112] If the power consumed by the server is greater than the power supply threshold, then the system transmits an alarm to the server (operation 324). The alarm signal indicates that the threshold of the power supply is exceeded. In some examples, the alarm may not be transmitted when all power supplies are active. In other examples, the alarm may be transmitted when all power supplies are active and exceed the threshold, but the system may simply not act on the alarm in these cases.

[0113] In response to receiving the alarm signal indicating that the power supply threshold has been exceeded, the system can reduce server power consumption (operation 328). In some examples, the system reduces server power consumption by reducing server CPU activity to a level that balances CPU productivity with the amount of incoming power. This is in contrast to conventional applications of prochot, which reduce CPU activity and power consumption by a fixed (usually significant) amount and duration that is not based on the severity of the power situation.

[0114] In some examples, an alarm signal is received, but receipt of the alarm does not change the amount of power consumed by the server from the remaining active power supply (operation 328). For example, when it is determined that the power drawn by the system from the remaining power supply does not exceed the threshold value so seriously that a warrant action needs to be taken, the system can take no action. As described below, the duration during which the power threshold value is exceeded may be brief (or infrequent), and therefore the system can avoid changing the server power consumption. An example of this situation is described below.

[0115] Operation 328 may include determining a proportion of a unit time during which power consumption of the server (e.g., CPU) exceeds a threshold value (operation 332). As described above, a memory structure in the system may communicate with a clock or other measurement system (e.g., a counter, a number of system clock cycles) that may be used as a time proxy. The memory structure may collect and store alarm signal states during consecutive measurement intervals identified by the clock. For each sub-unit of time, the system determines whether an alarm signal is received from the power supply.

[0116] In one illustration, the measurement interval may be one second and the measurement interval may be a 1 millisecond interval. The system may receive an alarm signal for 100 milliseconds within a specific 1 second measurement interval. In one example, the alarm signal may be active for 100 milliseconds during a specific 1 second measurement interval. In another example, the alarm signal may be active sporadically in multiple alarm events interspersed with non-alarm periods, the multiple alarm events totaling 100 milliseconds within a specific 1 second measurement interval.

[0117] Regardless, the system uses this data to determine that the server power consumption exceeded the active power supply threshold during 10% of the measurement interval (or equivalent measurement unit time).

[0118] Based on the determined proportion of the unit time during which the alarm signal was active, the system determines a reduction in power consumption of the server (operation 336). In some embodiments, the system may specifically determine a reduction in power consumption of a CPU of the server.

[0119] In some examples, the system determines the power reduction in proportion to the proportion of time during which the power threshold of the remaining power supply is exceeded. Continuing with the previous example, if the power supply threshold is exceeded within 10% of the measurement interval, then the system can determine that a 10% power reduction is to be applied. In other examples, the reduction in power can be proportional to the proportion of the measurement period during which the power supply threshold is exceeded (e.g., 5%, 20%, 50%).

[0120] The system then reduces power consumption (operation 340) according to the determined reduction value. In some examples, the system can slow down the CPU clock or reduce the CPU duty cycle to reduce CPU activity and power consumption. In other examples, the system can idle some CPUs in a multi-CPU system. In other examples, the system can idle auxiliary functions of the server to reduce power. In some examples, this can be done by writing instructions to CPU registers (or power control system registers) that the system uses to control CPU activity.

[0121] As described above, the system may also be configured with a lower threshold at which the system does not reduce server power consumption. For example, the frequency of alerts received during the measurement period may be too low to warrant the system reducing server power consumption. Similarly, the duration of the alert period may be too short (e.g., 10 milliseconds, 100 milliseconds) to warrant action. The magnitude of power consumption exceeding a threshold (e.g., 0.5%, 1%, 2%) may be too low to warrant action.

[0122] As indicated by the dashed arrow from operation 340 to 332, these processes can be repeated so that the system continuously monitors power demand and adjusts server power levels accordingly. The process can stop when the entire set of power supplies are reactivated. In some examples, as the duration / frequency of the monitoring alarm signal is increased, the system can gradually increase system power consumption (e.g., by increasing CPU clock speed or CPU duty cycle) in consecutive measurement intervals.

[0123] In any of the operations within operation 328, if the system determines that a significant reduction in power consumption is warranted, the system may optionally apply prochot.

[0124] Figure 4 The method 400 shown in presents another set of example operations for alerting the system of an "excess power" condition due to a reduced set of power supplies actively supplying power to the server. Similar to the method 300, the method 400 begins by determining that the server is powered by at least two power supplies, such as a first power supply and a second power supply (operation 404). The techniques for operation 404 are similar to those described in the context of operation 304.

[0125] The system then detects a cessation of power delivery from one of the power supplies to the server (operation 408). Figure 3 The process described in operation 308 shown in FIG.

[0126] When it is detected that one of the power supplies is no longer actively delivering power to the server, the system then selects a power threshold for the remaining active power threshold (operation 412). The power threshold can be a different threshold (i.e., a different value) than the threshold used when both power supplies are actively delivering power to the server. In some examples, the power threshold can be selected to be a lower value than the circuit breaker activation value, thereby reducing the likelihood that the circuit breaker will be engaged, depriving the remaining power supply of power and causing the server to lose power.

[0127] In other examples, as described above, the power threshold used when multiple power supplies are active can be based on a value that assumes the capacity to provide more power to a server than the server normally consumes. In this way, the power threshold applied to each power supply in a set of multiple active power supplies can be higher than the power threshold used when a single power supply is active.

[0128] In some examples, the system may use power thresholds for multiple active power supplies to trigger an alarm. For example, an alarm may indicate that the power drawn from a power supply exceeds a threshold, which may indicate an increased risk of activating a circuit breaker.

[0129] In other examples, the system may be configured such that no alert is sent for a power delivery event prior to operation 416. As described above, some power supply systems are configured such that the available power delivery capacity in a set of power supplies is greater than the operating range of the power demand of the server. This excess power delivery reduces the risk of high power events to the system, thereby reducing the need for alerts.

[0130] Continuing with method 400, after selecting a power threshold in operation 412, the system may configure the remaining active power supplies with the power supply threshold (operation 416) or engage a previously selected and stored power threshold (operation 420). More specifically, operation 416 is associated with operations 404-412 immediately preceding operation 416. In this example, upon performing operation 412, the system then configures the remaining active power supplies so that the power supplies transmit an alarm when the newly selected power threshold is exceeded (operation 416). In the context of operation 420, the system uses data from previous iterations of operations 404-412 that did not occur simultaneously with the event that caused the alarm to be generated. These operations 404-412 are used to generate a threshold power value and store the threshold power value in the PSU. In this case, the system may use the power threshold stored in the previous event to transmit an alarm (operation 420).

[0131] 5. Example Embodiments

[0132] For clarity, a detailed example is described below. The example is presented as a set of sequential FIG. 5A to FIG. 5D To illustrate the progress of events. The components and / or operations described below should be understood as a specific example that may not be applicable to certain embodiments. Therefore, the components and / or operations described below should not be interpreted as limiting the scope of any claim.

[0133] Figure 5AThe diagram shows an initial scenario where a server 500 is powered by a first power supply 512 and a second power supply 516. The server includes a CPU 504 and a server control system 508. Both the CPU 504 and the server control 508 systems are similar in features to those described above. In this diagram, the power consumption of the server 500 is 1200W, but for ease of explanation, Figure 5A-5D And the corresponding description describes this value as the power consumption of the CPU.

[0134] Power supply 512 and power supply 516 are each shown as having an "active" power supply state, a maximum power rating of 800W, and a power threshold of 700W (as stored in the memory structure of the corresponding power supply).

[0135] Two arrows originate from each of the power supplies 512, 516. The "External / DC OK" arrow from each of the power supplies 512, 516 indicates that the corresponding power supply is receiving external power from a power source and is transmitting DC power to the server 500. The second arrow indicates the amount of power provided by each of the power supplies 512, 516 to the server 500.

[0136] exist Figure 5A In the example shown in , power supply 512 and power supply 516 both provide 600W of power to server 500. This divides the 1200W of power consumed by server 500 evenly between the two power supplies 512, 516. This power level (600W) of each power supply is also lower than the maximum power rating of 800W for each power supply 512, 516. The power threshold of the power supply is 700W, thereby enabling the power supplies 512, 516 to provide power lower than their maximum power rating and respond to fluctuations in demand of server 500. In other words, the power threshold of 700W enables one or both of the power supplies 512, 516 to respond to an increase in the power demand of server 500 without exceeding the maximum power rating of 800W. By configuring the power supplies in this manner (e.g., multiple power supplies are operated at well below their corresponding maximum power ratings), the reliability of the system is improved by reducing the likelihood that an increase in server power demand will activate a circuit breaker when both power supplies are operating.

[0137] Figure 5B The scenario illustrated is that power supply 516 is no longer providing power, as indicated by the label “Inactive Power Supply State.” As described above, this may be caused by a failure of power supply 516 itself and / or a failure of a power source (not shown) providing power to power supply 516.

[0138] This failure of the power system is illustrated by the power status signal “External / DC Fault.” The previous arrow indicating power transmission from power supply 516 to the server is now shown terminated by an “X,” indicating that power is no longer being transmitted.

[0139] Although power supply 512 is still operating, its signals to server 500, and more specifically to server control system 508, have changed. While server 512 is still transmitting the "External / DC OK" signal, the power being transmitted is increased to 800W. As described above, this exceeds the power threshold rating of 700W. Therefore, power supply 512 also transmits an "Excess Power Alert" (by Figure 5B (indicated by the new corresponding marking arrows in the figure).

[0140] In response to receiving the "Excess Power Alert" from the power supply 512, the server control system 508 performs one or both of the methods 300 or 400. The system reduces the power threshold of the remaining active power supply 512 to below 700W (e.g., 600W as shown) to further protect the system. The server 500 also reduces its CPU power consumption to below 700W (600W in the example shown), thereby meeting the power threshold of the power supply 512. The power supply 512 no longer transmits the "Excess Power Alert".

[0141] As described above, server control system 508 may evaluate power conditions during consecutive measurement intervals to determine whether to reduce server power consumption and by how much. Figure 5D The criteria by which the server control system 508 determines how much the server consumption is reduced are schematically illustrated.

[0142] Figure 5D Two graphs are illustrated. The first graph ("Power Consumption vs. Measurement Interval") shows the power consumption of the server over three consecutive measurement intervals. A power threshold level corresponding to a power supply (e.g., power supply 512) is shown. Server power consumption can be reduced based on the proportion of the time interval during which the power supply power threshold level was exceeded (as indicated by an "alert" signal from the power supply to the server). The relative degree of reduction in power consumption of system applications is shown in the second graph ("Power Reduction vs. Measurement Interval").

[0143] Referring to the first graph, the first measurement interval (labeled "1" on the X-axis) illustrates a state in which power consumption exceeds the power supply power threshold level during the entire measurement interval. This high proportion of the first measurement interval during which the system receives an alarm signal produces a relatively high power reduction during the first measurement interval, as shown in the second graph.

[0144] During the second measurement interval (labeled "1" on the x-axis), no alarm signals are received in the first half of the second measurement interval (as indicated by the bar labeled "No Alarm"). An alarm signal is received in the second half of the second measurement interval (as indicated by the vertical bar labeled "Alarm"). This results in a lower suppression of server power consumption (approximately half of that applied during the first measurement interval).

[0145] No alarm is received during the third measurement interval and, correspondingly, no power reduction is applied.

[0146] 6. Computer Networks and Cloud Networks

[0147] In one or more embodiments, a computer network provides connectivity between a collection of nodes. The nodes may be local to each other and / or remote from each other. The nodes are connected by a collection of links. Examples of links include coaxial cables, unshielded twisted pairs, copper cables, optical fibers, and virtual links.

[0148] A subset of nodes implements a computer network. Examples of such nodes include switches, routers, firewalls, and network address translators (NATs). Another subset of nodes uses a computer network. Such nodes (also referred to as "hosts") can execute client processes and / or server processes. Client processes make requests for computing services (such as the execution of a particular application and / or the storage of a particular amount of data). Server processes respond by performing the requested service and / or returning corresponding data.

[0149] A computer network may be a physical network, comprising physical nodes connected by physical links. A physical node is any digital device. A physical node may be a function-specific hardware device, such as a hardware switch, a hardware router, a hardware firewall, and a hardware NAT. Additionally or alternatively, a physical node may be a general-purpose machine configured to execute various virtual machines and / or applications that execute corresponding functions. A physical link is a physical medium that connects two or more physical nodes. Examples of links include coaxial cables, unshielded twisted cables, copper cables, and optical fibers.

[0150] The computer network may be an overlay network. An overlay network is a logical network implemented on top of another network (such as a physical network). Each node in the overlay network corresponds to a corresponding node in the underlying network. Therefore, each node in the overlay network is associated with both an overlay address (addressing the overlay node) and an underlying address (addressing the underlying node that implements the overlay node). Overlay nodes may be digital devices and / or software processes (such as virtual machines, application instances, or threads). The links connecting overlay nodes are implemented as tunnels through the underlying network. The overlay nodes at both ends of the tunnel treat the underlying multi-hop path between them as a single logical link. Tunneling is performed by encapsulation and decapsulation.

[0151] In an embodiment, the client may be located locally and / or remote from the computer network. The client may access the computer network through other computer networks, such as a private network or the Internet. The client may transmit the request to the computer network using a communication protocol, such as a hypertext transfer protocol (HTTP). The request is transmitted through an interface, such as a client interface, such as a web browser, a program interface, or an application programming interface (API).

[0152] In an embodiment, a computer network provides a connection between a client and a network resource. The network resource includes hardware and / or software configured to execute a server process. Examples of network resources include processors, data storage devices, virtual machines, containers, and / or software applications. Network resources are shared between multiple clients. Clients request computing services from a computer network independently of each other. Network resources are dynamically allocated to requests and / or clients on demand. The network resources allocated to each request and / or client can be expanded or reduced based on, for example, (a) computing services requested by a specific client, (b) aggregate computing services requested by a specific tenant, and / or (c) the requested aggregate computing services of the computer network. Such a computer network may be referred to as a "cloud network."

[0153] In an embodiment, a service provider provides a cloud network to one or more end users. The cloud network can implement various service models, including but not limited to software as a service (SaaS), platform as a service (PaaS), and infrastructure as a service (IaaS). In SaaS, a service provider provides the end user with the ability to use the service provider's applications that are being executed on network resources. In PaaS, a service provider provides the end user with the ability to deploy customized applications on network resources. Customized applications can be created using programming languages, libraries, services, and tools supported by the service provider. In IaaS, a service provider provides the end user with the ability to supply processing, storage, network, and other basic computing resources provided by network resources. Any arbitrary application, including an operating system, can be deployed on network resources.

[0154] In an embodiment, a computer network can implement various deployment models, including but not limited to private cloud, public cloud and hybrid cloud. In a private cloud, network resources are supplied to a specific group of one or more entities for exclusive use (the term "entity" as used herein refers to an enterprise, organization, individual or other entity). Network resources can be local to and / or away from the premises of a specific entity group. In a public cloud, cloud resources are supplied to multiple entities (also referred to as "tenants" or "customers") that are independent of each other. A computer network and its network resources are accessed by clients corresponding to different tenants. Such a computer network may be referred to as a "multi-tenant computer network". Several tenants may use the same specific network resources at different times and / or at the same time. Network resources may be local to and / or away from the premises of a tenant. In a hybrid cloud, a computer network includes a private cloud and a public cloud. The interface between a private cloud and a public cloud allows portability of data and applications. Data stored at a private cloud and data stored at a public cloud can be exchanged through an interface. Applications implemented at a private cloud and applications implemented at a public cloud may have dependencies on each other. Calls from an application at the private cloud to an application at the public cloud (and vice versa) may be performed through the interface.

[0155] In an embodiment, the tenants of a multi-tenant computer network are independent of each other. For example, the business or operation of one tenant can be separated from the business or operation of another tenant. Different tenants may have different network requirements for the computer network. Examples of network requirements include processing speed, data storage capacity, security requirements, performance requirements, throughput requirements, latency requirements, elasticity requirements, quality of service (QoS) requirements, tenant isolation and / or consistency. The same computer network may need to implement different network requirements required by different tenants.

[0156] In one or more embodiments, in a multi-tenant computer network, tenant isolation is implemented to ensure that applications and / or data of different tenants are not shared with each other. Various tenant isolation methods can be used.

[0157] In an embodiment, each tenant is associated with a tenant ID. Each network resource of the multi-tenant computer network is marked with a tenant ID. Only when the tenant and the specific network resource are associated with the same tenant ID, the tenant is allowed to access the specific network resource.

[0158] In an embodiment, each tenant is associated with a tenant ID. Each application implemented by the computer network is tagged with the tenant ID. Additionally or alternatively, each data structure and / or data set stored by the computer network is tagged with the tenant ID. A tenant is allowed to access a specific application, data structure, and / or data set only if the tenant and the specific application, data structure, and / or data set are associated with the same tenant ID.

[0159] As an example, each database implemented by a multi-tenant computer network can be marked with a tenant ID. Only the tenant associated with the corresponding tenant ID can access the data of a particular database. As another example, each entry in a database implemented by a multi-tenant computer network can be marked with a tenant ID. Only the tenant associated with the corresponding tenant ID can access the data of a particular entry. However, a database can be shared by multiple tenants.

[0160] In an embodiment, the subscription list indicates which tenants have access to which applications. For each application, a list of tenant IDs of tenants authorized to access the application is stored. Only when the tenant ID of a tenant is included in the subscription list corresponding to a specific application, the tenant is allowed to access the specific application.

[0161] In an embodiment, network resources corresponding to different tenants (such as digital devices, virtual machines, application instances, and threads) are isolated to tenant-specific overlay networks maintained by a multi-tenant computer network. As an example, a data packet from any source device in a tenant overlay network can be sent only to other devices within the same tenant overlay network. The encapsulation tunnel is used to prohibit any transmission from a source device on a tenant overlay network to devices in other tenant overlay networks. Specifically, a data packet received from a source device is encapsulated in an outer data packet. The outer data packet is sent from a first encapsulation tunnel endpoint (communicating with a source device in a tenant overlay network) to a second encapsulation tunnel endpoint (communicating with a destination device in a tenant overlay network). The second encapsulation tunnel endpoint decapsulates the outer data packet to obtain the original data packet sent by the source device. The original data packet is sent from the second encapsulation tunnel endpoint to a destination device in the same specific overlay network.

[0162] 7. Other Matters; Extension

[0163] Embodiments are directed to a system having one or more devices including a hardware processor and configured to perform any of the operations described herein and / or in any of the following claims.

[0164] In an embodiment, a non-transitory computer-readable storage medium comprises instructions that, when executed by one or more hardware processors, cause performance of any of the operations described herein and / or any of the claims.

[0165] According to one or more embodiments, any combination of the features and functions described herein may be used. In the foregoing description, embodiments have been described with reference to many specific details that vary depending on the implementation. Therefore, the description and drawings should be considered illustrative rather than restrictive. The sole and exclusive indicator of the scope of the present invention and what the applicant intends to be the scope of the present invention is the literal and equivalent range of the set of claims issued from this application, in the specific form in which such claims are issued, including any subsequent corrections.

[0166] 8. Hardware Overview

[0167] According to one embodiment, the technology described herein is implemented by one or more special-purpose computing devices. The special-purpose computing device can be hard-wired to perform the present technology, or can include a digital electronic device that is permanently programmed to perform the present technology, such as one or more application-specific integrated circuits (ASICs), field programmable gate arrays (FPGAs), or network processing units (NPUs), or can include one or more general-purpose hardware processors that are programmed to perform the present technology according to program instructions in firmware, memory, other storage devices, or combinations. Such special-purpose computing devices can also combine customized hard-wired logic, ASICs, FPGAs, or NPUs with customized programming to implement the present technology. The special-purpose computing device can be a desktop computer system, a portable computer system, a handheld device, a networking device, or any other device that combines hard-wiring and / or program logic to implement the technology.

[0168] For example, Figure 6 6 is a block diagram illustrating a computer system 600 upon which embodiments of the present invention may be implemented. Computer system 600 includes a bus 602 or other communication mechanism for communicating information and a hardware processor 604 coupled with bus 602 for processing information. Hardware processor 604 may be, for example, a general purpose microprocessor.

[0169] The computer system 600 also includes a main memory 606, such as a random access memory (RAM) or other dynamic storage device, coupled to the bus 602 for storing information and instructions to be executed by the processor 604. The main memory 606 may also be used to store temporary variables or other intermediate information during execution of instructions to be executed by the processor 604. Such instructions, when stored in a non-transitory storage medium accessible to the processor 604, cause the computer system 600 to become a special-purpose machine customized to perform the operations specified in the instructions.

[0170] Computer system 600 also includes a read only memory (ROM) 608 or other static storage device coupled to bus 602 for storing static information and instructions for processor 604. A storage device 610, such as a magnetic or optical disk, is provided and coupled to bus 602 for storing information and instructions.

[0171] The computer system 600 may be coupled via the bus 602 to a display 612, such as a cathode ray tube (CRT), for displaying information to a computer user. An input device 614, including alphanumeric and other keys, is coupled to the bus 602 for communicating information and command selections to the processor 604. Another type of user input device is a cursor control 616, such as a mouse, trackball, or cursor direction keys, for communicating direction information and command selections to the processor 604 and for controlling cursor movement on the display 612. Such input devices typically have two degrees of freedom in two axes, a first axis (e.g., x) and a second axis (e.g., y), to allow the device to specify a position in a plane.

[0172] The computer system 600 may implement the techniques described herein using custom hardwired logic, one or more ASICs or FPGAs, firmware, and / or program logic that, in combination with the computer system, makes the computer system 600 a special purpose machine or programs the computer system 600 to be a special purpose machine. According to one embodiment, the techniques herein are performed by the computer system 600 in response to the processor 604 executing one or more sequences of one or more instructions contained in the main memory 606. These instructions may be read into the main memory 606 from another storage medium, such as the storage device 610. Execution of the sequences of instructions contained in the main memory 606 causes the processor 604 to perform the process steps described herein. In alternative embodiments, hardwired circuitry may be used in place of or in combination with software instructions.

[0173] The term "storage medium" as used herein refers to any non-transitory medium storing data and / or instructions that cause a machine to operate in a particular manner. Such storage media may include non-volatile media and / or volatile media. Non-volatile media include, for example, optical or magnetic disks, such as storage device 610. Volatile media include dynamic memory, such as main memory 606. Common forms of storage media include, for example, floppy disks, flexible disks, hard disks, solid-state drives, tapes or any other magnetic data storage media, CD-ROMs, any other optical data storage media, any physical media with hole patterns, RAM, PROM and EPROM, FLASH-EPROM, NVRAM, any other memory chip or cassette, content addressable memory (CAM) and ternary content addressable memory (TCAM).

[0174] Storage media are distinct from but may be used in conjunction with transmission media. Transmission media participate in the transfer of information between storage media. For example, transmission media include coaxial cables, copper wire, and optical fiber, including the wires that comprise bus 602. Transmission media may also take the form of acoustic or light waves, such as those generated during radio wave and infrared data communications.

[0175] Various forms of media may be involved in carrying one or more sequences of one or more instructions to processor 604 for execution. For example, the instructions may initially be carried on a disk or solid-state drive of a remote computer. The remote computer can load the instructions into its dynamic memory and send the instructions over a telephone line using a modem. A modem local to computer system 600 can receive the data on the telephone line and use an infrared transmitter to convert the data to an infrared signal. An infrared detector can receive the data carried in the infrared signal and appropriate circuitry can place the data on bus 602. Bus 602 carries the data to main memory 606, from which processor 604 retrieves and executes the instructions. The instructions received by main memory 606 may optionally be stored on storage device 610 before or after execution by processor 604.

[0176] Computer system 600 also includes a communication interface 618 coupled to bus 602. Communication interface 618 provides bidirectional data communication coupled to network link 620, wherein network link 620 is connected to local network 622. For example, communication interface 618 can be an integrated services digital network (ISDN) card, a cable modem, a satellite modem, or a modem that provides data communication connection to a telephone line of a corresponding type. As another example, communication interface 618 can be a LAN card that provides data communication connection to a compatible local area network (LAN). Wireless links can also be implemented. In any such implementation, communication interface 618 sends and receives electrical signals, electromagnetic signals, or optical signals that carry digital data streams representing various types of information.

[0177] The network link 620 typically provides data communication to other data devices through one or more networks. For example, the network link 620 can provide a connection to a host computer 624 or to data equipment operated by an Internet Service Provider (ISP) 626 through a local network 622. The ISP 626, in turn, provides data communication services through the global packet data communication network now commonly referred to as the "Internet" 628. Both the local network 622 and the Internet 628 use electrical, electromagnetic, or optical signals that carry digital data streams. The signals through the various networks and the signals on the network link 620 and through the communication interface 618 are example forms of transmission media that carry the digital data to or from the computer system 600.

[0178] Computer system 600 can send messages and receive data, including program code, through the network(s), network link 620, and communication interface 618. In the Internet example, server 630 can transmit the requested code for an application program through Internet 628, ISP 626, local network 622, and communication interface 618.

[0179] The received code may be executed by processor 604 as it is received, and / or stored in storage device 610 or other non-volatile storage for later execution.

[0180] In the foregoing specification, embodiments of the present invention have been described with reference to numerous specific details that may vary from implementation to implementation. Accordingly, the specification and drawings should be regarded as illustrative rather than restrictive. The sole and exclusive indicator of the scope of the invention, and what the applicants intend as the scope of the invention, is the literal and equivalent scope of the set of claims issuing from this application in the specific form in which such claims are issued, including any subsequent corrections.

Claims

1. One or more non-transitory computer-readable media storing instructions that, when executed by one or more hardware processors, cause operations including: determining that the server is powered by at least a first power supply and a second power supply; detecting a cessation of power transmission from a second power supply to the server; identifying a rate at which the server consumes power from a first power supply; determining that a rate of power consumption by the server from the first power supply exceeds a threshold; In response to detecting the simultaneous occurrence of (a) a cessation of power delivery to the server via the second power supply and (b) a rate of power consumption by the server from the first power supply exceeding a threshold: transmitting an alert associated with power consumption by the server from the first power supply; as well as Responding to an alert: determining a first proportion of a first unit time during which a rate of power consumption by the server exceeds a threshold; determining a reduction in a rate of power consumption of at least one central processing unit of the server based on a first proportion of a first unit of time during which the rate of power consumption of the server exceeds a threshold; as well as The power consumption of at least one central processing unit of the server is reduced.

2. The medium of claim 1, further comprising: Prior to detecting cessation of power transmission from the second power supply to the server: determining that a rate of power consumption by the server from the first power supply exceeds a threshold; as well as Since the second power supply continues to supply power to the server, no alert is transmitted based on the power consumption rate.

3. The medium of claim 1, wherein transmitting the alert associated with power consumption by the server from the first power supply is further responsive to (c) determining that the first power supply is the only power supply currently supplying power to the server.

4. The medium of claim 1, wherein the alert is received without causing a modification to power consumption by the server from the first power supply. 5 . The medium of claim 1 , wherein the first ratio is based on a frequency of alerts received during a time period associated with power consumption by the server from the first power supply.

6. One or more non-transitory computer-readable media storing instructions that, when executed by one or more hardware processors, cause operations including: determining that the server is powered by at least a first power supply and a second power supply; detecting a cessation of power transmission from a second power supply to the server; In response to detecting a cessation of power transmission from the second power supply to the server: selecting a first power threshold of the first power supply that is not used when the second power supply is powering the server; as well as configuring the first power supply to transmit an alert when power transmitted from the first power supply exceeds a first power threshold; as well as Responding to an alert: determining a first proportion of a first unit time during which a rate of power consumption by the server exceeds a first power threshold; determining a reduction in a rate of power consumption of at least one central processing unit of the server based on a first proportion of a first unit of time during which the rate of power consumption of the server exceeds a first power threshold; as well as The power consumption of at least one central processing unit of the server is reduced.

7. A medium as described in claim 6, wherein before configuring the first power supply to transmit an alarm when the power transmitted from the first power supply exceeds a first power threshold, the first power supply is configured to transmit an alarm when the power transmitted from the first power supply exceeds a second power threshold, the second power threshold being higher than the first power threshold.

8. The medium of claim 6, wherein the first power supply is not configured to transmit an alert for power consumption prior to configuring the first power supply to transmit an alert when power transmitted from the first power supply exceeds a first power threshold.

9. The medium of claim 6, wherein: a first power supply in communication with a first circuit breaker having a first power activation value; as well as The first power threshold is less than the first circuit breaker power activation value.

10. A method comprising: determining that the server is powered by at least a first power supply and a second power supply; detecting a cessation of power transmission from a second power supply to the server; identifying a rate at which the server consumes power from a first power supply; determining that a rate of power consumption by the server from the first power supply exceeds a threshold; as well as In response to detecting the simultaneous occurrence of (a) a cessation of power delivery to the server via the second power supply and (b) a rate of power consumption by the server from the first power supply exceeding a threshold: transmitting an alert associated with power consumption by the server from the first power supply; Responding to an alert: determining a first proportion of a first unit time during which a rate of power consumption by the server exceeds a threshold; determining a reduction in a rate of power consumption of at least one central processing unit of the server based on a first proportion of a first unit of time during which the rate of power consumption of the server exceeds a threshold; as well as The power consumption of at least one central processing unit of the server is reduced.

11. The method of claim 10, further comprising: Prior to detecting cessation of power transmission from the second power supply to the server: determining that a rate of power consumption by the server from the first power supply exceeds a threshold; as well as Since the second power supply continues to supply power to the server, no alert is transmitted based on the power consumption rate.

12. The method of claim 10, wherein transmitting the alert associated with the server's power consumption from the first power supply is further responsive to (c) determining that the first power supply is the only power supply currently supplying power to the server.

13. The method of claim 10, wherein the alert is received without causing a modification to power consumption by the server from the first power supply.

14. The method of claim 10, wherein the first ratio is based on a frequency of alerts received during a time period associated with power consumption by the server from the first power supply.

15. A method comprising: determining that the server is powered by at least a first power supply and a second power supply; detecting a cessation of power transmission from a second power supply to the server; In response to detecting a cessation of power transmission from the second power supply to the server: selecting a first power threshold of the first power supply that is not used when the second power supply is powering the server; as well as configuring the first power supply to transmit an alert when power transmitted from the first power supply exceeds a first power threshold; as well as Responding to an alert: determining a first proportion of a first unit time during which a rate of power consumption by the server exceeds a first power threshold; determining a reduction in a rate of power consumption of at least one central processing unit of the server based on a first proportion of a first unit of time during which the rate of power consumption of the server exceeds a first power threshold; as well as The power consumption of at least one central processing unit of the server is reduced.

16. A method as claimed in claim 15, wherein before configuring the first power supply to transmit an alarm when the power transmitted from the first power supply exceeds a first power threshold, the first power supply is configured to transmit an alarm when the power transmitted from the first power supply exceeds a second power threshold, the second power threshold being higher than the first power threshold.

17. The method of claim 15, wherein the first power supply is not configured to transmit an alert for power consumption prior to configuring the first power supply to transmit an alert when power transmitted from the first power supply exceeds a first power threshold.

18. The method of claim 15, wherein: a first power supply in communication with a first circuit breaker having a first power activation value; as well as The first power threshold is less than the first circuit breaker power activation value.

19. A system comprising: one or more hardware processors; one or more non-transitory computer-readable media; as well as program instructions stored on the one or more non-transitory computer-readable media, which, when executed by one or more hardware processors, cause the system to: determining that the server is powered by at least a first power supply and a second power supply; detecting a cessation of power transmission from a second power supply to the server; identifying a rate at which the server consumes power from a first power supply; determining that a rate of power consumption by the server from the first power supply exceeds a threshold; as well as In response to detecting the simultaneous occurrence of (a) a cessation of power delivery to the server via the second power supply and (b) a rate of power consumption by the server from the first power supply exceeding a threshold: transmitting an alert associated with power consumption by the server from the first power supply; as well as Responding to an alert: determining a first proportion of a first unit time during which a rate of power consumption by the server exceeds a threshold; determining a reduction in a rate of power consumption of at least one central processing unit of the server based on a first proportion of a first unit of time during which the rate of power consumption of the server exceeds a threshold; as well as The power consumption of at least one central processing unit of the server is reduced.

20. The system of claim 19, wherein the program instructions further cause the system to: Prior to detecting cessation of power transmission from the second power supply to the server: determining that a rate of power consumption by the server from the first power supply exceeds a threshold; and Since the second power supply continues to supply power to the server, no alert is transmitted based on the power consumption rate.

21. The system of claim 19, wherein transmitting the alert associated with power consumption by the server from the first power supply is further responsive to (c) determining that the first power supply is the only power supply currently supplying power to the server.

22. The system of claim 19, wherein the alert is received without causing a modification to power consumption by the server from the first power supply.

23. The system of claim 19, wherein the first ratio is based on a frequency of alerts received during a time period associated with power consumption by the server from the first power supply.

24. The system of claim 19, wherein the system comprises a server.

25. A system comprising: one or more hardware processors; one or more non-transitory computer-readable media; as well as program instructions stored on the one or more non-transitory computer-readable media, which, when executed by one or more hardware processors, cause the system to: determining that the server is powered by at least a first power supply and a second power supply; detecting a cessation of power transmission from a second power supply to the server; In response to detecting a cessation of power transmission from the second power supply to the server: selecting a first power threshold of the first power supply that is not used when the second power supply is powering the server; as well as configuring the first power supply to transmit an alert when power transmitted from the first power supply exceeds a first power threshold; as well as Responding to an alert: determining a first proportion of a first unit time during which a rate of power consumption by the server exceeds a first power threshold; determining a reduction in a rate of power consumption of at least one central processing unit of the server based on a first proportion of a first unit of time during which the rate of power consumption of the server exceeds a first power threshold; as well as The power consumption of at least one central processing unit of the server is reduced.

26. A system as described in claim 25, wherein before configuring the first power supply to transmit an alarm when the power transmitted from the first power supply exceeds a first power threshold, the first power supply is configured to transmit an alarm when the power transmitted from the first power supply exceeds a second power threshold, the second power threshold being higher than the first power threshold.

27. The system of claim 25, wherein the first power supply is not configured to transmit an alert for power consumption prior to configuring the first power supply to transmit an alert when power transmitted from the first power supply exceeds a first power threshold.

28. The system of claim 25, wherein: a first power supply in communication with a first circuit breaker having a first power activation value; as well as The first power threshold is less than the first circuit breaker power activation value.

29. The system of claim 25, wherein the system comprises a server.

Citation Information

Patent Citations

  • Server power consumption limiting method, system and device and medium

    CN111352497A