Blade personal computers (PCs) and servers represent a fast growing segment in the computing industry because of the compaction, consolidation, modularity, management, and maintenance afforded by the blade PCs and servers. The growth in the use of blade PCs and servers has led to challenges in efficiently powering blade servers.
Described herein are exemplary system and methods for load balancing power supplies in computing environments such as blade servers or blade PCs. In some embodiments, the methods described herein may be embodied as logic instructions on a computer-readable medium. When executed on a processor, the logic instructions cause a general purpose computing device to be programmed as a special-purpose machine that implements the described methods. The processor, when configured by the logic instructions to execute the methods recited herein, constitutes structure for performing the described methods. In alternate embodiments the methods described herein may be implemented in firmware, in a reprogrammable logic module, e.g., a field programmable gate array, or hardwired into electrical circuitry.
In addition to the compute nodes 120, the enclosure 110 may include other components, such as, interconnects 130. The interconnects 130 generally operate to route network signals to and from the compute nodes 120. Two interconnects 130 may be provided to provide redundancy for the compute nodes 120.
Although eight compute nodes 120 and two interconnects 130 have been illustrated as being contained in the enclosure 110, any reasonably suitable number of compute nodes 120 and interconnects 130 may be included in the enclosure without departing from a scope of the invention. In addition, the computing environment 100 may include additional components and some of the components depicted may be removed and/or modified without departing from a scope of the computing environment 100.
It should also be understood that various embodiments of the invention may be practiced in computing environments having different configurations than the computing environment 100 depicted in
An example of a larger scale computing environment 100′ is depicted in
Various embodiments of the invention may further be practiced in computing environments containing a relatively larger number of compute nodes 120 than are depicted in
In some embodiments, computing environment 100′ may include one or more administrative modules 160 which, among other things, implement operations to facilitate load balancing for the one or more power supplies 150 in system 150. In some embodiments, power supplies 150 comprise multiple power outputs, i.e., at least a first power output and a second power output, which provide power to the devices in the computing environment. The power outputs may have the same voltage, or may have different voltages.
With reference now to
As shown in
Compute node 120 may further include a processor 312, a memory module 314, and a basic input/output system (BIOS) 316. Processor 312 may be embodied as a central processing unit (CPU). In one embodiment, processor 312 may be configurable to operate at one of multiple power states, which permits the compute node 120 to be manageable with regard to power consumption. In one embodiment, processor 312 may be implemented as an Athlon 64 processor commercially available from AMD Corporation of Sunnyvale, Calif., USA. Memory module 318 may be implemented as a suitable volatile memory such as, e.g., random access memory (RAM) memory.
In one embodiment, BIOS 316 may be incorporated in a non-volatile memory module, which may be embodied as a flash random Read Only Memory (ROM). The BIOS may comprise code that provides an interface between the operating system and the specific hardware configuration, allowing the same operating system to be used with different hardware configurations. In one embodiment, BIOS 316 may comprise a power-on self-test (POST) module for performing system initialization and tests. In operation, when activation of compute node 120 begins processor 312 accesses BIOS 316 and shadows the instructions of BIOS 316, such as power-on self-test module, into operating memory. Processor 312 then executes power-on self-test operations to implement POST processing.
Compute node 120 may further include one or more power signal generator modules 330. In some embodiments, power signal generator module 330 implements logic to generate a power input signal which indicates one or more characteristics of a power supply to which the compute node 120 may be connected. In some embodiments, the power input signal generated by the power signal generator 330 is transmitted to the power supply selector circuit 215 of the administrative module 215, which selects a power output to connect the compute node 120 to in response to the power input signal. Thus, in some embodiments the power supply selector circuit module 215 cooperates with the power signal generator 330 to select a power supply for the compute node 330. In some embodiments, the power supply selector circuit module(s) 325 on the compute node 120 selects a power output to connect the compute node 120 to in response to the power input signal generated by the power signal generator 330.
At operation 415 the power input signal is transmitted to the administrative module 200. In some embodiments, the power input signal is transmitted via the I/O module 402 of compute node 120 to the I/O module 210 of administrative module 200.
At operation 420 the administrative module detects the power input signal generated by compute node 120, and at operation 425 the administrative module 200 couples the compute node to a power output based at least in part on the power input signal received from the compute node 120. For example, in some embodiments the power input signal specifies a voltage level, and the administrative module 210 couples the compute node to a power output having the specified voltage level.
In some embodiments the administrative module 210 comprises a power supply selector circuit 215 which couples the compute node 120 to a power output based on a value of the power input signal.
The P-channel sides of T2512 and T3514 are connected to 12V and the N-channel sides of T2512 and T3514 are connected to 5V. FET transistors T2512 and T3514 each have three terminals: a gate, a source, and a drain. The voltage between the gate and source turns on or off the FET. A P-channel FET will turn on when the gate is lower than the source and an N-channel FET will turn on when the gate is higher than the source terminal of the FET.
In operation, the Power Input Signal is input to transistors T1510 and T5516 to select whether to use 12V or 5V as the output signal of the selector circuit. When the Power Input Signal is high this connects the drain and source of T1510 and T5516 to GROUND, which in turn connects lines 540 and 542 to GROUND. Resistors R1520 and R2522 form a voltage divider that will set the gate voltage of transistor T2512 to 8V (assuming line 542 is at 8V when R2522 is connected to GROUND). When line 542 is set to 8V the gate-source voltage (Vgs) of transistor T2512 is set to −4V, which turns on transistor T2512 and selects +12V_DB as the output of the selector circuit. With T5516 and line 546 connected to GND, the gate of T3514 is connected to GROUND, which is equivalent to 0 volts. This makes the Vgs of T3514 0 volts, which turns off T3514. Thus, when the Power Input Signal high, 12V is selected as the output voltage from the selector circuit.
By contrast, when the power input signal is set low level, the Vgs of T1510 and T5516 is now 0 volts, which this turns off T1510 and T5516. Transistors T1510 and T5516 being off can be modeled as an open circuit.
With T1510 off, R2522 has no ability to conduct current and is not a part of the circuit. Resistor R520 connects 12V to the gate of T2512 and sets line 542 to 12V. With the gate of T2512 set to 12V through R522 and the source connected to 12V, the Vgs of T2512 is 0V (12−12=0) and T2 is turned off.
With T5516 off because the Power Input Signal is low, R8534 connects to the gate of T3514 and sets line 546 to 5V, which in turn sets the gate of T3514 to 12V. The source of T3514 is connected to resistor R8534 and R7532 and initially has no voltage when line 546 is set to 12V. The Vgs of transistor T3514 will briefly be close to 12V which will turn on transistor T3514 and allow the 5V voltage to be placed on the source, which will set Vgs of transistor T3514 to 7V (12V−5V=7V), which is sufficient to turn on T3514 so that 5V is output on to line 548.
In some embodiments, administrative module 200 comprises a plurality of power supply selector circuit modules 215, while in alternate embodiments the administrative module may comprise a single power supply selector circuit module 215 and signals from the compute nodes 120 may be multiplexed into the single circuit. In still other embodiments the power supply selector circuit module 215 may be located in the compute nodes 120.
In some embodiments the compute node 120 plays a more active load balancing role in determining the power output to which the compute node is to be elected.
Thus, described herein are numerous techniques to load balance power supplies in computing systems such as blade server systems. Embodiments described herein may be provided as computer program products, which may include a machine-readable or computer-readable medium having stored thereon instructions used to program a computer (or other electronic devices) to perform a process discussed herein. The machine-readable medium may include, but is not limited to, floppy diskettes, hard disk, optical disks, CD-ROMs, and magneto-optical disks, ROMs, RAMs, erasable programmable ROMs (EPROMs), electrically EPROMs (EEPROMs), magnetic or optical cards, flash memory, or other suitable types of media or computer-readable media suitable for storing electronic instructions and/or data. Moreover, data discussed herein may be stored in a single database, multiple databases, or otherwise in select forms (such as in a table).
Reference in the specification to “one embodiment” or “an embodiment” means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least an implementation. The appearances of the phrase “in one embodiment” in various places in the specification are not necessarily all referring to the same embodiment.
Thus, although embodiments have been described in language specific to structural features and/or methodological acts, it is to be understood that claimed subject matter may not be limited to the specific features or acts described. Rather, the specific features and acts are disclosed as sample forms of implementing the claimed subject matter.