FUNCTIONAL UNIT PROMOTION TO MANAGEMENT UNIT
A system comprises a plurality of functional units powered via a power source. The system further comprises a first functional unit and a second functional unit, wherein the second functional unit is to promote the first functional unit to a management unit based on a management requirement of the system. The management unit is to administrate operations of the system. Once the first functional unit is promoted, the management unit is isolated from the functional units that were not promoted via a virtual network path and a power management unit.
Computer systems, such as servers, may have the ability to be remotely managed. Remote management may include booting the computers, changing a configuration setting, etc. Additional management unit(s) (e.g., a chip) may be included to enable such remote management. The additional management unit may be a dedicated unit powered by an auxiliary power rail that is “live” (as long as alternating current (AC) power is available), and has a network connection.
The present application may be more fully appreciated in connection with the following detailed description taken in conjunction with the accompanying drawings, in which like reference characters refer to like parts throughout, and in which:
The following discussion is directed to promoting a functional unit to a management unit.
As stated above, a dedicated management unit may be included in a computer to facilitate remote management of the computer. However, this implementation of using a separately dedicated management unit may add to the complexity of remote management due to its limited capacity, relatively high cost, low flexibility and low scalability.
With increasing developments of complementary metal oxide semiconductor (CMOS) technologies, an architecture of a multi-core central processing unit (CPU) has been proposed to meet diverse requirements on power and performance. The multi-core CPU may include at least two or more independent processor cores. This fast pace of development in hardware (e.g., the architecture of the multi-core CPU) stimulates software to provide comparable functionalities and parallelism, and may increase a likelihood of managing complexity.
Example implementations described herein use a core of a multi-core CPU to function as a management unit rather than requiring the computer to have a dedicated management unit. The example implementations dynamically promote one or more processor cores, or functional units, to management units while generally introducing no additional power, network resources, and without the inclusion of an additional chip or component to be installed in the computer system as a dedicated management unit.
It is appreciated that certain terms are used throughout the following description and claims to refer to particular system components. As one skilled in the art will appreciate, computer companies may refer to a component by different names. This document does not intend to distinguish between components that differ in name but not function. In the following discussion and in the claims, the terms “including” and “comprising” are used in an open-ended fashion, and thus should be interpreted to mean “including, but not limited to . . . . ” Also, the term “couple” or “couples” is intended to mean either an indirect, direct, optical or wireless electrical connection. Thus, if a first device couples to a second device, that connection may be through a direct electrical connection, through an indirect electrical connection via other devices and connections, through an optical electrical connection, or through a wireless electrical connection.
The processing unit cluster 110 includes a plurality of functional units (e.g., functional units 102 and 104). In one example, the computer system 100 may be a computer including a plurality of core processors, or simply cores. For example, the processing unit cluster 110 is a multi-core central processing unit (CPU), and each functional unit (e.g., functional units 102 and 104) is a core of the multi-core CPU.
The functional units of the processing unit cluster 110 (e.g., functional units 102 and 104) may be identical to or different from one another. For example, a first functional unit (e.g., functional unit 102) may be faster than a second functional unit (e.g., functional unit 104). A faster core may operate at a higher clock frequency than a slower core. However, a faster core generally consumes more power than a slower core which computes slower but drains less power than the faster core. Each functional unit may be functioned to execute instructions to provide whatever functionality is required of the system. For example, the system 100 may be configured as a back-end data processing system and each functional unit of the processing unit cluster 110 may execute instructions to help perform whatever back-end data processing functions are required.
Still referring to
The example network adapter 108 connects the plurality of the functional units (e.g., functional units 102 and 104) in the processing unit cluster 110 to an external network (e.g., a local area network, wide area network, etc.).
Although there is one power adapter 106 shown in
As described above, the example computer system 100 of
The administration of the computer system 100 includes any or more of the following: monitoring or analyzing a status of a functional unit or programs hosted by the unit, configuring a functional unit such as turning power on and off, changing power status, configuring the functional units or programs hosted by the unit, performing temperature control, performing fan control of a functional unit, monitoring a status of inventory of a functional unit, monitoring a status of a voltage level of a functional unit, monitoring a status of memory usage of a functional unit, adjusting an inventory of a functional unit, and adjusting a voltage level of a functional unit
More specifically, in accordance with some implementations, more than one functional unit can be promoted to form a management topology according to the management requirements on, for example, the computing, storage, or communication resource demands of the computer system 100, or the fault zones. A physical or a virtual management topology may be formed for any suitable clusters of functional units or applications. The physical management topology may refer to a management topology that includes a dedicated physical resource (e.g., CPUs) to the management topology. On the other hand, the virtual management topology may refer to a management topology that includes a virtual resource (e.g., a virtual core over the physical CPUs) dedicated to the management topology. The management topology may refer to a layout of the promoted management units and the physical or virtual connections between them. As one example, the management topology may be used for data monitoring, data aggregation and deployment in the computer system 100. As noted above, more than one functional unit can be promoted concurrently as management units. For example, two different processing unit clusters may each have one or more functional units promoted to a management unit. The management unit(s) of different processing unit clusters may coordinate to share the data storage and access and management tasks internally or between the clusters.
To dynamically administrate the computer system 100, the promoting engine 103 may be implemented to dynamically promote a suitable functional unit in a suitable timing based on a configured management requirement. For example, if a management requirement requires that a large number of computationally intensive management tasks need to be processed, the promoting engine 103 may promote one of the cores in a multi-core processor to run monitoring daemons, or promote one or more cores with graphics processing unit (GPU) accelerators to process the computationally intensive management tasks. With respect to the suitable timing to promote, the promoting engine 103 may dynamically configure the management requirement, and, based on a new configured management requirement, promote one or more functional units to be management units. For example, still referring to
More particularly, the management requirement may include a utilization threshold of the functional unit 104 and/or the computer system 100 as a whole, quality of service (QoS) requirements, or other requirements that may be suitable for a particular application. For example, the computer system 100 may comprise eight functional units, and each of the functional units may process a particular task. Thus, a workload for each of the functional units may vary, which may result in a plurality of workload characteristics. The management requirement is based on workload characteristics, for instance, a lower utilization threshold defined for a heavier workload.
The virtual power supply path 105 and the virtual network supply path 107 may be established to isolate the promoted management unit(s) (e.g., management unit 104). Further, in one example, the virtual power supply path 105 and the virtual network supply path 107 may only be accessible for the promoted management units (e.g., management unit 104). The virtual power supply path 105 and the virtual network supply path 107 may be established through executing suitable software after a management requirement is configured. Details of the configuration will be described below.
After the functional unit 104 has been promoted to function as the management unit, the now-promoted management unit 104 becomes isolated, in terms of power, network communication and/or other resources, from other functional units (e.g., functional unit 102) which are not being promoted. The management unit 104 may isolate itself after being promoted or a system administrator may isolate the management unit 104 via executing a suitable instruction. For example, the management unit 104 may share the same power adapter 106 with other functional units (e.g., functional unit 102), but, as will be explained with reference to
Isolation of power, network and/or other resources may assure an independent out-of-band management of the computer system 100. For instance, if the power for the computer system 100 is in an off or lower power state or the computer system 100 has malfunctioned (e.g., crashed), the power isolation may be able to maintain the management unit 104 in an on state as long as AC power is provided to the system. Alternatively or additionally, the power isolation may independently reduce a power level of the management unit 104 while other functional units (e.g., functional unit 102) may remain in a full-power state to process a task. Similarly, the network isolation may provide the plurality of the promoted management units (e.g., management unit 104) a private and secure management network for communications, and the resource isolation may prevent other functional units (e.g., functional unit 102) not chosen as the management unit (e.g., management unit 104) from accessing, for example, memory and signals dedicated exclusively for use by the management unit (e.g., 104).
The functional unit 200 includes a processing unit 202 and a power management unit 204. The processing unit 202 is configured to process a computing task or perform a management function. For example, if the functional unit 200 is promoted to a management unit, the processing unit 202 is to perform a management function such as administrating the computer system 100. Example of administration tasks are provided above. On the other hand, if the functional unit 200 has not been promoted to function as a management unit, the processing unit 202 is to process any suitable, non-management unit computing tasks to be executed by the computer system 100.
More particularly, the processing unit 202 may include a plurality of metal oxide semiconductor field-effect transistors (MOSFETs). The power management unit 204 is configured to communicate with the power controller 208 in the power adapter 206, and to be controlled by the power controller 208 of the power adapter 206 to adjust a voltage level in a particular MOSFET of the processing unit 202. For example, the power controller 208 may control the individual power management unit 204 independently such that electrical power is selectively provided to, or cut off from, each of the elements (e.g., MOSFET) in the processing unit 202.
In some alternate implementations, not every one of the functional units (e.g., functional unit 200) in the computer system 100 may have an individual power management unit (e.g., power management unit 204). In terms of power, the functional units without the individual power management unit (e.g., functional unit 304 of
The non-transitory, computer-readable storage device 304 further includes a plurality of software modules that, when executed by processor 302, cause the promoting engine 103 to perform one or more of the functions described herein. The software modules may include a default promoting module 306, a dynamic promoting module 308, and a quarantining module 310. Any function attributed to a software module is understood to be performed by the processor 302 executing the software module.
The processor 302 of the promoting engine 103 executes the default promoting module 306 to promote a non-dedicated functional unit to a management unit in the computer system 100. After the promoting engine 103 promotes the non-dedicated functional unit, the processor 302 may subsequently execute the dynamic promoting module 308 and the quarantining module 310. Further, the non-dedicated management unit may be promoted based on a default management requirement or a management requirement provided by a management agent. As such, there may be more than one non-dedicated functional unit being promoted. The promoted non-dedicated management unit may dynamically configure a new management unit to dynamically promote other functional units to management units.
The non-dedicated functional units may or may not include a promoting engine 103 embedded thereon. If the non-dedicated functional unit does not include an embedded promoting engine 103, the management unit may dynamically configure a management requirement to promote a non-dedicated functional unit. Based on the management requirement, the management unit may dynamically promote other functional units to be management units. Referring to the non-dedicated functional units including an embedded promoting engine 103, in
Still referring to
More specifically, while the processor 302 executes the quarantining module 310, the promoting engine 103 may quarantine the promoted management unit from the non-promoted functional units in terms of power, network and/or computing/storage resources. For example, for the quarantining of power, even though an emergency shut-off or a crash has occurred to the computer system 100, the promoted management unit may stay on and operate normally while other non-promoted functional units have been enforced to shut off.
Subsequently, in block 404, based on the configuration, one or more functional units in the computer system 100 are promoted to management units via the virtual power path 105 and the virtual network path 107. The promoted management units administrate the computer system 100. The administration may include any one or more of the actions described above.
Despite not being shown in the method 400, the computer system 100 may promote a non-dedicated functional unit to be a management unit without the configuration of the management requirement by executing the default promoting module 306 of
The method 400 continues with block 406 in quarantining the promoted management units from the functional units not being promoted. Further, the quarantining includes power isolation, network isolation and resource isolation.
The above discussion is meant to be illustrative of the principles and various embodiments of the present invention. Numerous variations and modifications will become apparent to those skilled in the art once the above disclosure is fully appreciated. It is intended that the following claims be interpreted to embrace all such variations and modifications.
Claims
1. A computer implemented method, comprising:
- configuring a management requirement of a computer system during runtime operation of the computer system, the computing system comprising a plurality of functional units and powered via a power source, wherein each of the plurality of functional units are configured, at a first instance, to perform non-management computing tasks, and wherein the management requirement is based on one or more management tasks for administrating the computer system;
- promoting, in accordance with the management requirement configuration, one of the plurality of functional units to operate as a management unit to administrate the computer system, the promoting being based on the computational capabilities of each of the plurality of functional units;
- quarantining the management unit from the functional units not promoted as the management unit via a virtual network path and a power management unit; and
- administrating, at a second time instance after the first instance, by the management unit, the computer system, the administrating including at least one monitoring task for monitoring at least one of the plurality of functional units other than the functional unit promoted to operate as the management unit.
2. The method of claim 1, wherein the quarantining comprises at least one of:
- isolating power of the management unit from the functional units not promoted as the management unit;
- isolating a network of the management unit from the functional units not promoted as the management unit; and
- isolating a resource of the management unit from the functional units not promoted as the management unit.
3. The method of claim 1, wherein the administrating the computer system comprises at least one of monitoring or analyzing a status of a functional unit or programs hosted by the functional unit, configuring a functional unit such as turning power on and off, changing power status, configuring the plurality of functional units or programs hosted by the plurality of functional units, performing temperature control, performing fan control of a functional unit, monitoring a status of inventory of a functional unit, monitoring a status of a voltage level of a functional unit, monitoring status of memory usage of a functional unit, adjusting an inventory of a functional unit, and adjusting a voltage level of a functional unit
4. The method of claim 1, wherein the promoting of the one of the plurality of functional units to the management unit occurs dynamically during operation of the functional unit.
5. The method of claim 1, wherein the virtual network path is only accessible to the promoted functional unit.
6. The method of claim 1, wherein the promoting comprises promoting more than one of the plurality of functional units to management units.
7. The method of claim 1, wherein the promoting comprises promoting more than one of the plurality of functional units to management units thereby forming a management topology.
8. A system, comprising:
- a plurality of functional units powered via a power source, each of the plurality of functional units being configured, at a first instance, to perform non-management computing tasks;
- wherein, in accordance with a management requirement of the system configured during runtime of the system based on one or more management tasks for administrating the system, a first functional unit is promoted by a second functional unit to operate as a management unit to administrate the system, the promoting being based on the computational capabilities of each of the plurality of functional units,
- wherein, responsive to the first functional unit being promoted, the management unit is quarantined from the plurality of functional units not promoted to the management unit via a virtual network path and a power management unit, and
- wherein, at a second time instance after the first instance, the management unit administrates the system, the administrating including at least one monitoring task for monitoring at least one of the plurality of functional units other than the functional unit promoted to operate as the management unit.
9. The system of claim 8, wherein the virtual network path is only available for the promoted first functional unit in the system.
10. The system of claim 8, wherein more than one of the plurality of functional units are promoted to be management units to form a management topology, the management topology dynamically adapting to changes in the management requirement.
11. The system of claim 8, wherein the functional unit is a core of a multi-core central processing unit (CPU) and no functional unit is dedicated to be promoted.
12. The system of claim 8 wherein the second functional unit is to dynamically change which of the plurality of functional units is promoted to a management unit, dynamically promote an additional function unit to be a management unit, dynamically change a frequency of a central processing unit (CPU) of an existing management unit, dynamically change a management topology, or dynamically create a management topology among a plurality of functional units promoted to management units.
13. The system of claim 8, wherein the management unit is isolated from the plurality of functional units by power, network, and system resources.
14. A non-transitory, computer readable storage device containing executable instructions that, when executed by a processor, causes the processor to:
- configuring a management requirement of a computer system during runtime operation of the computer system, the computing system comprising a plurality of central processing unit (CPU) cores powered via a power source, the plurality of CPU cores including (i) a default CPU core to operate as a management core for administrating the system and (ii) the others of the plurality of CPU cores which are configured, at a first instance, to perform non-management computing tasks, and wherein the management requirement is based on one or more management tasks for administrating the computer system;
- dynamically change which of the CPU cores among the others of the plurality of CPU cores to promote to operate as management cores, the promoting being based on the computational capabilities of the others of the plurality of CPU cores;
- quarantine the management core from the CPU cores not being promoted, wherein the quarantining comprises isolating power, network and a resource of the computer system
- administrate, at a second time instance after the first instance, by the management cores, the computer system, the administrating including at least one monitoring task for monitoring at least one of the others of the plurality of CPU cores.
15. The non-transitory, computer readable storage device of claim 14 wherein software causes the processor to quarantine the management core via a virtual network path and a power management unit.
Type: Application
Filed: Mar 14, 2019
Publication Date: Jul 11, 2019
Inventors: Dejan S. Milojicic (Pal Alto, CA), Yuan Chen (Sunnyvale, CA), Daniel J. Gmach (Palo Alto, CA), Vanish Talwar (Campbell, CA), Zhikui Wang (Fremont, CA)
Application Number: 16/354,127