Cloud computing involves delivery of computing and/or data storage as a service to one or more client devices via the Internet or other networks. Through web browsers or other applications, client devices can access cloud-based applications and/or data stored in remote computer clusters. Cloud computing may allow enterprises to deploy, manage, and maintain applications with reduced costs than traditional computing service delivery.
Computer clusters for providing cloud computing and/or other services typically include multiple computing units (e.g., servers) supported by a utility infrastructure. For example, the utility infrastructure can include transformers, rectifiers, voltage regulators, circuit breakers, substations, power distribution units, fans, cooling towers, and/or other electrical/mechanical components to allow proper operation of the computing units. For system reliability, the utility infrastructure may also include uninterrupted power supplies, diesel generators, auxiliary electrical lines, and/or other backup systems. These utility infrastructure components can be costly and complex to design, install, maintain, and operate.
The present technology is directed to techniques for managing a computer cluster based at least in part on configuration and/or conditions of utility infrastructure that supports the computer cluster. For example, aspects of the present technology include obtaining information of the utility infrastructure and determining an execution profile of a computing operation based at least in part thereon. The information can include a configuration or condition of power, heating, cooling, ventilation, or other systems that support the operation of the computer cluster. The computing operation can then be executed in the computer cluster in accordance with the determined execution profile.
Other aspects of the present technology can include determining the execution profile of the computing operation based not only on the information of the utility infrastructure but also on one or more execution characteristics of the computing operation. For example, if the computing operation is a virus scan, application update, software patch, or other operation without a rigid deadline, the computing operation may be delayed when the computer cluster is operating on an uninterrupted power supply, diesel generator, or other backup power source. As a result, the backup power source may have extended operating period and can be under provisioned to reduce capital costs while maintaining similar performance.
This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter.
Various embodiments of utility infrastructure based systems, controllers, components, modules, routines, and processes for managing computer clusters are described below. As used herein, the phrase “computer cluster” generally refers to one or more computers connected to one another and/or to an external device by a computer network. In the following description, example software codes, values, and other specific details are included to provide a thorough understanding of various embodiments of the present technology. A person skilled in the relevant art will also understand that the technology may have additional embodiments. The technology may also be practiced without several of the details of the embodiments described below with reference to
Providing utility infrastructure support to computer clusters can be costly and complex. For example, provisioning and maintaining backup power sources (e.g., uninterrupted power supplies and diesel generators) require substantial capital investment and routine maintenance. Even with such backup power sources, system reliability often cannot be guaranteed because the backup power sources may fail, be exhausted, and/or otherwise unavailable. Suggestions have been made to under provision components of utility infrastructure by reducing computational load of the computer clusters. However, such a technique may adversely affect performance of the computer clusters.
Several embodiments of the present technology can address at least some of the foregoing difficulties by managing computer clusters based at least in part on configuration and/or conditions of utility infrastructure that supports the computer clusters. As used herein, the term “utility infrastructure” may, for example, refer to systems, organizations, structures, and/or components that support operations of the computer clusters. For example, the utility infrastructure can include power (e.g., electricity supply, power distribution, power rectification, etc.), heating, ventilation, and air conditioning (HVAC), cooling (e.g., cooling towers, chillers, etc.), and/or other types of systems that support the computer clusters.
As shown in
The network 108 can include a wired medium (e.g., twisted pair, coaxial, untwisted pair, or optic fiber), a wireless medium (e.g., terrestrial microwave, cellular systems, WI-FI, wireless LANs, Bluetooth, infrared, near field communication, ultra-wide band, or free space optics), or a combination of wired and wireless media. The network 108 may operate according to Ethernet, token ring, asynchronous transfer mode, and/or other suitable link layer protocols. In further embodiments, the network 108 can also include routers, switches, modems, and/or other suitable computing/communication components in suitable arrangements.
The computing units 104 can be configured to implement one or more applications accessible by a client device 110 (e.g., a desktop computer, a smart phone, etc.) and/or other entities via a wide area network (e.g., the Internet) or through any other coupling mechanisms. Embodiments of the computing units 104 can include web servers, application servers, database servers, and/or other suitable computing components.
In the illustrated embodiment, the utility infrastructure 101b includes utility interfaces 106 (illustrated individually as first and second utility interfaces 106a and 106b, respectively), electrical backup systems 118 (identified individually as a first backup system 116a and a second backup system 118b), an electrical power source 107 (e.g., an electrical grid), and an HVAC system 112 configured to provide a suitable temperature and/or humidity to the computing units 104. The foregoing components of the utility infrastructure 101b shown in
As shown in
The backup systems 116 can be configured to provide emergency or backup power to the computing units 104 when the electrical power source 107 is unavailable. In the illustrated embodiment, the first and second backup systems 116a and 116b are coupled to the first and second utility interfaces 106a and 106b, respectively. The first backup system 116a includes two uninterrupted power supplies 118 and a diesel generator 120. The second backup system 116b includes one uninterrupted power supply 118. In other embodiments, the backup systems 116 may include other suitable components in suitable arrangements.
During normal operation, the utility interfaces 106 receive electrical power from the electrical power source 107 and convert, condition, and distribute power to the individual computing units 104 in respective computer cabinets 102. The utility interfaces 106 also monitor for and protect the computing units 104 from power surges, voltage fluctuation, and/or other undesirable power conditions. When a failure of the electrical power source 107 is detected, the utility interfaces 106 can switch power supply to the backup system 116 and provide emergency power to the individual computing units 104 in respective computer cabinets 102. As a result, the computing units 104 may continue to operate for a period of time even when the electrical power source 107 is unavailable.
In conventional computer clusters, the operation of the utility infrastructure 101b is typically independent from the operation of the computing units 104. Thus, the computer units 104 may continue to execute virus scan, application update, software patch, and/or execute other applications when a failure of the electrical power source 107 is detected. Thus, to achieve a target level of backup operating period, a large amount of backup capacity may be required with associated costs and maintenance requirements.
In certain embodiments, the management controller 114 can be configured to manage operations of the computing units 104 based at least in part on configuration and/or conditions of the utility infrastructure 101b. The management controller 114 can include a personal computer, a network server, a laptop computer, and/or other suitable computing devices. By directing certain applications to computing units 104 with corresponding level of utility infrastructure support, delaying and/or slowing execution of certain computing operations, the amount of backup capacity in the utility infrastructure 101b may be reduced when compared to conventional techniques. Even though the management controller 114 is shown as an independent component in
As shown in
The configuration of the utility infrastructure 101b can include identity, connectivity, topography, hierarchy, and/or other structural and organizational features of the utility infrastructure 101b. The configuration can also include information of the various components of the utility infrastructure 101b. For example, such information can include a redundancy of the individual components, a mean time to fail and/or mean time to repair of at least one of the components, and a maintenance schedule of at least one of the components. In another example, such information can include a rated capacity of at least one electrical components, a runtime of an uninterrupted power supply at certain load levels, a specification of a circuit breaker, and a power factor of various electrical components.
The condition of the utility infrastructure 101b can include current and/or historical operating conditions of various components of the utility infrastructure 101b. For example, the condition can include information of an failure event of at least one of the components, an electrical power frequency, an electrical power voltage, and a utility transition time. In another example, the condition can include a start/stop event, a supply voltage, a fuel storage level, and a transition time of a diesel generator, utility spot pricing, peak demand pricing, and utility contractual limit. In further examples, the condition can include room temperature/humidity, cabinet temperature/humidity, room or cabinet ventilation condition, and/or other suitable information of the various components of the utility infrastructure 101b.
In certain embodiments, the management controller 114 can assign requested computing operations based on (a) a configuration of the utility infrastructure 101b and (b) an execution characteristic of the computing operation. For example, in the embodiment illustrated in
In other embodiments, the management controller 114 can regulate execution timing and/or sequence of requested computing operations based on (a) a condition of the utility infrastructure 101b and (b) an execution characteristic of the computing operation. For example, if the management controller 114 detects that the electrical power source 107 is available, the management controller 114 may adopt an execution profile that allows all computing operations to execute in sequence or according to other suitable orders. If the management controller 114 detects low voltage (commonly referred to as a “brown out”) or a total failure of the electrical power source 107, the management controller 114 may adopt an execution profile that delays or even cancels execution of certain computing operations (e.g., virus scan) based on the corresponding execution characteristic (e.g., no rigid deadline). During brown out, in one embodiment, the management controller 114 may delay and/or slow execution of computing operations in sequence until the voltage is above a threshold. In another embodiment, the management controller 114 may calculate a reduction in computational demand based on the measured voltage and delay execution of a number of the computing operations based thereon. Components and configurations of the management controller 114 are described in more detail below with reference to
As shown in
The sensing module 160 is configured to receive the input data 150 and converting the input data 150 into suitable engineering units. For example, the sensing module 160 may receive a voltage, frequency, phase, and/or other suitable types of input from the electrical power source 107 (
The calculation module 166 may include routines configured to perform various types of calculations to facilitate operation of other modules. For example, the calculation module 166 can include routines for averaging an electrical voltage of the electrical power source 107 received from the sensing module 160. In another example, the calculation module 166 can calculate a reduction in computational demand based on the measured electrical power voltage during a brown out event. The reduction in computational demand may be calculated according to a predetermined coefficient, empirical data, and/or other suitable criteria. In other examples, the calculation module 166 can include linear regression, polynomial regression, interpolation, extrapolation, and/or other suitable subroutines. In further examples, the calculation module 166 can also include counters, timers, and/or other suitable routines.
The analysis module 162 can be configured to analyze the monitored and/or calculated parameters from the sensing module 160 and the calculation module 166 and to determine an execution profile for a computing operation. For example, the analysis module 162 may compare the measured voltage of the electrical power source 107 to a predetermined brown out threshold. If the measured voltage is below the threshold, the analysis module 162 can indicate a brown out event. If the measured voltage is below a failure threshold, the analysis module 162 can indicate a utility failure of the electrical power source 107.
The analysis module 162 can also be configured to determine an execution profile of a requested computing operation. For example, in one embodiment, the analysis module can analyze (a) a configuration of the utility infrastructure 101b and (b) an execution characteristic of the computing operation to determine an assignment of the computing operation to a particular computing unit 104. In another embodiment, the analysis module can analyze (a) a condition of the utility infrastructure 101b and (b) an execution characteristic of the computing operation to determine an execution priority of the computing operation. Certain examples of operations of the analysis module 162 are described in more detail below with reference to
The control module 164 may be configured to control the operation of the computing units 104 (
Another stage 204 of the process 200 can include obtaining information of the utility infrastructure 101b (
In other embodiments, the obtained information can include condition information of various components of the utility infrastructure 101b. For example, the information can also include a start/stop event, a supply voltage, a fuel storage level, and a transition time of a diesel generator. In another example, the information can include a failure event of at least one of the electrical components, an electrical power frequency, an electrical power voltage, and a utility transition time. In yet further examples, the information can include utility spot pricing, peak demand pricing, and utility contractual limit.
Another stage 206 of the process 200 can include determining an execution profile for the computing operation based at least in part on the obtained information with the management controller 114. The execution profile can include at least one of an execution priority, execution delay, node assignment, or execution sequence of the computing operation. In one embodiment, the execution profile includes assigning the computing operation to a particular computing unit 104 with a particular level of utility infrastructure support (e.g., high backup capacity) if the computing operation requires certain execution characteristic (e.g., high reliability). In another embodiment, the execution profile includes a delay and/or slow execution of the computing operation when at least one of the following conditions exists:
In further embodiments, determining the execution profile can include calculating a reduction in computational demand based on the measured electrical power voltage and delay and/or slow execution of at least one of the computing operations accordingly. In yet further embodiments, multiple computing operations may be sequentially delayed until the measured electrical power voltage is above a preset threshold. Subsequent to determining the execution profile, the process 200 can include executing the computing operation according to the determined execution profile at stage 208.
Specific embodiments of the technology have been described above for purposes of illustration. However, various modifications may be made without deviating from the foregoing disclosure. In addition, many of the elements of one embodiment may be combined with other embodiments in addition to or in lieu of the elements of the other embodiments. Accordingly, the technology is not limited except as by the appended claims.