Methods, devices and medium for power management

WO2025097344A8PCT designated stage expired Publication Date: 2025-07-10TELEFONAKTIEBOLAGET LM ERICSSON (PUBL) +1
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2023/130544
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-11-08
Publication Date
2025-07-10

AI Technical Summary

Technical Problem

Existing power management systems in electronic apparatuses struggle to generate appropriate power management policies due to a lack of overview of application status across multiple servers, leading to inefficient power usage.

Method used

A method for power management that determines an evaluation factor based on the load status of a processor, allowing for adjustments in sleep states and isolation of processing units to optimize power usage, and dynamically decides whether to enter a turbo state or release isolated processing units based on application load and status.

Benefits of technology

This approach leads to improved power management performance, reduced power consumption, and a more reasonable and elastic power saving policy that adapts to changing application loads.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2023130544_10072025_PF_FP_ABST
    Figure CN2023130544_10072025_PF_FP_ABST
Patent Text Reader

Abstract

Embodiments of the present disclosure relate to methods, devices and computer readable storage medium for power management. In a method, an evaluation factor for evaluating a load status of a processor is determined. A sleep state is allowed for the processor and the processor comprises a plurality of processing units. Furthermore, an isolation status of the processing units of the processor is adjusted based on the evaluation factor.
Need to check novelty before this filing date? Find Prior Art

Description

METHODS, DEVICES AND MEDIUM FOR POWER MANAGEMENTFIELD

[0001] Various embodiments of the present disclosure generally relate to the field of computer technology and in particular, to methods, devices and computer readable storage medium for power management.BACKGROUND

[0002] This section introduces aspects that may facilitate a better understanding of the disclosure. Accordingly, the statements of this section are to be read in this light and are not to be understood as admissions about what is in the prior art or what is not in the prior art.

[0003] A power management system of an electronic apparatus is essential for ensuring the safe, efficient, and compliant operation of the electronic apparatus. Due to the rapid development of computer technology, the electronic apparatus is capable of supporting diverse functions and applications at the same time, which may place great demand on the power management system. Therefore, the functionality of the power management system is generally expected to be further improved.

[0004] For example, to manipulate a sleep state or a frequency state of a processor, for example, a Central Processing Unit (CPU) , an engine is generally required to generate the power management policy, which is normally the governor provided in the Operating System (OS) kernel module. The engine running locally on a server doesn’t have the overview of the status of an application which runs across several servers. Therefore, the power management policy generated by the local engine might not be proper for the application.

[0005] Advanced Configuration and Power Interface (ACPI) Specification Version 6.4 (Jan, 2021) defines power states of system processors. The power states are designated C0, C1, C2, C3, …Cn, where n is an integer. The C0 power state is an active power state where the processor executes instructions. The C1 through Cn power states are processor sleeping states where the processor consumes less power and dissipates less heat than leaving the processor in the C0 state.SUMMARY

[0006] 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 i s it intended to be used to limit the scope of the claimed subject matter.

[0007] One of the objects of the disclosure is to provide a light weight and elastic solution for power saving implemented by an optimized power management policy management system with multiple dimensional data. In particular, one of the problems to be solved by the disclosure is a power management policy generated by a local engine might not be proper for an application.

[0008] In a first aspect of the disclosure, there is provided a method for power management. In the method, an evaluation factor for evaluating a load status of a processor is determined. A sleep state is allowed for the processor and the processor comprises a plurality of processing units. Moreover, an isolation status of the processing units of the processor is adjusted based on the evaluation factor.

[0009] In some embodiments, the evaluation factor is determined by determining whether a voltage-frequency control state is turned on for the processor. In accordance with a determination that the voltage-frequency control state is turned on, the evaluation factor is determined based on a frequency of the processor. In accordance with a determination that the voltage-frequency control state is turned off, the evaluation factor is determined based on a usage of the processor.

[0010] In some example embodiments, the frequency of the processor comprises an average frequency of non-isolated processing units of the processor.

[0011] In some example embodiments, the usage of the processor is determined based on usage of non-isolated processing units of the processor.

[0012] In some example embodiments, the isolation status of the processing units of the processor is adjusted by isolating a first number of processing units of the processor, wherein the first threshold is less than the second threshold if the evaluation factor is larger than a first threshold and less than a second threshold for a first time period. Additionally, the isolation status of the processing units of the processor is adjusted by releasing all isolated processing units of the processor if the evaluation factor is less than  a third threshold for a second time period. The third threshold is less than the first threshold and the second threshold.

[0013] In some example embodiments, the evaluation factor is a usage of the processor. In addition, the first number is determined based on a percentage of non-isolated cores, a usage of the processor, and a total number of CPU cores of a server.

[0014] In some example embodiments, the evaluation factor is a frequency of the processor. In addition, the first number is determined based on a percentage of non-isolated cores, a usage of the processor, a total number of CPU cores of a server, an average frequency of non-isolated processing units of the processor, and a base frequency of the processor.

[0015] In a second aspect of the disclosure, there is provided a method for power management. In the method, whether at least one isolated processing unit of a processor needs to be released is determined based on at least one of: an overload status of an application service associated with the processor, or a load status of the processor. In accordance with a determination that at least one isolated processing unit needs to be released, a predetermined number of isolated processing units of the processor are released.

[0016] In some example embodiments, whether at least one isolated processing unit of a processor needs to be released is determined by determining that at least one isolated processing unit of a processor needs to be released in response to receiving an overload indication of the application service indicating the overload status of the application service is overloaded. Alternatively, whether at least one isolated processing unit of a processor needs to be released is determined by determining that at least one isolated processing unit needs to be released if an evaluation factor for evaluating the load status of the processor is larger than a fourth threshold for a third time period.

[0017] In some example embodiments, the releasing of the isolated processing units is stopped in accordance with a determination that an evaluation factor for evaluating the load status of the processor is less than a stopping threshold.

[0018] In some example embodiments, according to the method, whether a voltage-frequency control state is turned on for the processor is determined. If the voltage-frequency control state is turned on, the evaluation factor is determined based on a  frequency of the processor. Otherwise, the evaluation factor is determined based on a usage of the processor.

[0019] In some example embodiments, the frequency of the processor comprises an average frequency of non-isolated processing units of the processor.

[0020] In some example embodiments, the usage of the processor is determined based on usage of non-isolated processing units of the processor.

[0021] In a third aspect of the disclosure, there is provided a method for power management. In the method, whether a processor is to enter a turbo state is determined based on at least one of: an overload status of an application service associated with the processor, or a load status of the processor. In accordance with a determination that the processor is to enter the turbo state, at least a part of processing units of the processor is caused to enter the turbo state.

[0022] In some example embodiments, whether a processor is to enter a turbo state is determined by determining that the processor is to enter the turbo state in response to receiving an overload indication of the application service indicating the overload status of the application service is overloaded.

[0023] In some example embodiments, whether a processor is to enter a turbo state is determined by determining that the processor is to enter the turbo state if an evaluation factor for evaluating the load status of the processor is larger than a fifth threshold for a fourth time period.

[0024] In some example embodiments, whether at least one processing unit of the processor is pinned for the application service is determined. If at least one processing unit of the processor is pinned for the application service, the at least one pinned processing unit of the processing units of the processor is caused to enter the turbo state. Otherwise, all of the processing units of the processor are caused to enter the turbo state.

[0025] In some example embodiments, the at least one pinned processing unit to enter the turbo state is cause by turning on turbo for each of the at least one pinned processing unit.

[0026] In a fourth aspect of the disclosure, there is provided a method for power management. In the method, whether there is an application service associated with a processor is unprocessed is determined. At least a part of processing units of the processor  is in a turbo state. The at least a part of processing units of the processor is caused to exit the turbo state based on the determining.

[0027] In some example embodiments, in accordance with a determination that there is an application service associated with the processor is unprocessed, whether at least one processing unit of the processor is pinned for the application service is determined based on at least one of: an overload status of the application service, or a load status of processor units used by the application service. If at least one processing unit of the processor is pinned for the application service, the at least one pinned processing unit is caused to exit the turbo state.

[0028] In some example embodiments, whether at least one processing unit of the processor is pinned for the application service is determined in accordance with at least one of the following determinations: an overload status of the application service indicating that the application service is no longer overloaded, or an evaluation factor for evaluating the load status of the processor is less than a sixth threshold for a fifth time period.

[0029] In some example embodiments, in accordance with a determination that there is no application service associated with the processor is unprocessed, whether an evaluation factor for evaluating the load status of the processor is less than a sixth threshold for a fifth time period is determined. If the evaluation factor is less than the sixth threshold for the fifth time period, all of the processing units of the processor are caused to exit the turbo state.

[0030] In some example embodiments, the evaluation factor is determined based on a usage of the processor.

[0031] In a fifth aspect of the present disclosure, there is provided an apparatus. The apparatus comprises a processor and a memory, the memory containing instructions executable by the processor whereby the apparatus is operative to perform a method according to the first, second, third, or fourth aspect.

[0032] In a sixth aspect of the disclosure, there is provided a computer-readable storage medium having instructions stored thereon, the instructions, which, when executed by at least one processor of a device, cause the device to perform the method according to the first, second, third, or fourth aspect.

[0033] In a nutshell, the proposed solutions can advantageously improve power management performance and thus reduce power consumption. This will be described in detail below.BRIEF DESCRIPTION OF THE DRAWINGS

[0034] Through the more detailed description of some embodiments of the present disclosure in the accompanying drawings, the above and other objects, features and advantages of the present disclosure will become more apparent, where the same reference generally refers to the same components in the embodiments of the present disclosure.

[0035] FIG. 1 illustrates an example environment in which example embodiments of the present disclosure can be implemented;

[0036] FIG. 2 is a schematic diagram illustrating an example of cloud native application (CNA) ;

[0037] FIG. 3 is a diagram illustrating processor’s power states;

[0038] FIG. 4 is a diagram illustrating a separation of central processing unit (CPU) cores in a server;

[0039] FIG. 5 is a schematic diagram illustrating an architecture for power management in accordance with some example embodiments of the present disclosure;

[0040] FIG. 6 illustrates a flowchart of a method for power management in accordance with some example embodiments of the present disclosure;

[0041] FIG. 7 illustrates a flowchart for core isolation in accordance with some example embodiments of the present disclosure;

[0042] FIG. 8 illustrates a flowchart of a method for power management in accordance with some example embodiments of the present disclosure;

[0043] FIG. 9 illustrates a flowchart for core release in accordance with some example embodiments of the present disclosure;

[0044] FIG. 10 is a schematic diagram illustrating an example use case of power management in accordance with some example embodiments of the present disclosure;

[0045] FIG. 11 illustrates a flowchart of a method for power management in accordance with some example embodiments of the present disclosure;

[0046] FIG. 12 illustrates a flowchart for activation of CPU turbo state in accordance with some example embodiments of the present disclosure;

[0047] FIG. 13 illustrates a flowchart of a method for power management in accordance with some example embodiments of the present disclosure;

[0048] FIG. 14 illustrates a flowchart for deactivation of CPU turbo state in accordance with some example embodiments of the present disclosure;

[0049] FIG. 15 is a schematic diagram illustrating a further example use case of power management in accordance with some example embodiments of the present disclosure;

[0050] FIG. 16 is a block diagram showing an apparatus suitable for use in practicing some embodiments of the disclosure;

[0051] FIG. 17 shows a block diagram showing an apparatus suitable for use in practicing some embodiments of the present disclosure;

[0052] FIG. 18 shows an example of a communication system in accordance with some embodiments;

[0053] FIG. 19 is a block diagram of a host in accordance with some embodiments of the present disclosure; and

[0054] FIG. 20 shows a communication diagram of a host communicating via a network node with a user equipment (UE) over a partially wireless connection in accordance with some embodiments.DETAILED DESCRIPTION

[0055] Some of the embodiments contemplated herein will now be described more fully with reference to the accompanying drawings. Other embodiments, however, are contained within the scope of the subject matter disclosed herein, the disclosed subject matter should not be construed as limited to only the embodiments set forth herein; rather, these embodiments are provided by way of example to convey the scope of the subject matter to those skilled in the art.

[0056] Generally, all terms used herein are to be interpreted according to their ordinary meaning in the relevant technical field, unless a different meaning is clearly given and / or is implied from the context in which it is used. All references to a / an / the element,  apparatus, component, means, step, etc. are to be interpreted openly as referring to at least one instance of the element, apparatus, component, means, step, etc., unless explicitly stated otherwise. The steps of any methods disclosed herein do not have to be performed in the exact order disclosed, unless a step is explicitly described as following or preceding another step and / or where it is implicit that a step must follow or precede another step. Any feature of any of the embodiments disclosed herein may be applied to any other embodiment, wherever appropriate. Likewise, any advantage of any of the embodiments may apply to any other embodiments, and vice versa. Other objectives, features and advantages of the enclosed embodiments will be apparent from the following description.

[0057] Reference throughout this specification to features, advantages, or similar language does not imply that all of the features and advantages that may be realized with the present disclosure should be or are in any single embodiment of the disclosure. Rather, language referring to the features and advantages is understood to mean that a specific feature, advantage, or characteristic described in connection with an embodiment is included in at least one embodiment of the present disclosure. Furthermore, the described features, advantages, and characteristics of the disclosure may be combined in any suitable manner in one or more embodiments. One skilled in the relevant art will recognize that the disclosure may be practiced without one or more of the specific features or advantages of a particular embodiment. In other instances, additional features and advantages may be recognized in certain embodiments that may not be present in all embodiments of the disclosure.

[0058] As used herein, the terms "first" , "second" and so forth refer to different elements. The singular forms "a" and "an" are intended to include the plural forms as well, unless the context clearly indicates otherwise. The terms "comprises" , "comprising" , "has" , "having" , "includes" and / or "including" as used herein, specify the presence of stated features, elements, and / or components and the like, but do not preclude the presence or addition of one or more other features, elements, components and / or combinations thereof. The term "based on" is to be read as "based at least in part on" . The term "one embodiment" and "an embodiment" are to be read as "at least one embodiment" . The term "another embodiment" is to be read as "at least one other embodiment" . Other definitions, explicit and implicit, may be included below.

[0059] FIG. 1 illustrates an example environment 100 in which example embodiments  of the present disclosure can be implemented. The example environment 100 generally involves a cloud native application (CNA) 120, a management system 110 and a central processing unit (CPU) 130.

[0060] The CPU 130 may comprise one or more CPU cores. In FIG. 1, eight CPU cores are shown. It should be understood the number of CPU cores comprised in the CPU 130 may be any other suitable value, such as 2, 4, 16 or the like. As shown in FIG. 1, eight CPU cores are utilized for supporting a pod. A part of each of the eight CPU cores is working at a C0 state, while a further part of each of the eight CPU cores is working at a C state different from the C0 state. This will be described in detail with regard to FIG. 3.

[0061] The management system 110 communicates with the CNA 120 and CPU 130 so as to perform power management. This will be described in detail below.

[0062] FIG. 2 is a schematic diagram 200 illustrating an example of cloud native application (CNA) . The CNA 120 may consist of a lot of micro service (μS) entities spreading across bare mental (BM) hosts / virtual machines (VMs) which are called nodes, in a container platform. Each μS contains a set of individual application logic instances performing the same task. As used herein, an individual application logic instance may be referred to as a pod, and denoted as “P” in FIG. 2. In FIG. 2, a CNA 120 with μS according to different compute hosts (bare mental host or VM) is shown.

[0063] Different μS instances or pods may have different CPU resource usage in each node, while all kinds of μS instances on a node consume the total CPU usage of the node. A node is either a BM server or VMs running on CPU cores. The CPU package from different vendors on the node may provide CPU power and performance management feature according to the open standard ACPI definition. FIG. 3 is a diagram 300 illustrating processor’s power states. C-State and P-State are defined as CPU sleep state and CPU performance state as the technologies aiming to reducing CPU power consumption.

[0064] C-State residencies may be collected from hardware and / or the operating system (OS) . For systems that collect OS C-State residencies, CPU C-states are core power states requested by the Operating System Directed Power Management (OSPM) infrastructure that define the degree to which the processor is "idle" . For systems that collect hardware C-State residencies, CPU C-States are obtained by reading the processor’s MSRs which count the actual time spent in each C-State.

[0065] C-States range from C0 to Cn, where n is an integer. C0 indicates an active state. All other C-states (C1-Cn) represent idle sleep states where the processor clock is inactive (cannot execute instructions) and different parts of the processor are powered down. As the C-States get deeper, the exit latency duration becomes longer (the time to transition to C0) and the power savings becomes greater.

[0066] Furthermore, CPU P-states represent voltage-frequency control states of a processor. In voltage-frequency control, the voltage and clocks that drive circuits are increased or decreased in response to a workload. The operating system requests specific P-states based on the current workload. The processor may accept or reject the request and set the P-state based on its own state.

[0067] In addition, CPU Turbo state allows the CPU core run over-rated frequency to give better performance / power ratio though the CPU power consumption is increased. The CPU Turbo state can be supported by various CPU vendors.

[0068] To manipulate the C-State and / or P-State of CPUs, an engine is required to generate the power management policy, which is normally the governor provided in the OS kernel module. The engine running locally on a server doesn’t have the overview of the status of an application which runs across several servers. Therefore, the power management policy generated by the local engine might not be proper for the application.

[0069] FIG. 4 is a diagram 400 illustrating a separation of CPU cores in a server. As shown in FIG. 4, the CPU cores of a server may be separated into two groups. One group of cores is reserved for operating system and node management software. The other group of cores is used to run applications. Deep power down state, e.g. C6 state, saves more power than the other Cx (x<6) states. However, the OS task scheduler schedules workload (u-service) on the application group of CPU cores by evenly (fairness policy) into CPU cores instead of aggressively hungry some CPU cores. This will prevent CPU cores going into deepest sleep state by constantly waking up CPU cores from sleep states.

[0070] Furthermore, the CPU performance management allows the CPU core run overrated frequency to give better performance with CPU power consumption increasing. The local agent (e.g. governor) enables turbo frequency globally and can make CPU cores use turbo frequency too earlier before the CPU usage for CNA micro service instance can still have room to go up (not overloaded) at the rated frequency.

[0071] Several solutions are proposed herein to at least address one or more of the above-mentioned problems.

[0072] FIG. 5 is a schematic diagram 500 illustrating an architecture for power management in accordance with some example embodiments of the present disclosure. The proposed architecture involves an external management system and node power management agents running on servers. As shown in FIG. 5, the Container-as-a-Service (CaaS) layer may comprise infrastructure monitoring, infrastructure cluster, and node power management agent.

[0073] The management system keeps monitoring the system. In some embodiments, the management system may monitor the infrastructure CPU usage information, such as C-state, CPU frequency, and / or the like. Additionally or alternatively, the management system may collect the μS CPU usage status for a CNA, and one or more key performance indicators (KPIs) specific to CNA application. The management system may provide CNA Life Cycle Management (LCM) for an application. Based on the collected metric, the management system may update the power management setting for CPU cores for servers by applying the following power management policies.

[0074] 1) Depending on the application support of non-zero C-state (e.g., C6 state) , during deploying the CNA application, CNA may be deployed on the node with non-zero C-state enabled.

[0075] 2) During low load till medium load of per node –according to the requested CPU for all micro-service instance in a node, isolate a specific percentage of the un-requested CPU cores, for example by occupying some CPU cores with idle worker load, to enable the isolated CPU cores to go into deep sleep state .

[0076] 3) When a μService instance is running at high load and close to overload, the turbo mode for the CPU may be turned on to avoid scaling up the system.

[0077] 4) When CNA metric indicates an overload is reached for a micro-service instance in a node, adjust the power saving policy for example, enable turbo or free some isolated CPU cores to be used by the micro-service.

[0078] The node power management agents are responsible for the deployment of power management policy, including but not limited to, adjusting C-State and P-State, isolating CPU cores and so on.

[0079] In the proposed solutions, the power management is implemented by considering multiple dimensional data, such as, CNA metric for overload, CNA support of the usage of C-state and turbo state, infrastructure CPU usage, CNA μS CPU usage metric and / or the like.

[0080] The proposed solutions do not require a scale-in / scale-out server, thus it’s a lightweight and elastic solution which has less impact on traffic and topology. In addition, the management system considers both server load, application KPIs and application specific requirements, and thus the power management policy is more reasonable, such as smartly isolating a few cores not schedulable to be able to go into deepest sleep state. Moreover, power management policy setting is homogenous instead of relying on vendor specific local engine to apply variant policies. Last but not least, no worker reboot is required to apply the setting when policy is changed.

[0081] To sum up, the proposed solutions can advantageously improve power management performance and thus reduce power consumption. The proposed solutions will be described in detail with reference to FIGS. 6-15.

[0082] FIG. 6 illustrates a flowchart of a method 600 for power management in accordance with some example embodiments of the present disclosure. The method 600 may be implemented by the management system 110 as shown in FIG. 1 or any other suitable device. For the purpose of discussion, the method 600 will be described from the perspective of the management system 110.

[0083] As shown in FIG. 6, at block 602, the management system 110 determines an evaluation factor for evaluating a load status of a processor. A sleep state is allowed for the processor and the processor comprises a plurality of processing units. By way of example, the processor may be a CPU or the like. In addition, a processing unit may be a CPU core or the like.

[0084] In some embodiments, whether a voltage-frequency control state is turned on for the processor may be determined. In accordance with a determination that the voltage-frequency control state is turned on, the evaluation factor may be determined based on a frequency of the processor. In one example, the frequency of the processor may comprise an average frequency of non-isolated processing units of the processor. In another example, the frequency of the processor may comprise a frequency of a non-isolated processing unit of the processor. In a further example, the frequency of the processor may  comprise the maximum frequency of non-isolated processing units of the processor. In a still further example, the frequency of the processor may comprise the minimum frequency of non-isolated processing units of the processor. It should be understood that the above examples are described merely for purpose of description. The scope of the present disclosure is not limited in this respect.

[0085] In accordance with a determination that the voltage-frequency control state is turned off, the evaluation factor may be determined based on a usage of the processor. By way of example rather than limitation, the usage of the processor may be determined based on usage of non-isolated processing units of the processor.

[0086] At block 604, the management system 110 adjusts an isolation status of the processing units of the processor based on the evaluation factor. In some embodiments, in accordance with a determination that the evaluation factor is larger than a first threshold and less than a second threshold for a first time period, a first number of processing units of the processor are isolated. The first threshold is less than the second threshold. In accordance with a determination that the evaluation factor is less than a third threshold for a second time period, all isolated processing units of the processor may be released. The third threshold is less than the first threshold and the second threshold. In some embodiments, the first time period may be a wait time for core isolation start.

[0087] In case that the evaluation factor is determined based on a frequency of a processor, the first threshold may be CPU frequency high threshold of isolated core start, the second threshold may be a CPU frequency high threshold of isolated core release, and the third threshold may be a CPU frequency low threshold of isolated core start. In addition, the first number may be determined based on a percentage of non-isolated cores, a usage of the processor, a total number of CPU cores of a server, an average frequency of non-isolated processing units of the processor, and a base frequency of the processor. By way of example rather than limitation, the first number may be determined as a percentage of non-isolated cores * (1-usage of the processor * (average frequency of non-isolated processing units of the processor  / base frequency of the processor) ) *total number of CPU cores of a server.

[0088] Alternatively, in case that the evaluation factor is determined based on a usage of the processor, the first threshold may be a CPU usage high threshold of core isolation start, the second threshold may be a CPU usage low threshold of isolated core release, and  the third threshold may be a CPU usage low threshold of core isolation start. In addition, the first number may be determined based on a percentage of non-isolated cores, a usage of the processor, and a total number of CPU cores of a server. By way of example rather than limitation, the first number may be determined as a percentage of non-isolated cores* (1-usage of the processor) *total number of CPU cores of a server.

[0089] In view of the above, the proposed method 600 can advantageously enable a more reasonable isolation of the processing units (e.g., CPU cores) . Thereby, the power management performance can be improved, and the power consumption can be reduced.

[0090] The solutions presented in FIG. 6 will be described in more details below with reference to FIG. 7, which illustrates a flowchart 700 for core isolation in accordance with some example embodiments of the present disclosure.

[0091] As shown in FIG. 7, at block 710, the process starts. At block 712, it is determined whether non-C0 state (such as, sleep state, deep sleep state, or the like) is allowed for CNA. If not, the process is stopped at block 732. If the non-C0 state is allowed for CNA, the process proceeds to block 714, where information regarding whether P-state is turned on is determined. If so, the process proceeds to block 716. At block 716, it is determined whether average CPU core frequency for non-isolated cores is larger than P3 (not extremely idle) but smaller than P9 (not very busy) for P5 time. For example, P3 may represent a CPU frequency high threshold of isolated core start (such as 1400Mhz or the like) . P9 may represent a CPU frequency low threshold of isolated core release (such as 1700Mhz or the like) . P5 may represent a wait time for core isolation start (such as 20s or the like) .

[0092] If the average CPU core frequency of non-isolated cores is greater than P3 but smaller than P9, and it lasts more than P5 time, the process proceeds to block 726, where some CPU cores from the server are isolated. By way of example rather than limitation, the number of CPU cores to be isolated may be calculated as P13 * (1-current CPU usage* (current average CPU frequency / CPU base frequency) ) *total number of CPU cores of the server, where P13 may represent a percentage of idle cores to be isolated (such as 70%or the like) .

[0093] If the condition at block 716 is not satisfied, the process proceeds to block 722. At block 722, it is determined that whether an average CPU core frequency for non-isolated cores is smaller than P4 (extremely idle) for P5 time. For example, P4 may  represent a CPU frequency low threshold of isolated core start (such as 1100Mhz) . If the average CPU core frequency for non-isolated cores is smaller than P4 for P5 time, the process proceeds to block 724, where core isolation is stopped. For example, all isolated cores may be released. If the condition at block 722 is not satisfied, the proceed is stopped at block 732.

[0094] If it is determined that P-state is not turned on at block 714, the process proceeds to block 718. At block 718, it is determined whether CPU usage for non-isolated cores is larger than P1 (not extremely idle) but smaller than P7 (not very busy) for P5 time. For example, P1 may represent a CPU usage high threshold of core isolation start, such as 8%or the like. P7 may represent a CPU usage low threshold of isolated core release, such as 50%or the like. If the CPU usage of non-isolated cores is greater than P1 but smaller than P7, and it lasts more than P5 time, the process proceeds to block 726, where some CPU cores from the server are isolated. By way of example rather than limitation, the number of CPU cores to be isolated may be calculated as P13 * (1-current CPU usage) *total number of CPU cores of the server.

[0095] If the condition at block 718 is not satisfied, the process proceed to block 720. At block 720, it is determined whether CPU usage for non-isolated cores is smaller than P2 (extremely idle) for P5 time. For example, P2 may represent a CPU usage low threshold of core isolation start, such as 5%or the like. If CPU usage for non-isolated cores is smaller than P2 (extremely idle) for P5 time, the process proceeds to block 730, where core isolation is stopped. For example, all isolated cores may be released. If the condition at block 720 is not satisfied, the proceed is stopped at block 732.

[0096] FIG. 8 illustrates a flowchart of a method 800 for power management in accordance with some example embodiments of the present disclosure. The method 800 may be implemented by the management system 110 as shown in FIG. 1 or any other suitable device. For the purpose of discussion, the method 800 will be described from the perspective of the management system 110.

[0097] As shown in FIG. 8, at block 802, the management system 110 determines whether at least one isolated processing unit of a processor needs to be released based on at least one of: an overload status of an application service associated with the processor, or a load status of the processor. By way of example, the processor may be a CPU or the like. In addition, a processing unit may be a CPU core or the like.

[0098] At block 804, in accordance with a determination that at least one isolated processing unit needs to be released, the management system 110 releases a predetermined number of isolated processing units of the processor. By way of example rather than limitation, the predetermined number may be the number of cores to be released when isolated core release is triggered, such as 2, or the like.

[0099] In some embodiments, in response to receiving an overload indication of the application service indicating the overload status of the application service is overloaded, it is determined that at least one isolated processing unit of a processor needs to be released.

[0100] Alternatively, in accordance with a determination that an evaluation factor for evaluating the load status of the processor is larger than a fourth threshold for a third time period, it is determined that at least one isolated processing unit needs to be released. In some embodiments, it is determined whether a voltage-frequency control state (such as P-state or the like) is turned on for the processor. In accordance with a determination that the voltage-frequency control state is turned on, the evaluation factor is determined based on a frequency of the processor. In one example, the frequency of the processor may comprise an average frequency of non-isolated processing units of the processor. In another example, the frequency of the processor may comprise a frequency of a non-isolated processing unit of the processor. In a further example, the frequency of the processor may comprise the maximum frequency of non-isolated processing units of the processor. In a still further example, the frequency of the processor may comprise the minimum frequency of non-isolated processing units of the processor. It should be understood that the above examples are described merely for purpose of description. The scope of the present disclosure is not limited in this respect.

[0101] In accordance with a determination that the voltage-frequency control state is turned off, the evaluation factor is determined based on a usage of the processor. By way of example rather than limitation, the usage of the processor may be determined based on usage of non-isolated processing units of the processor.

[0102] In some embodiments the third period may be a wait time for isolated core release. In a case that the evaluation factor is CPU usage, the fourth threshold may be a CPU usage high threshold of isolated core release. In a case that the evaluation factor is CPU frequency, the fourth threshold may be a CPU frequency high threshold of isolated  core release.

[0103] In some embodiments, the releasing of the isolated processing units may be stopped in accordance with a determination that an evaluation factor for evaluating the load status of the processor is less than a stopping threshold. This will be described in detail with reference to FIG. 9.

[0104] In view of the above, the proposed method 800 can advantageously enable a more reasonable release of the processing units (e.g., CPU cores) . Thereby, the power management performance can be improved, and the power consumption can be reduced.

[0105] The solutions presented in FIG. 8 will be described in more details below with reference to FIG. 9, which illustrates a flowchart 900 for core release in accordance with some example embodiments of the present disclosure.

[0106] As shown in FIG. 9, at block 910, the process starts. At block 912, it is determined whether μS overload indicator is received for μSs. The μS overload indicator may comprise the KPI (such as CPU usage, the number of calls per second, the latency and / or the like) of a μS (micro service or application service) which indicates that the μS is overloaded. If μS overload indicator is received, the process proceeds to 916, where P12 number of CPU cores are released, so as to alleviate the overload. For example, P12 may represent the number of cores to be released when isolated core release is triggered, such as 2, or the like. At block 918, the management system 110 waits for P11 time. For example, P11 may represent a wait time for isolated core release cease check, such as 30s or the like. At block 920, it is determined whether the overload indicator is cleared. If so, the process is stopped at block 938. Otherwise, the process goes back to block 916. The actions of blocks 916, 918 and 920 are repeated, so as to release more CPU cores until the overload indicator is cleared.

[0107] If there is no μS overload indicator received for μSs, at block 914, it is determined whether P-state is turned on. If so, the process proceeds to block 922. At block 922, it is determined whether an average CPU core frequency for non-isolated cores is larger than P8 for P10 time. For example, P8 may represent a CPU frequency high threshold of isolated core release, such as 1900Mhz or the like. P10 may represent a wait time for isolated core release, such as 20s or the like. If the average CPU frequency is lower than P9 and it lasts P10 time, the process is stopped at block 938.

[0108] If the average CPU core frequency for non-isolated cores is larger than P9 for P10 time, the process proceeds to block 926, where P12 number of CPU cores are released, so as to alleviate the overload. For example, P12 may represent the number of cores to be released when isolated core release is triggered, such as 2, or the like. At block 928, the management system 110 waits for P11 time. For example, P11 may represent a wait time for isolated core release cease check, such as 30s or the like. At block 930, it is determined whether the current average CPU frequency is smaller than P9 for P10 time. P9 may represent a CPU frequency low threshold of isolated core release, such as 1700Mhz or the like. If so, the process is stopped at block 938. Otherwise, the process goes back to block 926. The actions of blocks 926, 928 and 930 are repeated, so as to release more CPU cores until the overload indicator is cleared.

[0109] If it is determined that the P-state is not turned on at block 914, the process proceeds to block 924. At block 924, it is determined whether a current CPU usage is larger than P6 for P10 time. For example, P6 may represent a CPU usage high threshold of isolated core release, such as 55%. P10 may represent a wait time for isolated core release, such as 20s. If the condition at block 924 is not satisfied, the process is stopped at block 938.

[0110] If the current CPU usage is larger than P6 for P10 time, the process proceeds to block 932, where P12 number of CPU cores are released, so as to alleviate the overload. At block 934, the management system 110 waits for P11 time. For example, P11 may represent a wait time for isolated core release cease check, such as 30s or the like. At block 936, it is determined whether the current average CPU frequency is smaller than P7 for P10 time. If so, the process is stopped at block 938. Otherwise, the process goes back to block 932. The actions of blocks 932, 934 and 936 are repeated, so as to release more CPU cores until the overload indicator is cleared.

[0111] FIG. 10 is a schematic diagram 1000 illustrating an example use case of power management in accordance with some example embodiments of the present disclosure. For the initial deployment of this use case, a resource specification for CNA 120, which includes the requirement on CPU 130, is defined. An example resource specification may be as follows: pinned cores comprise core0 and core1; the number of CPU resource is 6, non-zero C-state is supported, and turbo mode is supported.

[0112] The CNA 120 is deployed into workers in the cluster with non-zero C-state  enabled. The management system 110 monitors CPU usage, CPU frequency, and / or the like.

[0113] Based on free CPU capacity, the management system 110 decides to put a percentage of free CPU cores to sleep, which is not schedulable by OS CPU scheduler. For example during 20%CPU usage of 32 cores, put 60%of free CPU core not being able to be scheduled by the OS scheduler to enable them to go into deep sleep mode.

[0114] In some embodiments, the management system 110 requests the node power management agent 1030 to isolate a plurality of CPU cores, for example, 15 CPU cores to be not schedulable and go into deep sleeps. Alternatively, the management system 110 requests the CaaS cluster 1010 to deploy one dummy application (APP) 1020 to exclusively use those not schedulable CPU cores, by pinning those CPU cores to the dummy application 1020. The dummy application 1020 does not run any CPU instructions. It should be noted that during the execution, if CNA μS is overloaded or the load is increased too fast, the number of free CPU cores used by the dummy application 1020 will be reduced.

[0115] During runtime, if the usage of CPU used by CNAs reaches a specific threshold (such as 70%) , the cores reserved by the dummy APP 1020 can continually be reduced to release more cores to be used by the CNA. If it is determined that the CNA μS is overloaded or the load is increased too fast by inspecting the CNA metric and CNA μS resource metric, a number of free CPU cores is removed from isolation.

[0116] FIG. 11 illustrates a flowchart of a method 1100 for power management in accordance with some example embodiments of the present disclosure. The method 1100 may be implemented by the management system 110 as shown in FIG. 1 or any other suitable device. For the purpose of discussion, the method 1100 will be described from the perspective of the management system 110.

[0117] As shown in FIG. 11, at block 1102, the management system 110 determines whether a processor is to enter a turbo state based on at least one of: an overload status of an application service associated with the processor, or a load status of the processor. By way of example, the processor may be a CPU or the like. In addition, a processing unit may be a CPU core or the like. For example, in the turbo state, a process is allowed to run over the rated frequency. The terms “turbo state” , “turbo mode” , “turbo” and “CPU turbo” may be used interchangeably herein.

[0118] In some embodiments, in response to receiving an overload indication of the application service indicating the overload status of the application service is overloaded, it is determined that the processor is to enter the turbo state. Alternatively, in accordance with a determination that an evaluation factor for evaluating the load status of the processor is larger than a fifth threshold for a fourth time period, it is determined that the processor is to enter the turbo state. By way of example rather than limitation, the fourth time period is a wait time for CPU usage high threshold of Turbo activation, such as P14 which is discussed below, and the fifth threshold is a CPU usage high threshold of Turbo activation, such as P15 which is discussed below.

[0119] At block 1104, in accordance with a determination that the processor is to enter the turbo state, the management system 110 causes at least a part of processing units of the processor to enter the turbo state.

[0120] In some embodiments, it is determined whether at least one processing unit of the processor is pinned for the application service. In accordance with a determination that at least one processing unit of the processor is pinned for the application service, the at least one pinned processing unit of the processing units of the processor is caused to enter the turbo state. In accordance with a determination that none of the processing units of the processor is pinned for the application service, all of the proces sing units of the processor are caused to enter the turbo state.

[0121] In some embodiments, causing the at least one pinned processing unit to enter the turbo state may comprises turning on turbo for each of the at least one pinned processing unit.

[0122] In view of the above, the proposed method 1100 can advantageously enable a more reasonable activation of turbo state. Thereby, the power management performance can be improved, and the power consumption can be reduced.

[0123] The solutions presented in FIG. 11 will be described in more details below with reference to FIG. 12, which illustrates a flowchart 1200 for activation of CPU turbo state in accordance with some example embodiments of the present disclosure.

[0124] As shown in FIG. 12, at block 1210, the process starts. At block 1212, a value of a variable i is set to 0 and a value of a variable n is set to the number of μS. At block 1214, it is determined whether the current value of the variable i is smaller than the  variable n. If not, the process is stopped at block 1230. If the current value of the variable i is smaller than the variable n, the process proceeds to block 1216. At block 1216, it is determined whether a μS overload indicator is received for μSi. If so, the process proceeds to block 1220. Otherwise, the process proceeds to block 1218, where it is determined whether a CPU usage for CPU intensive μSi is larger than P14 for P15 time. For example, P14 may represent a CPU usage high threshold of Turbo activation, such as 75%or the like. P15 may represent a wait time for CPU usage high threshold of Turbo activation, such as 20s or the like. If the condition at block 1218 is not satisfies, the process proceeds to block 1224.

[0125] If the CPU usage of a CPU intensive μSi is greater than P14 and it lasts more than P15 time, the process proceeds to block 1220. At block 1220, it is determined whether CPU pinning is used for CPU intensive μSi. If so, at block 1222, CPU turbo is turned on for the pinned CPU core, and then the process proceeds to block 1224.

[0126] If the condition at block 1220 is not satisfied, the process proceeds to block 1226, whether it is determined whether CPU turbo is turned on globally. If so, the process proceeds to block 1224. Otherwise, the process proceeds to block 1228, where CPU turbo is turned on globally. Then, the process proceeds to block 1224.

[0127] At block 1224, the current value of the variable i is incremented, and the process goes back to block 1214, so as to repeat the above-described handling for each μS (micro service or application service) .

[0128] FIG. 13 illustrates a flowchart of a method 1300 for power management in accordance with some example embodiments of the present disclosure. The method 1300 may be implemented by the management system 110 as shown in FIG. 1 or any other suitable device. For the purpose of discussion, the method 1300 will be described from the perspective of the management system 110.

[0129] As shown in FIG. 13, at block 1302, the management system 110 determines whether there is an application service associated with a processor is unprocessed. At least a part of processing units of the processor is in a turbo state. By way of example, the processor may be a CPU or the like. In addition, a processing unit may be a CPU core or the like.

[0130] At block 1304, the management system 110 causes the at least a part of  processing units of the processor to exit the turbo state based on the determining.

[0131] In some embodiments, in accordance with a determination that there is an application service associated with the processor is unprocessed, it is determined whether at least one processing unit of the processor is pinned for the application service based on at least one of: an overload status of the application service, or a load status of processor units used by the application service. For example, whether at least one processing unit of the processor is pinned for the application service is determined in accordance with at least one of the following determinations: an overload status of the application service indicating that the application service is no longer overloaded, or an evaluation factor for evaluating the load status of the processor is less than a sixth threshold for a fifth time period.

[0132] In accordance with a determination that at least one processing unit of the processor is pinned for the application service, the at least one pinned processing unit is caused to exit the turbo state.

[0133] In some embodiments, in accordance with a determination that there is no application service associated with the processor is unprocessed, it is determined whether an evaluation factor for evaluating the load status of the processor is less than a sixth threshold for a fifth time period. If it is determined that the evaluation factor is less than the sixth threshold for the fifth time period, the management system 110 causes all of the processing units of the processor to exit the turbo state.

[0134] In some embodiments, the evaluation factor is determined based on a usage of the processor. By way of example rather than limitation, the sixth threshold is a CPU usage low threshold of Turbo deactivation, such as P16 which is discussed below. The fifth time period is a wait time for CPU usage low threshold of Turbo deactivation, such as P17 which is discussed below.

[0135] In view of the above, the proposed method 1300 can advantageously enable a more reasonable deactivation of turbo state. Thereby, the power management performance can be improved, and the power consumption can be reduced.

[0136] The solutions presented in FIG. 13 will be described in more details below with reference to FIG. 14, which illustrates a flowchart 1400 for deactivation of CPU turbo state in accordance with some example embodiments of the present disclosure.

[0137] As shown in FIG. 14, at block 1410, the process starts for all μS (micro service or application service) with CPU Turbo turned on. At block 1412, a value of a variable i is set to 0 and a value of a variable n is set to the number of μS. At block 1414, it is determined whether the current value of the variable i is smaller than the variable n. If not, the process proceeds to block 1424. If the current value of the variable i is smaller than the variable n, the process proceeds to block 1416. At 1416, it is determined whether a CPU usage for μSi is smaller than P16 for P17 time and μS overload is cleared. For example, P16 may represent a CPU usage low threshold of Turbo deactivation, such as 60%or the like. P17 may present a wait time for CPU usage low threshold of Turbo deactivation, such as 20s or the like. If the condition at block 1416 is not satisfied, the process proceeds to block 1422.

[0138] If the CPU usage is lower than P16 and it lasts for P17 time for μSi and the μS overload is cleared, the process proceeds to block 1418. At block 1418, it is determined whether CPU pinning is used for CPU intensive μS. If not, the process proceeds to block 1422. If CPU pinning is used for CPU intensive μS, CPU Turbo is turned off for pinned CPU cores at block 1420. Then, the process proceeds to block 1422. At block 1422, the current value of the variable i is incremented, and the process goes back to block 1214, so as to repeat the above-described handling for all eligible μS.

[0139] If it is determined that the current value of the variable i is not smaller than the variable n at block 1414, the process proceeds to block 1424. At block 1424, it is determined whether no μS pinned CPU core is running with CPU Turbo on, and CPU usage is below P16 for P17 time. If not, the process is stopped at block 1430. Otherwise, the process proceeds to block 1426. At block 1426, it is determined whether CPU turbo is turned on globally. If not, the process is stopped at block 1430. Otherwise, the process proceeds to block 1428, where CPU turbo is turned off globally. Then, the process is stopped at block 1430.

[0140] FIG. 15 is a schematic diagram 1500 illustrating a further example use case of power management in accordance with some example embodiments of the present disclosure. For the initial deployment of this use case, a resource specification for CNA 120, which includes the requirement on CPU 130, is defined. An example resource specification may be as follows: pinned cores comprise core0 and core1; the number of CPU resource is 6, non-zero C-state is supported, and turbo mode (denoted as “TB” in  FIG. 15) is supported.

[0141] The CNA 120 is deployed into workers in the cluster with non-zero C-state enabled. The management system 110 monitors CPU usage, CPU frequency, and / or the like. After this initial deployment, the CPU cores stay most time in deep sleep state before incoming requests are increased when the CNA starts to provide services.

[0142] The management system 110 collects CNA μS CPU usage metric and CNA μS KPI in terms rejection rate due to CPU overload. In addition, the management system 110 enables turbo frequency –allow CPU frequency to go above rated frequency, if CPU usage metric is high and μS KPI indicates overload.

[0143] If the CPU cores assigned for μS instance is running at high CPU utilization (e.g., larger than 75%) for a specific period of time on the maximum rated frequency and it has exclusive CPU usages (e.g. pining) , CPU turbo is turned on for those CPU cores in case the deployment specification indicates that turbo mode is supported by the CNA or CNA μS. Otherwise, if CPU pining is not used for that micro-service, turbo is turned on globally for the whole worker node.

[0144] The system will be monitored continually. If the CPU usage for a micro-service is decreased to a specific threshold larger than 60%, turbo is disabled for the specific μS CPU core or globally. If the total node CPU load is decreased to a medium level threshold (<=50%) due to income requests is reduced during low incoming traffic period, policy handling described with regard to FIG. 10 may be applied.

[0145] It should be understood that the above illustrations and / or examples are described merely for purpose of description. Moreover, the specific values recited above is intended to be exemplary rather than limiting the scope of the present disclosure. The scope of the present disclosure is not limited in this respect.

[0146] FIG. 16 is a block diagram showing an apparatus 1600 suitable for use in practicing some embodiments of the disclosure. For example, any one of communication devices described above, including the terminal devices and the base station, may be implemented through the apparatus 1600. As shown, the apparatus 1600 may include a processor 1610, a memory 1620 that stores a program, and optionally a communication interface 1630 for communicating data with other external devices through wired and / or wireless communication.

[0147] The program includes program instructions that, when executed by the processor 1610, enable the apparatus 1600 to operate in accordance with the embodiments of the present disclosure, as discussed above. That is, the embodiments of the present disclosure may be implemented at least in part by computer software executable by the processor 1610, or by hardware, or by a combination of software and hardware.

[0148] The memory 1620 may be of any type suitable to the local technical environment and may be implemented using any suitable data storage technology, such as semiconductor-based memory devices, flash memories, magnetic memory devices and systems, optical memory devices and systems, fixed memories and removable memories. The processor 1610 may be of any type suitable to the local technical environment, and may include one or more of general-purpose computers, special purpose computers, microprocessors, digital signal processors (DSPs) and processors based on multi-core processor architectures, as non-limiting examples.

[0149] FIG. 17 shows a block diagram showing an apparatus 1700 suitable for use in practicing some embodiments of the present disclosure. For example, the apparatus 1700 may be the management system 110 shown in FIG. 1. As shown in FIG. 17, the apparatus 1700 may include a processing module 1710.

[0150] In some embodiments, the processing module 1710 may be configured for: determining an evaluation factor for evaluating a load status of a processor, wherein a sleep state is allowed for the processor and the processor comprises a plurality of processing units; and adjusting an isolation status of the processing units of the processor based on the evaluation factor.

[0151] In some embodiments, the processing module 1710 may be configured for: determining whether at least one isolated processing unit of a processor needs to be released based on at least one of: an overload status of an application service associated with the processor, or a load status of the processor; and in accordance with a determination that at least one isolated processing unit needs to be released, releasing a predetermined number of isolated processing units of the processor.

[0152] In some embodiments, the processing module 1710 may be configured for: determining whether a processor is to enter a turbo state based on at least one of: an overload status of an application service associated with the processor, or a load status of the processor; and in accordance with a determination that the processor is to enter the  turbo state, causing at least a part of processing units of the processor to enter the turbo state.

[0153] In some embodiments, the processing module 1710 may be configured for: determining whether there is an application service associated with a processor is unprocessed, wherein at least a part of processing units of the processor is in a turbo state; and causing the at least a part of processing units of the processor to exit the turbo state based on the determining.

[0154] The processing module 1720 may also be configured to perform the method described with reference to FIG. 6, the method described with reference to FIG. 8, the method described with reference to FIG. 11, and / or the method described with reference to FIG. 13.

[0155] FIG. 18 shows an example of a communication system 3100 in accordance with some embodiments.

[0156] In the example, the communication system 3100 includes a telecommunication network 3102 that includes an access network 3104, such as a radio access network (RAN) , and a core network 3106, which includes one or more core network nodes 3108. The access network 3104 includes one or more access network nodes, such as network nodes 3110a and 3110b (one or more of which may be generally referred to as network nodes 3110) , or any other similar 3rd Generation Partnership Project (3GPP) access node or non-3GPP access point. The network nodes 3110 facilitate direct or indirect connection of user equipment (UE) , such as by connecting UEs 3112a, 3112b, 3112c, and 3112d (one or more of which may be generally referred to as UEs 3112) to the core network 3106 over one or more wireless connections.

[0157] Example wireless communications over a wireless connection include transmitting and / or receiving wireless signals using electromagnetic waves, radio waves, infrared waves, and / or other types of signals suitable for conveying information without the use of wires, cables, or other material conductors. Moreover, in different embodiments, the communication system 3100 may include any number of wired or wireless networks, network nodes, UEs, and / or any other components or systems that may facilitate or participate in the communication of data and / or signals whether via wired or wireless connections. The communication system 3100 may include and / or interface with any type of communication, telecommunication, data, cellular, radio network, and / or other similar  type of system.

[0158] The UEs 3112 may be any of a wide variety of communication devices, including wireless devices arranged, configured, and / or operable to communicate wirelessly with the network nodes 3110 and other communication devices. Similarly, the network nodes 3110 are arranged, capable, configured, and / or operable to communicate directly or indirectly with the UEs 3112 and / or with other network nodes or equipment in the telecommunication network 3102 to enable and / or provide network access, such as wireless network access, and / or to perform other functions, such as administration in the telecommunication network 3102.

[0159] In the depicted example, the core network 3106 connects the network nodes 3110 to one or more hosts, such as host 3116. These connections may be direct or indirect via one or more intermediary networks or devices. In other examples, network nodes may be directly coupled to hosts. The core network 3106 includes one more core network node (e.g., core network node 3108) that are structured with hardware and software components. Features of these components may be substantially similar to those described with respect to the UEs, network nodes, and / or hosts, such that the descriptions thereof are generally applicable to the corresponding components of the core network node 3108. Example core network nodes include functions of one or more of a Mobile Switching Center (MS C) , Mobility Management Entity (MME) , Home Subscriber Server (HSS) , Access and Mobility Management Function (AMF) , Session Management Function (SMF) , Authentication Server Function (AUSF) , Subscription Identifier De-concealing function (SIDF) , Unified Data Management (UDM) , Security Edge Protection Proxy (SEPP) , Network Exposure Function (NEF) , and / or a User Plane Function (UPF) .

[0160] The host 3116 may be under the ownership or control of a service provider other than an operator or provider of the access network 3104 and / or the telecommunication network 3102 and may be operated by the service provider or on behalf of the service provider. The host 3116 may host a variety of applications to provide one or more service. Examples of such applications include live and pre-recorded audio / video content, data collection services such as retrieving and compiling data on various ambient conditions detected by a plurality of UEs, analytics functionality, social media, functions for controlling or otherwise interacting with remote devices, functions for an alarm and surveillance center, or any other such function performed by a server.

[0161] As a whole, the communication system 3100 of FIG. 13 enables connectivity between the UEs, network nodes, and hosts. In that sense, the communication system may be configured to operate according to predefined rules or procedures, such as specific standards that include, but are not limited to: Global System for Mobile Communications (GSM) ; Universal Mobile Telecommunications System (UMTS) ; Long Term Evolution (LTE) , and / or other suitable 2G, 3G, 4G, 5G standards, or any applicable future generation standard (e.g., 6G) ; wireless local area network (WLAN) standards, such as the Institute of Electrical and Electronics Engineers (IEEE) 802.11 standards (WiFi) ; and / or any other appropriate wireless communication standard, such as the Worldwide Interoperability for Microwave Access (WiMax) , Bluetooth, Z-Wave, Near Field Communication (NFC) ZigBee, LiFi, and / or any low-power wide-area network (LPWAN) standards such as LoRa and Sigfox.

[0162] In some examples, the telecommunication network 3102 is a cellular network that implements 3GPP standardized features. Accordingly, the telecommunications network 3102 may support network slicing to provide different logical networks to different devices that are connected to the telecommunication network 3102. For example, the telecommunications network 3102 may provide Ultra Reliable Low Latency Communication (URLLC) services to some UEs, while providing Enhanced Mobile Broadband (eMBB) services to other UEs, and / or Massive Machine Type Communication (mMTC)  / Massive IoT services to yet further UEs.

[0163] In some examples, the UEs 3112 are configured to transmit and / or receive information without direct human interaction. For instance, a UE may be designed to transmit information to the access network 3104 on a predetermined schedule, when triggered by an internal or external event, or in response to requests from the access network 3104. Additionally, a UE may be configured for operating in single-or multi-RAT or multi-standard mode. For example, a UE may operate with any one or combination of Wi-Fi, NR (New Radio) and LTE, i.e., being configured for multi-radio dual connectivity (MR-DC) , such as E-UTRAN (Evolved-UMTS Terrestrial Radio Access Network) New Radio –Dual Connectivity (EN-DC) .

[0164] In the example, the hub 3114 communicates with the access network 3104 to facilitate indirect communication between one or more UEs (e.g., UE 3112c and / or 3112d) and network nodes (e.g., network node 3110b) . In some examples, the hub 3114 may be  a controller, router, content source and analytics, or any of the other communication devices described herein regarding UEs. For example, the hub 3114 may be a broadband router enabling access to the core network 3106 for the UEs. As another example, the hub 3114 may be a controller that sends commands or instructions to one or more actuators in the UEs. Commands or instructions may be received from the UEs, network nodes 3110, or by executable code, script, process, or other instructions in the hub 3114. As another example, the hub 3114 may be a data collector that acts as temporary storage for UE data and, in some embodiments, may perform analysis or other processing of the data. As another example, the hub 3114 may be a content source. For example, for a UE that is a VR headset, display, loudspeaker or other media delivery device, the hub 3114 may retrieve VR assets, video, audio, or other media or data related to sensory information via a network node, which the hub 3114 then provides to the UE either directly, after performing local processing, and / or after adding additional local content. In still another example, the hub 3114 acts as a proxy server or orchestrator for the UEs, in particular in if one or more of the UEs are low energy IoT devices.

[0165] The hub 3114 may have a constant / persistent or intermittent connection to the network node 3110b. The hub 3114 may also allow for a different communication scheme and / or schedule between the hub 3114 and UEs (e.g., UE 3112c and / or 3112d) , and between the hub 3114 and the core network 3106. In other examples, the hub 3114 is connected to the core network 3106 and / or one or more UEs via a wired connection. Moreover, the hub 3114 may be configured to connect to an M2M service provider over the access network 3104 and / or to another UE over a direct connection. In some scenarios, UEs may establish a wireless connection with the network nodes 3110 while still connected via the hub 3114 via a wired or wireless connection. In some embodiments, the hub 3114 may be a dedicated hub –that is, a hub whose primary function is to route communications to / from the UEs from / to the network node 3110b. In other embodiments, the hub 3114 may be a non-dedicated hub –that is, a device which is capable of operating to route communications between the UEs and network node 3110b, but which is additionally capable of operating as a communication start and / or end point for certain data channels.

[0166] FIG. 19 is a block diagram of a host 3200, which may be an embodiment of the host 3116 of FIG. 18, in accordance with various aspects described herein. As used herein, the host 3200 may be or comprise various combinations hardware and / or software,  including a standalone server, a blade server, a cloud-implemented server, a distributed server, a virtual machine, container, or processing resources in a server farm. The host 3200 may provide one or more services to one or more UEs.

[0167] The host 3200 includes processing circuitry 3202 that is operatively coupled via a bus 3204 to an input / output interface 3206, a network interface 3208, a power source 3210, and a memory 3212. Other components may be included in other embodiments. Features of these components may be substantially similar to those described with respect to the devices of previous figures such that the descriptions thereof are generally applicable to the corresponding components of host 3200.

[0168] The memory 3212 may include one or more computer programs including one or more host application programs 3214 and data 3216, which may include user data, e.g., data generated by a UE for the host 3200 or data generated by the host 3200 for a UE. Embodiments of the host 3200 may utilize only a subset or all of the components shown. The host application programs 3214 may be implemented in a container-based architecture and may provide support for video codecs (e.g., Versatile Video Coding (VVC) , High Efficiency Video Coding (HEVC) , Advanced Video Coding (AVC) , MPEG, VP9) and audio codecs (e.g., FLAC, Advanced Audio Coding (AAC) , MPEG, G. 711) , including transcoding for multiple different classes, types, or implementations of UEs (e.g., handsets, desktop computers, wearable display systems, heads-up display systems) . The host application programs 3214 may also provide for user authentication and licensing checks and may periodically report health, routes, and content availability to a central node, such as a device in or on the edge of a core network. Accordingly, the host 3200 may select and / or indicate a different host for over-the-top services for a UE. The host application programs 3214 may support various protocols, such as the HTTP Live Streaming (HLS) protocol, Real-Time Messaging Protocol (RTMP) , Real-Time Streaming Protocol (RTSP) , Dynamic Adaptive Streaming over HTTP (MPEG-DASH) , etc.

[0169] FIG. 20 shows a communication diagram of a host 3302 communicating via a network node 3304 with a UE 3306 over a partially wireless connection in accordance with some embodiments. Example implementations, in accordance with various embodiments, of the UE (such as a UE 3112a of FIG. 18) , network node (such as network node 3110a of FIG. 18) , and host (such as host 3116 of FIG. 18 and / or host 3200 of FIG. 19) discussed in the preceding paragraphs will now be described with reference to FIG.  20.

[0170] Like host 3200, embodiments of host 3302 include hardware, such as a communication interface, processing circuitry, and memory. The host 3302 also includes software, which is stored in or accessible by the host 3302 and executable by the processing circuitry. The software includes a host application that may be operable to provide a service to a remote user, such as the UE 3306 connecting via an over-the-top (OTT) connection 3350 extending between the UE 3306 and host 3302. In providing the service to the remote user, a host application may provide user data which is transmitted using the OTT connection 3350.

[0171] The network node 3304 includes hardware enabling it to communicate with the host 3302 and UE 3306. The connection 3360 may be direct or pass through a core network (like core network 3106 of FIG. 18) and / or one or more other intermediate networks, such as one or more public, private, or hosted networks. For example, an intermediate network may be a backbone network or the Internet.

[0172] The UE 3306 includes hardware and software, which is stored in or accessible by UE 3306 and executable by the UE’s processing circuitry. The software includes a client application, such as a web browser or operator-specific “app” that may be operable to provide a service to a human or non-human user via UE 3306 with the support of the host 3302. In the host 3302, an executing host application may communicate with the executing client application via the OTT connection 3350 terminating at the UE 3306 and host 3302. In providing the service to the user, the UE's client application may receive request data from the host's host application and provide user data in response to the request data. The OTT connection 3350 may transfer both the request data and the user data. The UE's client application may interact with the user to generate the user data that it provides to the host application through the OTT connection 3350.

[0173] The OTT connection 3350 may extend via a connection 3360 between the host 3302 and the network node 3304 and via a wireless connection 3370 between the network node 3304 and the UE 3306 to provide the connection between the host 3302 and the UE 3306. The connection 3360 and wireless connection 3370, over which the OTT connection 3350 may be provided, have been drawn abstractly to illustrate the communication between the host 3302 and the UE 3306 via the network node 3304, without explicit reference to any intermediary devices and the precise routing of messages via these  devices.

[0174] As an example of transmitting data via the OTT connection 3350, in step 3308, the host 3302 provides user data, which may be performed by executing a host application. In some embodiments, the user data is associated with a particular human user interacting with the UE 3306. In other embodiments, the user data is associated with a UE 3306 that shares data with the host 3302 without explicit human interaction. In step 3310, the host 3302 initiates a transmission carrying the user data towards the UE 3306. The host 3302 may initiate the transmission responsive to a request transmitted by the UE 3306. The request may be caused by human interaction with the UE 3306 or by operation of the client application executing on the UE 3306. The transmission may pass via the network node 3304, in accordance with the teachings of the embodiments described throughout this disclosure. Accordingly, in step 3312, the network node 3304 transmits to the UE 3306 the user data that was carried in the transmission that the host 3302 initiated, in accordance with the teachings of the embodiments described throughout this disclosure. In step 3314, the UE 3306 receives the user data carried in the transmission, which may be performed by a client application executed on the UE 3306 associated with the host application executed by the host 3302.

[0175] In some examples, the UE 3306 executes a client application which provides user data to the host 3302. The user data may be provided in reaction or response to the data received from the host 3302. Accordingly, in step 3316, the UE 3306 may provide user data, which may be performed by executing the client application. In providing the user data, the client application may further consider user input received from the user via an input / output interface of the UE 3306. Regardless of the specific manner in which the user data was provided, the UE 3306 initiates, in step 3318, transmission of the user data towards the host 3302 via the network node 3304. In step 3320, in accordance with the teachings of the embodiments described throughout this disclosure, the network node 3304 receives user data from the UE 3306 and initiates transmission of the received user data towards the host 3302. In step 3322, the host 3302 receives the user data carried in the transmission initiated by the UE 3306.

[0176] One or more of the various embodiments improve the performance of OTT services provided to the UE 3306 using the OTT connection 3350, in which the wireless connection 3370 forms the last segment. More precisely, the teachings of these  embodiments may improve the data rate and thereby provide benefits such as relaxed restriction on file size, improved content resolution, and better responsiveness.

[0177] In an example scenario, factory status information may be collected and analyzed by the host 3302. As another example, the host 3302 may process audio and video data which may have been retrieved from a UE for use in creating maps. As another example, the host 3302 may collect and analyze real-time data to assist in controlling vehicle congestion (e.g., controlling traffic lights) . As another example, the host 3302 may store surveillance video uploaded by a UE. As another example, the host 3302 may store or control access to media content such as video, audio, VR or AR which it can broadcast, multicast or unicast to UEs. As other examples, the host 3302 may be used for energy pricing, remote control of non-time critical electrical load to balance power generation needs, location services, presentation services (such as compiling diagrams etc. from data collected from remote devices) , or any other function of collecting, retrieving, storing, analyzing and / or transmitting data.

[0178] In some examples, a measurement procedure may be provided for the purpose of monitoring data rate, latency and other factors on which the one or more embodiments improve. There may further be an optional network functionality for reconfiguring the OTT connection 3350 between the host 3302 and UE 3306, in response to variations in the measurement results. The measurement procedure and / or the network functionality for reconfiguring the OTT connection may be implemented in software and hardware of the host 3302 and / or UE 3306. In some embodiments, sensors (not shown) may be deployed in or in association with other devices through which the OTT connection 3350 passes; the sensors may participate in the measurement procedure by supplying values of the monitored quantities exemplified above, or supplying values of other physical quantities from which software may compute or estimate the monitored quantities. The reconfiguring of the OTT connection 3350 may include message format, retransmission settings, preferred routing etc. ; the reconfiguring need not directly alter the operation of the network node 3304. Such procedures and functionalities may be known and practiced in the art. In certain embodiments, measurements may involve proprietary UE signaling that facilitates measurements of throughput, propagation times, latency and the like, by the host 3302. The measurements may be implemented in that software causes messages to be transmitted, in particular empty or ‘dummy’ messages, using the OTT connection 3350 while monitoring propagation times, errors, etc.

[0179] In an aspect of the disclosure, there is provided a method implemented in a host configured to operate in a communication system that further includes a network node and a user equipment (UE) . The method may comprise providing user data for the UE. The method may further comprise initiating a transmission carrying the user data to the UE via a cellular network comprising the network node. The network node may perform the following operations to transmit the user data from the host to the UE. The network node may schedule, for a first terminal device whose capability of whether supporting FDM of a first physical channel for transmitting traffic data and a second physical channel for transmitting control information is unknown to the network node, one or more transmissions each using the first physical channel that is multiplexed with the second physical channel in an FDM manner. The network node may perform the one or more transmissions to the first terminal device, based on the scheduling. The network node may receive, from the first terminal device, one or more reception feedbacks on the one or more transmissions. The network node may determine whether the first terminal device supports FDM of the first and second physical channels, based on the one or more reception feedbacks.

[0180] In an embodiment of the disclosure, the method may further comprise, at the network node, transmitting the user data provided by the host for the UE.

[0181] In an embodiment of the disclosure, the user data may be provided at the host by executing a host application that interacts with a client application executing on the UE. The client application may be associated with the host application.

[0182] In another aspect of the disclosure, there is provided a host configured to operate in a communication system to provide an over-the-top (OTT) service. The host may comprise processing circuitry configured to provide user data; and a network interface configured to initiate transmission of the user data to a network node in a cellular network for transmission to a user equipment (UE) . The network node may have a communication interface and processing circuitry. The processing circuitry of the network node may be configured to perform the following operations to transmit the user data from the host to the UE. The processing circuitry of the network node may be configured to schedule, for a first terminal device whose capability of whether supporting FDM of a first physical channel for transmitting traffic data and a second physical channel for transmitting control information is unknown to the network node, one or more transmissions each using the  first physical channel that is multiplexed with the second physical channel in an FDM manner. The processing circuitry of the network node may be configured to perform the one or more transmissions to the first terminal device, based on the scheduling. The processing circuitry of the network node may be configured to receive, from the first terminal device, one or more reception feedbacks on the one or more transmissions. The processing circuitry of the network node may be configured to determine whether the first terminal device supports FDM of the first and second physical channels, based on the one or more reception feedbacks.

[0183] In an embodiment of the disclosure, the processing circuitry of the host may be configured to execute a host application that provides the user data. The UE may comprise processing circuitry configured to execute a client application associated with the host application to receive the transmission of user data from the host.

[0184] In yet another aspect of the disclosure, there is provided a communication system configured to provide an over-the-top service. The communication system may comprise a host. The host may comprise processing circuitry configured to provide user data for a user equipment (UE) . The user data may be associated with the over-the-top service. The host may further comprise a network interface configured to initiate transmission of the user data toward a cellular network node for transmission to the UE. The network node may have a communication interface and processing circuitry. The processing circuitry of the network node may be configured to perform the following operations to transmit the user data from the host to the UE. The processing circuitry of the network node may be configured to schedule, for a first terminal device whose capability of whether supporting FDM of a first physical channel for transmitting traffic data and a second physical channel for transmitting control information is unknown to the network node, one or more transmissions each using the first physical channel that is multiplexed with the second physical channel in an FDM manner. The processing circuitry of the network node may be configured to perform the one or more transmissions to the first terminal device, based on the scheduling. The processing circuitry of the network node may be configured to receive, from the first terminal device, one or more reception feedbacks on the one or more transmissions. The processing circuitry of the network node may be configured to determine whether the first terminal device supports FDM of the first and second physical channels, based on the one or more reception feedbacks.

[0185] In an embodiment of the disclosure, the communication system may further comprise the network node; and / or the user equipment.

[0186] In an embodiment of the disclosure, the processing circuitry of the host may be configured to execute a host application, thereby providing the user data. The host application may be configured to interact with a client application executing on the UE. The client application may be associated with the host application.

[0187] In a first aspect of the disclosure, there is provided a method for power management. The method comprises: determining an evaluation factor for evaluating a load status of a processor, wherein a sleep state is allowed for the processor and the processor comprises a plurality of processing units; and adjusting an isolation status of the processing units of the processor based on the evaluation factor.

[0188] In some embodiments, determining the evaluation factor comprises: determining whether a voltage-frequency control state is turned on for the processor; in accordance with a determination that the voltage-frequency control state is turned on, determining the evaluation factor based on a frequency of the processor; and in accordance with a determination that the voltage-frequency control state is turned off, determining the evaluation factor based on a usage of the processor.

[0189] In some example embodiments, the frequency of the processor comprises an average frequency of non-isolated processing units of the processor.

[0190] In some example embodiments, the usage of the processor is determined based on usage of non-isolated processing units of the processor.

[0191] In some example embodiments, adjusting the isolation status of the processing units of the processor comprises: in accordance with a determination that the evaluation factor is larger than a first threshold and less than a second threshold for a first time period, isolating a first number of processing units of the processor, wherein the first threshold is less than the second threshold; and in accordance with a determination that the evaluation factor is less than a third threshold for a second time period, releasing all isolated processing units of the processor, wherein the third threshold is less than the first threshold and the second threshold.

[0192] In some example embodiments, the evaluation factor is a usage of the processor, and the first number is determined based on a percentage of non-isolated cores, a usage  of the processor, and a total number of CPU cores of a server.

[0193] In some example embodiments, the evaluation factor is a frequency of the processor, and the first number is determined based on a percentage of non-isolated cores, a usage of the processor, a total number of CPU cores of a server, an average frequency of non-isolated processing units of the processor, and a base frequency of the processor.

[0194] In a second aspect of the disclosure, there is provided a method for power management. The method comprises: determining whether at least one isolated processing unit of a processor needs to be released based on at least one of: an overload status of an application service associated with the processor, or a load status of the processor; and in accordance with a determination that at least one isolated processing unit needs to be released, releasing a predetermined number of isolated processing units of the processor.

[0195] In some example embodiments, determining whether at least one isolated processing unit of a processor needs to be released comprises: in response to receiving an overload indication of the application service indicating the overload status of the application service is overloaded, determining that at least one isolated processing unit of a processor needs to be released; or in accordance with a determination that an evaluation factor for evaluating the load status of the processor is larger than a fourth threshold for a third time period, determining that at least one isolated processing unit needs to be released.

[0196] In some example embodiments, the releasing of the isolated processing units is stopped in accordance with a determination that an evaluation factor for evaluating the load status of the processor is less than a stopping threshold.

[0197] In some example embodiments, the method further comprises: determining whether a voltage-frequency control state is turned on for the processor; in accordance with a determination that the voltage-frequency control state is turned on, determining the evaluation factor based on a frequency of the processor; and in accordance with a determination that the voltage-frequency control state is turned off, determining the evaluation factor based on a usage of the processor.

[0198] In some example embodiments, the frequency of the processor comprises an average frequency of non-isolated processing units of the processor.

[0199] In some example embodiments, the usage of the processor is determined based  on usage of non-isolated processing units of the processor.

[0200] In a third aspect of the disclosure, there is provided a method for power management. The method comprises: determining whether a processor is to enter a turbo state based on at least one of: an overload status of an application service associated with the processor, or a load status of the processor; and in accordance with a determination that the processor is to enter the turbo state, causing at least a part of processing units of the processor to enter the turbo state.

[0201] In some example embodiments, determining whether a processor is to enter a turbo state comprises: in response to receiving an overload indication of the application service indicating the overload status of the application service is overloaded, determining that the processor is to enter the turbo state.

[0202] In some example embodiments, determining whether a processor is to enter a turbo state comprises: in accordance with a determination that an evaluation factor for evaluating the load status of the processor is larger than a fifth threshold for a fourth time period, determining that the processor is to enter the turbo state.

[0203] In some example embodiments, causing the at least a part of processing units of the processor to enter the turbo state comprises: determining whether at least one processing unit of the processor is pinned for the application service; in accordance with a determination that at least one processing unit of the processor is pinned for the application service, causing the at least one pinned processing unit of the processing units of the processor to enter the turbo state; and in accordance with a determination that none of the processing units of the processor is pinned for the application service, causing all of the processing units of the processor to enter the turbo state.

[0204] In some example embodiments, causing the at least one pinned processing unit to enter the turbo state comprises: turning on turbo for each of the at least one pinned processing unit.

[0205] In a fourth aspect of the disclosure, there is provided a method for power management. The method comprises: determining whether there is an application service associated with a processor is unprocessed, wherein at least a part of processing units of the processor is in a turbo state; and causing the at least a part of processing units of the processor to exit the turbo state based on the determining.

[0206] In some example embodiments, causing the at least a part of processing units of the processor to exit the turbo state based on the determining comprises: in accordance with a determination that there is an application service associated with the processor is unprocessed, determining whether at least one processing unit of the processor is pinned for the application service based on at least one of: an overload status of the application service, or a load status of processor units used by the application service; and in accordance with a determination that at least one processing unit of the processor is pinned for the application service, causing the at least one pinned processing unit to exit the turbo state.

[0207] In some example embodiments, determining whether at least one processing unit of the processor is pinned for the application service is in accordance with at least one of the following determinations: an overload status of the application service indicating that the application service is no longer overloaded, or an evaluation factor for evaluating the load status of the processor is less than a sixth threshold for a fifth time period.

[0208] In some example embodiments, causing the at least a part of processing units of the processor to exit the turbo state based on the determining comprises: in accordance with a determination that there is no application service associated with the processor is unprocessed, determining whether an evaluation factor for evaluating the load status of the processor is less than a sixth threshold for a fifth time period; and in accordance with a determination that the evaluation factor is less than the sixth threshold for the fifth time period, causing all of the processing units of the processor to exit the turbo state.

[0209] In some example embodiments, the evaluation factor is determined based on a usage of the processor.

[0210] In general, the various exemplary embodiments may be implemented in hardware or special purpose circuits, software, logic or any combination thereof. For example, some aspects may be implemented in hardware, while other aspects may be implemented in firmware or software which may be executed by a controller, microprocessor or other computing device, although the disclosure is not limited thereto. While various aspects of the exemplary embodiments of this disclosure may be illustrated and described as block diagrams, flow charts, or using some other pictorial representation, it is well understood that these blocks, apparatus, systems, techniques or methods described herein may be implemented in, as non-limiting examples, hardware, software,  firmware, special purpose circuits or logic, general purpose hardware or controller or other computing devices, or some combination thereof.

[0211] As such, it should be appreciated that at least some aspects of the exemplary embodiments of the disclosure may be practiced in various components such as integrated circuit chips and modules. It should thus be appreciated that the exemplary embodiments of this disclosure may be realized in an apparatus that is embodied as an integrated circuit, where the integrated circuit may comprise circuitry (as well as possibly firmware) for embodying at least one or more of a data processor, a digital signal proces sor, baseband circuitry and radio frequency circuitry that are configurable so as to operate in accordance with the exemplary embodiments of this disclosure.

[0212] It should be appreciated that at least some aspects of the exemplary embodiments of the disclosure may be embodied in computer-executable instructions, such as in one or more program modules, executed by one or more computers or other devices. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types when executed by a processor in a computer or other device. The computer executable instructions may be stored on a computer readable medium such as a hard disk, optical disk, removable storage media, solid state memory, RAM, etc. As will be appreciated by one skilled in the art, the function of the program modules may be combined or distributed as desired in various embodiments. In addition, the function may be embodied in whole or in part in firmware or hardware equivalents such as integrated circuits, field programmable gate arrays (FPGA) , and the like.

[0213] References in the present disclosure to “one embodiment” , “an embodiment” and so on, indicate that the embodiment described may include a particular feature, structure, or characteristic, but it is not necessary that every embodiment includes the particular feature, structure, or characteristic. Moreover, such phrases are not necessarily referring to the same embodiment. Further, when a particular feature, structure, or characteristic is described in connection with an embodiment, it is submitted that it is within the knowledge of one skilled in the art to implement such feature, structure, or characteristic in connection with other embodiments whether or not explicitly described.

[0214] It should be understood that, although the terms “first” , “second” and so on may be used herein to describe various elements, these elements should not be limited by these  terms. These terms are only used to distinguish one element from another. For example, a first element could be termed a second element, and similarly, a second element could be termed a first element, without departing from the scope of the disclosure. As used herein, the term “and / or” includes any and all combinations of one or more of the associated listed terms.

[0215] The terminology used herein is for the purpose of describing particular embodiments only and is not intended to limit the present disclosure. As used herein, the singular forms “a” , “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms “comprises” , “comprising” , “has” , “having” , “includes” and / or “including” , when used herein, specify the presence of stated features, elements, and / or components, but do not preclude the presence or addition of one or more other features, elements, components and / or combinations thereof. The terms “connect” , “connects” , “connecting” and / or “connected” used herein cover the direct and / or indirect connection between two elements. It should be noted that two blocks shown in succession in the above figures may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved.

[0216] The present disclosure includes any novel feature or combination of features disclosed herein either explicitly or any generalization thereof. Various modifications and adaptations to the foregoing exemplary embodiments of this disclosure may become apparent to those skilled in the relevant arts in view of the foregoing description, when read in conjunction with the accompanying drawings. However, any and all modifications will still fall within the scope of the non-limiting and exemplary embodiments of this disclosure.

Claims

1.A method for power management, comprising:determining an evaluation factor for evaluating a load status of a processor, wherein a sleep state is allowed for the processor and the processor comprises a plurality of processing units; andadjusting an isolation status of the processing units of the processor based on the evaluation factor.2.The method of claim 1, wherein determining the evaluation factor comprises:determining whether a voltage-frequency control state is turned on for the processor;in accordance with a determination that the voltage-frequency control state is turned on, determining the evaluation factor based on a frequency of the processor; andin accordance with a determination that the voltage-frequency control state is turned off, determining the evaluation factor based on a usage of the processor.3.The method of claim 2, wherein the frequency of the processor comprises an average frequency of non-isolated processing units of the processor.4.The method of claim 2, wherein the usage of the processor is determined based on usage of non-isolated processing units of the processor.5.The method of claim 1, wherein adjusting the isolation status of the processing units of the processor comprises:in accordance with a determination that the evaluation factor is larger than a first threshold and less than a second threshold for a first time period, isolating a first number of processing units of the processor, wherein the first threshold is less than the second threshold; andin accordance with a determination that the evaluation factor is less than a third threshold for a second time period, releasing all isolated processing units of the processor, wherein the third threshold is less than the first threshold and the second threshold.6.The method of claim 5, wherein the evaluation factor is a usage of the processor, and  the first number is determined based on a percentage of non-isolated cores, a usage of the processor, and a total number of CPU cores of a server.7.The method of claim 5, wherein the evaluation factor is a frequency of the processor, and the first number is determined based on a percentage of non-isolated cores, a usage of the processor, a total number of CPU cores of a server, an average frequency of non-isolated processing units of the processor, and a base frequency of the processor.8.A method for power management, comprising:determining whether at least one isolated processing unit of a processor needs to be released based on at least one of:an overload status of an application service associated with the processor, ora load status of the processor; andin accordance with a determination that at least one isolated processing unit needs to be released, releasing a predetermined number of isolated processing units of the processor.9.The method of claim 8, wherein determining whether at least one isolated processing unit of a processor needs to be released comprises:in response to receiving an overload indication of the application service indicating the overload status of the application service is overloaded, determining that at least one isolated processing unit of a processor needs to be released; orin accordance with a determination that an evaluation factor for evaluating the load status of the processor is larger than a fourth threshold for a third time period, determining that at least one isolated processing unit needs to be released.10.The method of claim 8 or 9, wherein the releasing of the isolated processing units is stopped in accordance with a determination that an evaluation factor for evaluating the load status of the processor is less than a stopping threshold.11.The method of claim 9 or 10, further comprising:determining whether a voltage-frequency control state is turned on for the processor;in accordance with a determination that the voltage-frequency control state is turned on, determining the evaluation factor based on a frequency of the processor; andin accordance with a determination that the voltage-frequency control state is turned off, determining the evaluation factor based on a usage of the processor.12.The method of claim 11, wherein the frequency of the processor comprises an average frequency of non-isolated processing units of the processor.13.The method of claim 11, wherein the usage of the processor is determined based on usage of non-isolated processing units of the processor.14.A method for power management, comprising:determining whether a processor is to enter a turbo state based on at least one of:an overload status of an application service associated with the processor, ora load status of the processor; andin accordance with a determination that the processor is to enter the turbo state, causing at least a part of processing units of the processor to enter the turbo state.15.The method of claim 14, wherein determining whether a processor is to enter a turbo state comprises:in response to receiving an overload indication of the application service indicating the overload status of the application service is overloaded, determining that the processor is to enter the turbo state.16.The method of claim 14, wherein determining whether a processor is to enter a turbo state comprises:in accordance with a determination that an evaluation factor for evaluating the load status of the processor is larger than a fifth threshold for a fourth time period, determining that the processor is to enter the turbo state.17.The method of any of claims 14 to 16, wherein causing the at least a part of processing units of the processor to enter the turbo state comprises:determining whether at least one processing unit of the processor is pinned for the application service;in accordance with a determination that at least one processing unit of the processor is pinned for the application service, causing the at least one pinned processing unit of the processing units of the processor to enter the turbo state; andin accordance with a determination that none of the processing units of the processor is pinned for the application service, causing all of the processing units of the processor to enter the turbo state.18.The method of claim 17, wherein causing the at least one pinned processing unit to enter the turbo state comprises:turning on turbo for each of the at least one pinned processing unit.19.A method for power management, comprising:determining whether there is an application service associated with a processor is unprocessed, wherein at least a part of processing units of the processor is in a turbo state; andcausing the at least a part of processing units of the processor to exit the turbo state based on the determining.20.The method of claim 19, wherein causing the at least a part of processing units of the processor to exit the turbo state based on the determining comprises:in accordance with a determination that there is an application service associated with the processor is unprocessed, determining whether at least one processing unit of the processor is pinned for the application service based on at least one of:an overload status of the application service, ora load status of processor units used by the application service; andin accordance with a determination that at least one processing unit of the processor is pinned for the application service, causing the at least one pinned processing unit to exit the turbo state.21.The method of claim 20, wherein determining whether at least one processing unit of the processor is pinned for the application service is in accordance with at least one of the following determinations:an overload status of the application service indicating that the application service is no longer overloaded, oran evaluation factor for evaluating the load status of the processor is less than a sixth threshold for a fifth time period.22.The method of claim 19, wherein causing the at least a part of processing units of  the processor to exit the turbo state based on the determining comprises:in accordance with a determination that there is no application service associated with the processor is unprocessed, determining whether an evaluation factor for evaluating the load status of the processor is less than a sixth threshold for a fifth time period; andin accordance with a determination that the evaluation factor is less than the sixth threshold for the fifth time period, causing all of the processing units of the processor to exit the turbo state.23.The method of claim 21 or 22, wherein the evaluation factor is determined based on a usage of the processor.24.An apparatus for power management, comprising:a processor and a memory, the memory containing instructions executable by the processor whereby the apparatus is operative to perform a method according to any of claims 1 to 7, a method according to any of claims 8 to 13, a method according to any of claims 14 to 18, or a method according to any of claims 19 to 23.25.A computer readable medium having instructions stored thereon, the instructions, when executed on at least one processor, causing the at least one processor to perform a method according to any of claims 1 to 7, a method according to any of claims 8 to 13, a method according to any of claims 14 to 18, or a method according to any of claims 19 to 23.