Novel features believed characteristic of the present disclosure are set forth in the appended claims. The disclosure itself, however, as well as a preferred mode of use, various objectives and advantages thereof, will best be understood by reference to the following detailed description of an illustrative embodiment when read in conjunction with the accompanying drawings. The functionality of various circuits, devices, boards, cards, modules, blocks, and/or components described herein may be implemented as hardware (including discrete components, integrated circuits and systems-on-a-chip ‘SOC’), firmware (including application specific integrated circuits and programmable chips) and/or software or a combination thereof, depending on the application requirements. Similarly, the functionality of various mechanical elements, members, and/or components for forming modules, sub-assemblies and assemblies assembled in accordance with a structure for an apparatus may be implemented using various materials and coupling techniques, depending on the application requirements.
As described earlier, traditional power allocation tools and techniques may often reserve power for a preset or fixed set of shared cards, regardless of whether they are being actually included in a server. Utilizing a power policy that is based on a preset or fixed set of shared cards often results in over-provisioning of power for the fixed set of shared cards, which may potentially limit a blade server or other component from receiving power when hot plugged. That is, many preset power allocation schemes may not assure server components such as a blade server that they would receive power when hot plugged. Thus, many traditional power allocation tools and techniques may degrade user experience. Therefore, a need exists for a method and system for a flexible and user configurable power policy to allocate available power. According to one embodiment, in a method and system for distributing available power between a plurality of cards hot pluggable into chassis slots, a power policy, which defines rules and conditions for assuredly distributing the available power to selected ones of the plurality of cards, is configured. The selected ones, each of which is assured to receive power when hot plugged, are selectable to include any card of the plurality of cards. When any one of the plurality of cards is hot plugged into one of the slots, the power policy is triggered to assuredly distribute the available power to the selected ones that are hot plugged, or activate an alarm if the any one card that is hot plugged is excluded from the selected ones. The power policy is modifiable in response to a change in the rules and conditions.
For purposes of this disclosure, an IHS may include any instrumentality or aggregate of instrumentalities operable to compute, classify, process, transmit, receive, retrieve, originate, switch, store, display, manifest, detect, record, reproduce, handle, or utilize any form of information, intelligence, or data for business, scientific, control, entertainment, or other purposes. For example, the IHS may be a personal computer, including notebook computers, personal digital assistants, cellular phones, gaming consoles, a server, a network storage device, or any other suitable device and may vary in size, shape, performance, functionality, and price. The IHS may include random access memory (RAM), one or more processing resources such as central processing unit (CPU) or hardware or software control logic, read only memory (ROM), and/or other types of nonvolatile memory. Additional components of the IHS may include one or more disk drives, one or more network ports for communicating with external devices as well as various I/O devices, such as a keyboard, a mouse, and a video display. The IHS may also include one or more buses operable to receive/transmit communications between the various hardware components.
In an exemplary, non-depicted embodiment, a chassis or a rack houses the main electronic components of the computer system, including a motherboard (also referred to as a planar module), power supply, cooling system, and optional cards, such as interface boards that provide audio, video and/or networking capabilities. It should be understood that other buses and intermediate circuits can be deployed between the components described above and processor 110 to facilitate interconnection between the components and the processor 110.
The IHS 100 may also include a non-volatile ROM 122 memory, an I/O controller 140 for controlling various other I/O devices. For example, the I/O controller 140 may include a serial and/or parallel I/O bus controller. It should be understood that the term “information handling system” is intended to encompass any device having a processor that executes instructions from a memory medium.
The IHS 100 is shown to include the mass storage device 130 connected to the processor 110, although some embodiments may not include the mass storage device 130. In a particular embodiment, the IHS 100 may include additional hard disks. The bus 150 may include data, address and control lines. In an exemplary, non-depicted embodiment, not all devices shown may be directly coupled to the bus 150. In one embodiment, the IHS 100 may include multiple instances of the bus 150. The multiple instances of the bus 150 may be in compliance with one or more proprietary standards and/or one or more industry standards such as peripheral component interconnect (PCI), PCI express (PCIe), industry standard architecture (ISA), universal serial bus (USB), system management bus (SMBus), and similar others. A communication device 142, such as a network interface card and/or a radio device, may be connected to the bus 150 to enable wired and/or wireless information exchange between the IHS 100 and other devices (not shown).
The processor 110 is operable to execute the instructions and/or operations of the IHS 100. The memory medium, e.g., RAM 120, preferably stores instructions (also known as a “software program”) for implementing various embodiments of a method in accordance with the present disclosure. An operating system (OS) of the IHS 100 is a type of software program that controls execution of other software programs, referred to as application software programs. In various embodiments the instructions and/or software programs may be implemented in various ways, including procedure-based techniques, component-based techniques, and/or object-oriented techniques, among others. Specific examples include assembler, C, XML, C++ objects, Java and Microsoft's .NET technology.
In an embodiment, the shared cards 230, and the power supplies 250 are shared components that are shared by the blade servers 210 for performing common functions such as I/O. In a particular embodiment, the shared components include the power supplies 250, cooling fans 272, I/O modules 276 (including I/O fabric cards), a chassis controller 280, and a keyboard, video, mouse (KVM) switch module 274. The shared components of the server system 200 advantageously reduce rack space, and reduce the number of power supplies, fans, rails, and cables required when compared to a traditional server. The shared components are accessible from the rear of the server chassis 270, as shown in
When triggered, the power policy 330 performs power allocation within the server system 200. The power policy 330 may be automatically activated at initial power on condition of the chassis controller 280. The power policy 330 may be re-evaluated, e.g., by evaluating power demand and supply, on a continuous basis or in response to an event such as hot plugging of a card, which generates the trigger. When the card is hot plugged in a slot, card identification circuits are powered, and the hot plugged card is automatically identified by the chassis controller 280. The power policy 330 decides whether to provide budgeted or requested power or not provide the budgeted or requested power to the hot plugged card. The decision is performed in real-time by the chassis controller 280. The power policy 330, which is used to arrive at the decision, is customizable for each server system during the configuration process.
In an embodiment, the chassis controller 280 interacts with a user 350 via an operator interface 340. The operator interface 340, which may be similar to the display device 108 described with reference to
During the configuration process, the selected ones of the plurality of cards are selectable to include any card or cards of the plurality of cards, provided the total power consumed by the selected ones does not exceed the available power. Any one of the selected ones of the plurality of cards is assured to receive the power when hot plugged into one of the slots by reserving power for the selected ones. Spare power that may be available to other cards is calculated by subtracting power reserved for the selected ones from the available power from the power supplies 250.
As described earlier, when the hot plugged card is identified by the chassis controller 280, the power policy 330 is used to determine whether the hot plugged card matches one of the selected ones. If there is a match, the chassis controller 280 enables the hot plugged card to power on, and receive the budgeted power. If there is no match, the power policy 330 may be configured to take alternative action, e.g., generate alarm, determine spare power, and similar others.
In an embodiment, the chassis controller 280 includes an alarm module 360 to generate an alarm if there is no match. That is, the chassis controller 280 detects a presence of another card that has not been configured as one of the selected ones, and hence may not be assured to receive the power. In response to detecting that the another card is excluded from the selected ones, the power policy 330 may include rules and conditions that perform one of the following actions: 1) alarm but not enable the another card to power on, 2) alarm and enable power on if spare power is available, and 3) alarm and auto launch the GUI for the user 350 to authorize the provision of the power to the another card. The power policy 330 thus advantageously safeguards the server system 200 from over-provisioning the available power, while assuredly providing power to the selected ones.
The user 350 may further customize the configuration by selecting one of several expected cards that may be inserted in the slots. For example, e.g., I/O slot B1374, the user 350 may define 6 different card types that may be expected in that slot, select one I/O card for the slot 374, and reserve power for the selected ones of the plurality of cards to assure that power is available when hot plugged. If an unexpected card is hot plugged into a slot, then an alarm may be generated to notify the user 350.
The power policy 330 may be modified by re-defining properties of the slots or the cards via the display 370. The modification may include de-selecting a card that was previously included in the selected ones or selecting another card to be included in the selected ones, the another card being previously excluded from the selected ones. The power policy 330 may be modified as new technology becomes available. If a lower power I/O card is available, the power policy 330 may be modified to enable hot plugging of the lower power I/O card. In an embodiment, the power policy 330 may include rules and conditions that define a maximum amount of power consumed by each one of the slots, or define a maximum current allowable per card.
Various steps described above may be added, omitted, combined, altered, or performed in different orders. For example, step 430 may include additional steps 4301, 4303, 4305, 4307 and 4309 illustrated in
Several advantages are achieved by the method and system according to the illustrative embodiments presented herein. The embodiments advantageously provide an improved power policy or power allocation tools and techniques that are capable of reserving power for user selected ones of the hot pluggable cards. The rules and conditions for selecting the user selected ones of the hot pluggable cards may be advantageously configured, as well as modified, by the user. The improved power policy is thus advantageously customizable by the user to match desired server performance and availability. The user experience is improved by being assured that all user defined hot pluggable cards receive power when hot plugged. In addition, the user experience is also improved by being notified of an alarm condition, which may be generated if another card that is not one of the selected ones is hot plugged.
Although illustrative embodiments have been shown and described, a wide range of modification, change and substitution is contemplated in the foregoing disclosure and in some instances, some features of the embodiments may be employed without a corresponding use of other features. Accordingly, it is appropriate that the appended claims be construed broadly and in a manner consistent with the scope of the embodiments disclosed herein.