Networked computing systems generally include host computing devices configured to provide resources such as storage, applications, databases, and the like. The host computing device may be a server such as a database server, file server, mail server, print server, web server, or some other type of server configured to provide services to client devices within a network.
A blade server is a server computer having a modular design optimized to minimize the use of physical space. Whereas a standard rack mount server can function with a power cord and network cable, a blade server has many components removed for the purpose of saving space, minimizing power consumption and other considerations, while still having all the functional components to be considered a computer. A multi-slot chassis can hold multiple blade server cartridges and provide shared resources such as power, cooling, networking, various interconnects, and management. In some complex scalable server environments, full centralized management may be difficult. Some blade servers include a full management processor at each server configured to manage the server. However, including a full management processor at each server increases space and cost per server.
Certain examples are described in the following detailed description and in reference to the drawings, in which:
The present techniques relate to a microcontroller at each cartridge in a multi-slot cartridge environment. The microcontroller may serve as a proxy to a management controller at each server by monitoring the computing components of the cartridge and providing monitoring data to a remote management controller to process the data and provide responses to the data.
The computing components 104 may include various components such as a processor 114 and a storage device 116, comprising a non-transitory computer-readable medium. The storage device 114 may also include an operating system 118. The operating system 118 may be executed by a processor of a host computing system such as the processor 114 of the computing components 104. In some embodiments, the storage device 116 has instructions stored thereon that, when executed by the processor 114, cause the computing components 104 to perform operations. In some embodiments, the operations include responding to requests from one of the client devices 110. The processor 114 may be a main processor that is adapted to execute stored instructions. The computing components 104 may also include a memory device 120 that, in some embodiments, stores instructions that are executable by the processor 114. The processor 114 can be a single core processor, a multi-core processor, a computing cluster, or any number of other configurations. The processor 114 may be implemented as Complex Instruction Set Computer (CISC) or Reduced instruction Set Computer (RISC) processors, x86 Instruction set compatible processors, multi-core or any other microprocessor or central processing unit (CPU).
The memory device 120 can include random access memory (e.g., SRAM, DRAM, zero capacitor RAM, SONOS, eDRAM, EDO RAM, DDR RAM, RRAM, PRAM, etc.), read only memory (e.g., Mask ROM, PROM, EPROM, EEPROM, etc.), flash memory, or any other suitable memory systems. The main processor 114 may be connected through a system bus 122 (e.g., PCI, ISA, PCI-Express, HyperTransport®, NuBus, etc.) to the other computing components 104. The system bus 122 may communicatively couple the microcontroller 106 to the computing components 104.
The microcontroller 106 monitors the computing components 104 and provides data related to the computing components 104 to the management controller 108, as explained in more detail below. The controller 106 at least partially includes hardware logic. Hardware logic at least partially includes hardware, and may also include software, or firmware. Hardware logic may include electronic hardware including interconnected electronic components that perform analog or logic operations on received and locally stored information to produce an output or store resulting new information or to provide control for output actuator mechanisms. Electronic hardware may include individual chips/circuits and distributed information processing systems.
The system 100 also includes a rack manager module 124. The rack manager module 124 may include a display (not shown) having a graphical administrative interface. The rack manager module 124 may be networked with the cartridge 102 to enable a system administrator to remotely interface with the cartridge 102 via the management controller 108.
The block diagram of
As illustrated in
In response to receiving the instructions from the storage device 304, the firmware 310 may configure the microcontroller 106 based on the instructions. For example, the microcontroller may include pins configured to communicatively monitor the computing components 104. The instructions may define the computing components 104 that are monitored by each pin or number of pins. The instructions may be provided to the management controller 108. Thus, the management controller 108 may receive data defining the configuration of the microcontroller 106 and receive data defining the configuration of the computing components 104 of the cartridge 102.
The microcontroller 106 monitors the computing components 104, As the operation of one the computing components 104 change, a state of a pin at the microcontroller 106 may change. The change may be provided in the form of a data signal to the management controller 108. The management controller 108 may, in response to the data signal, provide operational instructions to the microcontroller 106 that may then modify the operation of the computing components 104. The instructions provided by the management controller 108 may modify operations of resources that are shared by the cartridge 102 as one of a plurality of cartridges in the rack 302. For example, the rack may share cooling resources such as a fan, or power resources such as a power supply,
As another example of the operation of the microcontroller 106, one of the computing components 104 may be a power button (not shown) configured to enable power to be provided to the cartridge 102. The power button may be communicatively coupled to a pin on the microcontroller 104. When the power button is toggled to an “on” state, the pin on the microcontroller 104 may change state. This change of state may be provided by the microcontroller 106 to the management controller 108. The management controller 108 may recognize the pin as being coupled to the power button by referencing the instructions provided from the storage device 304. In response to the change of state of the pin, the management controller 108 may send instructions to the microcontroller to assert an output pin that may provide power to the computing components 104 of the cartridge 102.
Rather than analyzing the data signal at the microcontroller 106, the analysis is carried out at the management controller 108, thereby enabling the microcontroller 106 to be relatively smaller in size to a controller that may carry out the analysis at the cartridge 102. The microcontroller 106 may provide monitored data to the management controller 108 in an unanalyzed format. Further, the microcontroller 106 may be configured differently than a microcontroller at another cartridge of the plurality of cartridges shown in
As discussed above in reference to
As discussed above in reference to
The method 400 may also include receiving, at the management controller, data defining the configuration of the microcontroller, and data defining the configuration of the computing components. Therefore, when data is received that is associated with the operation of the computing components, the management controller may refer to the configuration data to identify the components and to identify the monitored data of the components. The management controller may provide instructions in response to data received at the microcontroller and provided to the management controller, Thus, the method 400 may include analyzing, via the management controller, the data received indicating the operations of the computing components. The method 400 may also include providing instructions to the microcontroller to modify operations of the computing components of the cartridge. In some embodiments, the method 400 may include providing instructions to modify operations of resources, such as cooling mechanisms and power supply mechanisms, that are shared by the cartridge as one of a plurality of cartridges in a rack.
The microcontroller is configured based on the configuration of the computing components of the cartridge. In some embodiments, the method 400 includes configuration of the microcontroller without any change in a firmware of the microcontroller. Because the microcontroller does not perform operations including analysis of the data received by monitoring the computing components, the microcontroller firmware may be common between all of the cartridges in a rack of a rack server system.
The terms, descriptions and figures used herein are set from by way of illustration only and are not meant as limitations. Those skilled in the art will recognize that many variations are possible within the scope of the invention, which is intended to be defined by the following claims—and there equivalents—in which all terms are meant in their broadest reasonable sense unless otherwise indicated.
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/US2013/035172 | 4/3/2013 | WO | 00 |