Server-aware computing platform energy efficiency optimization method and system
By optimizing the energy efficiency of the server-insensitive computing platform through a power synchronization mechanism, the problem of failing to effectively manage the energy efficiency of the joint deployment of server-insensitive computing functions in existing technologies is solved, thus achieving more efficient energy utilization.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- SHANGHAI JIAOTONG UNIV
- Filing Date
- 2022-07-12
- Publication Date
- 2026-05-12
AI Technical Summary
Existing power management methods fail to effectively consider the energy efficiency issues of server-insensitive computing functions being deployed on the same processor core, and have significant management overhead, making them particularly unsuitable for server-insensitive computing functions with short lifecycles.
By collecting the characteristic information of functions, the optimal operating frequency and timing differences are identified. The operating frequency of functions is synchronized using a power synchronization mechanism. A set of synchronized functions is constructed and distributed to idle computing resources. The CPU core status is monitored and managed in real time to optimize energy efficiency.
This reduces the power management overhead of the server-insensitive computing platform, ensures that functions run at the optimal frequency, and improves energy efficiency.
Smart Images

Figure CN115129475B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to a technology in the field of cloud computing, specifically a platform energy efficiency optimization method and system for serverless computing. Background Technology
[0002] Server-aware computing, as an emerging cloud-native architecture, is changing the deployment and management models of applications in cloud computing. Server-aware computing allows users to focus solely on the application logic itself, without having to worry about complex tasks such as resource management. This greatly improves the flexibility of application deployment and user productivity. Because server-aware functions have low resource requirements and short lifecycles, they are typically deployed on the same processing core to improve resource utilization in server-aware computing systems. Existing power management methods do not consider the power consumption characteristics of server-aware computing functions deployed on the same processor core. Furthermore, existing power management methods incur significant management overhead and are unsuitable for short-lifecycle server-aware computing functions. Summary of the Invention
[0003] To address the aforementioned shortcomings of existing technologies, this invention proposes a method and system for optimizing the energy efficiency of server-insensitive computing platforms. This method optimizes the energy efficiency of server-insensitive computing functions through a power synchronization mechanism. The system identifies differences in the optimal operating frequency of server-insensitive computing functions, as well as timing differences in these optimal operating frequencies. It then proposes a power synchronization mechanism to synchronize the optimal operating frequency of the functions, ensuring that the functions operate at their optimal frequency throughout their entire lifecycle.
[0004] This invention is achieved through the following technical solution:
[0005] This invention relates to a server-insensitive platform energy efficiency management method based on power synchronization. By collecting feature information of functions on the server-insensitive platform during the initialization and operation phases, combining functions with the same features to form a set of synchronized functions, and then distributing them to function processing nodes with idle computing resources and deploying them on the corresponding processing cores, the feature information is updated to achieve cyclical energy efficiency management.
[0006] The aforementioned feature information includes: optimal operating frequency, running time, and the size of the function's input data.
[0007] The aforementioned feature information includes: the optimal running frequency of the function during the initialization and runtime phases. <Freq init Freq exec >And the runtime of the function during the initialization and runtime phases. <T initT exec >And the size of the function's input data.
[0008] The optimal operating frequency refers to the frequency at which the system can achieve its maximum energy efficiency.
[0009] The synchronization function refers to obtaining the current function's execution information based on the collected historical feature information of the function. This includes determining the optimal execution frequency for the function's initialization and execution phases. <Freq init Freq exec >Obtained by querying historical data. The runtime of the function is predicted using a linear regression model. Functions with the same optimal runtime frequency and runtime are then combined into a synchronization function set, represented by a quadruple. <Freq init Freq exec T init T exec >Characterize.
[0010] The linear regression described refers to training a specific prediction function runtime (ET) linear regression model at each frequency based on the input data size (Input). The model's ET = a + b * Input, where a and b are the intercept and slope, respectively. 80% of the historical data from the function's runtime is randomly selected as the training set, and the remaining 20% is used as the test set for training the linear regression model.
[0011] The corresponding distribution refers to distributing the synchronization functions to the idle CPU cores of the processing nodes according to the number of synchronization function sets and the status of node idle resources.
[0012] The deployment refers to: deploying the synchronization function to an idle CPU core on the function processing node, setting the frequency of the idle CPU core to the optimal operating frequency for the initialization phase of the synchronization function, and then monitoring and managing the working status of the CPU core.
[0013] The CPU core's operating states refer to: phase transition cores, synchronization violation cores, and idle CPU cores. A phase transition core occurs when, as a function runs, the function on the CPU core undergoes a phase change, transitioning from the initialization phase to the runtime phase, and the function's required optimal operating frequency also changes. At this time, the node management processor adjusts the core's frequency to the optimal operating frequency for the function's runtime phase. A synchronization violation core occurs when, during function execution, unpredictable factors prevent some functions on certain cores from operating entirely in power synchronization mode. The node management processor periodically monitors the phase and number of functions running on the cores to determine whether the functions on the CPU core are operating entirely in power synchronization mode. An idle core is one where, after a function finishes its computation, the CPU core is idle and can be used for the next function deployment and computation.
[0014] The aforementioned monitoring and management refers to: running a daemon process within the node to analyze the container logs of functions running within the node, and obtaining the function's stage information, running status, and core status.
[0015] The updated feature information refers to: every 100ms, the node counts the number of idle CPU cores and the synchronization status of functions within the node, records the number of idle CPU cores to facilitate the next distribution of synchronized functions, and corrects the function execution time based on the prediction algorithm of the cores that violate the synchronization status.
[0016] The aforementioned correction refers to retraining the linear regression model used for runtime prediction based on the function's runtime history information.
[0017] Technical effect
[0018] This invention fully considers the differences in optimal operating points and runtime of server-insensitive computing functions, and designs a power synchronization method to reduce the overhead of power management in server-insensitive platforms. Compared with existing work, this system can ensure that functions in server-insensitive computing systems operate at the optimal frequency as much as possible, and improve the energy efficiency of server-insensitive computing systems. Attached Figure Description
[0019] Figure 1 This is a flowchart of the present invention;
[0020] Figure 2 This is a system diagram of the present invention;
[0021] Figure 3-4 This is a flowchart of the function joint processing and node management processing in the embodiment;
[0022] Figure 5 This is a schematic diagram illustrating the effect of an example. Detailed Implementation
[0023] like Figure 2 As shown, this embodiment relates to a server-insensitive platform energy efficiency optimization system characterized by power synchronization, including: a function information acquisition module, a function combination module, a function distribution module, and a node management module. Specifically: the function information processing module acquires information such as the optimal running frequency and running time of a function based on its identification information; the function combination module combines functions with the same optimal running frequency and running time based on the running time information of the function at its optimal running frequency, forming a synchronized function set; the function distribution module distributes the synchronized functions to nodes with idle CPU cores based on the synchronized function set and the information of idle CPU cores on the nodes. The node management module performs power synchronization management on the functions distributed to the node and monitors their running status in real time to ensure efficient and synchronized system operation.
[0024] The function information acquisition module includes: a function identifier acquisition unit, an optimal running frequency acquisition unit, and a function running time information acquisition unit. Specifically, the function identifier acquisition unit acquires the function identifier based on the function's trigger information. Based on the function identifier, the optimal running frequency acquisition unit compares the function's energy efficiency at different CPU core frequencies, thereby acquiring the optimal running frequency for the function during the initialization and runtime phases. <Freq init Freq exec The function runtime information acquisition unit obtains the initialization time and runtime of the function at different CPU core frequencies based on the different input data sizes of the function (Input), and records this information.
[0025] The function co-processing module includes: a function optimal execution frequency analysis unit, a function lifecycle evaluation unit, and a function synchronization unit. Specifically: the function optimal execution frequency analysis unit obtains the optimal execution frequency of the function during the initialization and execution phases from the function's historical execution information. The function lifecycle evaluation unit uses a linear regression model to evaluate the lifecycle of the function based on historical information such as the function's input data size and execution time, obtaining the function's initialization time and execution time. The function synchronization unit combines the functions based on the optimal execution frequency information and the function's lifecycle information to obtain a synchronized function set.
[0026] The function distribution module includes a synchronization function grouping unit and a node selection unit. The synchronization function grouping unit groups and distributes the synchronization functions based on the size of the synchronization function set and the number of functions deployed on each CPU core. The node selection unit queries nodes with idle CPU cores based on the running status of nodes on the server-invisible platform and distributes the grouped functions to these nodes.
[0027] The node management module includes a function triggering unit, a system resynchronization unit, and an information feedback unit. The function triggering unit deploys the function on an idle CPU core and adjusts its frequency based on information such as the function's identifier and optimal running frequency. The system resynchronization unit adjusts the CPU core frequency based on information about changes in the function's execution phases, ensuring the function executes at the optimal frequency. The information feedback unit acquires the node's running status, including the number of idle CPU cores and the function synchronization status, and feeds this information back to the function distribution module.
[0028] This embodiment presents a server-insensitive platform energy efficiency optimization method based on the above system, characterized by power synchronization, comprising the following steps:
[0029] Step 1: Use the function information acquisition module to obtain function information. The function information acquisition module refers to the module that, when a user sends a function trigger request, acquires the function's identifier and obtains function information from two aspects: 1) the optimal running frequency of the function during the initialization and runtime phases; 2) the running time of the function during the initialization and runtime phases, as well as the function's input size.
[0030] The optimal operating frequency for a function during initialization and runtime is determined by: binding the function to a specific CPU core using cgroups, then setting the core's frequency to 0.8GHz, 0.9GHz, ..., 2.2GHz, and recording the function's energy efficiency during initialization and runtime at each frequency setting. The frequency that maximizes energy efficiency during initialization is the optimal operating frequency for that initialization phase, and the frequency that maximizes energy efficiency during runtime is the optimal operating frequency for that runtime phase. The optimal operating frequency of a function is expressed as... <Freq init Freq exec >
[0031] The aforementioned acquisition of the function's runtime during the initialization and runtime phases, as well as the function's input size, refers to: collecting the user-uploaded input size (image, text, etc.) and calculating the function's time during the initialization and runtime phases. The function's runtime is expressed as... <T init T exec >, the size of the input data for the function.
[0032] The function information acquisition module will retrieve the function information. <Freq init Freq exec T init T exec Input is stored in the function information table.
[0033] Step 2: Use the function union module to group functions with the same optimal running frequency and running time into a synchronized function set. The function union module mainly includes two functions: 1) querying the optimal running frequency of a function; 2) evaluating the running time of a function.
[0034] 1) Based on the identifier of the triggering function, query the function information table and obtain the optimal running frequency Freq for the function during the initialization phase. init And the optimal execution frequency of the function during runtime: Freq exec .
[0035] 2) First, based on the function identifier, query the function information table to obtain the duration T of the function during the initialization phase. init This module uses a linear regression prediction algorithm to evaluate the runtime of a function during its runtime phase.
[0036] The aforementioned linear regression prediction algorithm refers to the ability to construct a prediction algorithm for the running time T of a function based on its input size (Input). exec linear regression model T exec = A + B × Input. Where A is the bias, and B is the slope of the model. This is achieved by collecting T values of the same function under different inputs. exec The size can be used to train a linear regression model of the function to evaluate the function's running time.
[0037] The function union module groups functions with the same optimal running frequency and running time into a synchronized function set, which is represented as a quadruple. <Freq init Freq exec T init T exec >
[0038] Step 3: Using the function distribution module, the synchronized function set is distributed to function processing nodes with idle CPU cores. Each CPU core can deploy m server-insensitive computation functions. During function distribution, the module obtains the number of functions in the synchronized function set as N1, N2...N. n The function dispatch module will divide functions into... The module assigns each group of m functions to a set of m function identifiers and their corresponding quadruples. <Freq init Freq exec T init T exec >Sent to the function processing node. The remaining N1%m, N2%m, ... N n%m functions need to queue up and wait for the next function dispatch.
[0039] Step 4: Use the node management module to manage the synchronized execution of functions within nodes. The node management module includes three functions: 1) function triggering; 2) system resynchronization; 3) information feedback.
[0040] 1) The function triggering mentioned above refers to: the node management module receiving a function triggering request sent by the function distribution module, and this module parsing the identifiers of m functions and their quadruplets. <Freq init Freq exec T init T exec The node management module queries the idle CPU cores of this node, uses cgroup to bind m functions to that idle CPU core, and uses cpupower to adjust the core's frequency to Freq. init .
[0041] 2) The system resynchronization mentioned above refers to: the node management module managing and monitoring the running status of CPU cores on the node, adjusting the power management status of functions, and ensuring that functions can run in power synchronization mode to the maximum extent. System resynchronization manages CPU cores into three categories: i) phase transition cores, ii) cores that violate synchronization state, and iii) idle CPU cores.
[0042] i) The stage transition kernel refers to the transition of a function running on a CPU core from the initialization phase to the runtime phase, during which the function's optimal execution frequency changes. The node management module uses Docker logs to obtain log information of functions running on the CPU core and parses the stage change of the function. For stage transition kernels, the node management module uses cpupower to adjust the frequency of the kernel to Freq. exec .
[0043] ii) The aforementioned kernel violating synchronization refers to a situation where, due to nondeterministic factors, functions on certain kernels cannot operate entirely in power synchronization mode. The node management module periodically monitors the stage and number of functions running on the kernels to determine whether the functions on the CPU kernels are operating entirely in power synchronization mode.
[0044] The term "idle core" refers to a CPU core that is idle after a function finishes its operation and can be used for the deployment and operation of the next function.
[0045] The information feedback refers to the node management module reporting the number of idle CPU cores to the function distribution module to facilitate the distribution of the next synchronized function. Simultaneously, the node management module reports information about cores violating synchronization states to the function union module, prompting the function union module to correct its function runtime prediction algorithm.
[0046] Through specific practical experiments, using an Intel(R) Xeon(R) Silver 4114 CPU, and selecting the functions ALUpy, ALUJS, ALUGo, ALUswift, ALUphp, ALUruby, and FileIO, the functions were accessed at a rate of 1000 functions per second, with four functions deployable per CPU core. The experimental data shows that compared to a solution without power synchronization, this invention can improve the overall system energy efficiency by 16%.
[0047] Compared to existing technologies, this invention fully considers the differences in optimal operating points and runtime of server-insensitive computing functions, and reduces power management overhead through power synchronization. This system ensures that functions in the server-insensitive computing system operate at their optimal frequency as much as possible, and improves the energy efficiency of the server-insensitive computing system.
[0048] The above-described specific implementations can be partially adjusted by those skilled in the art in different ways without departing from the principles and purpose of the present invention. The scope of protection of the present invention is defined by the claims and is not limited to the above-described specific implementations. All implementation schemes within the scope of the claims are bound by the present invention.
Claims
1. A server-insensitive platform energy efficiency management method based on power synchronization, characterized in that, By collecting feature information of functions on the server-insensitive platform during the initialization and running phases, combining functions with the same features to form a set of synchronized functions, and then distributing them to function processing nodes with idle computing resources and deploying them to the corresponding processing cores, the feature information is updated to achieve cyclical energy efficiency management. The feature information includes: optimal running frequency, running time, and the size of the function's input data; The aforementioned feature information includes: the optimal running frequency of the function during the initialization and runtime phases. >And the runtime of the function during the initialization and runtime phases< >And the size of the function's input data (Input); The synchronization function refers to: obtaining the current function's execution information based on the collected historical feature information of the function; wherein the optimal execution frequency of the function's initialization phase and execution phase is < >Obtained by querying historical data; the running time of functions is predicted using a linear regression model; and functions with the same optimal running frequency and running time are combined into a set of synchronization functions, using quadruples< >Characterize; The deployment refers to: deploying the synchronization function to an idle CPU core on the function processing node, setting the frequency of the idle CPU core to the optimal operating frequency for the initialization phase of the synchronization function, and then monitoring and managing the working status of the CPU core.
2. The server-insensitive platform energy efficiency management method based on power synchronization according to claim 1, characterized in that, The linear regression mentioned refers to: training a specific prediction function and running a linear regression model at each frequency based on the input data size of the function. ; where a and b are the intercept and slope in the linear regression model, respectively; 80% of the historical running information of the random selection function is used as the training set of the model, and the remaining 20% is used as the test set to train the linear regression model.
3. The server-insensitive platform energy efficiency management method based on power synchronization according to claim 1, characterized in that, The CPU core's operating states refer to: phase transition cores, synchronization violation cores, and idle CPU cores. Specifically: a phase transition core refers to a core where, as a function runs, the function on the CPU core undergoes a phase change, transitioning from the initialization phase to the runtime phase, and the required optimal operating frequency of the function also changes; at this time, the node management processor is responsible for adjusting the core's frequency to the optimal operating frequency for the function's runtime phase. A synchronization violation core refers to a core where, during function execution, due to unpredictable factors, some functions on certain cores cannot operate entirely according to power synchronization mode; the node management processor periodically monitors the phase and number of functions running on the core to determine whether the functions on the CPU core are operating entirely according to power synchronization mode. An idle core refers to a core that is idle after a function finishes its operation, ready for the next function deployment and operation.
4. The server-insensitive platform energy efficiency management method based on power synchronization according to claim 1, characterized in that, The updated feature information refers to: every 100ms, the node counts the number of idle CPU cores and the synchronization status of functions within the node, records the number of idle CPU cores to facilitate the next distribution of synchronized functions, and corrects the function runtime prediction algorithm based on the cores that violate the synchronization status. That is, based on the function's runtime history information, the linear regression model used for runtime prediction is retrained.
5. A server-insensitive platform energy efficiency optimization system characterized by power synchronization, implementing the server-insensitive platform energy efficiency management method according to any one of claims 1 to 4, characterized in that, include: The system comprises a function information acquisition module, a function union module, a function distribution module, and a node management module. Specifically: the function information processing module acquires information such as the optimal running frequency and running time of a function based on its identifier; the function union module combines functions with the same optimal running frequency and running time to form a synchronized function set based on the running time information of the functions at their optimal running frequency; the function distribution module distributes the synchronized functions to nodes with idle CPU cores based on the synchronized function set and the information of idle CPU cores on the nodes; and the node management module performs power synchronization management on the functions distributed to the node and monitors their running status in real time to ensure efficient and synchronized system operation. The function merging module includes: a function optimal running frequency analysis unit, a function lifecycle evaluation unit, and a function synchronization unit; wherein: the function optimal running frequency analysis unit obtains the optimal running frequency of the function during the initialization and running phases from the function's historical running information; the function lifecycle evaluation unit uses a linear regression model to evaluate the lifecycle of the function based on historical information such as the function's input data size and running time, obtaining the function's initialization time and running time; the function synchronization unit merges the functions based on the function's optimal running frequency information and the function's lifecycle information to obtain a synchronized function set.
6. The server-insensitive platform energy efficiency optimization system according to claim 5, characterized in that, The function information acquisition module includes: a function identifier acquisition unit, an optimal running frequency acquisition unit, and a function running time information acquisition unit. Specifically: the function identifier acquisition unit acquires the function identifier based on the function's trigger information; based on the function identifier, the optimal running frequency acquisition unit compares the function's energy efficiency at different CPU core frequencies based on the function's performance at different CPU core frequencies, thereby acquiring the optimal running frequency for the function during the initialization and runtime phases. The function runtime information acquisition unit obtains the initialization time and runtime of the function at different CPU core frequencies based on the different input data sizes of the function (Input), and records this information. The function distribution module includes a synchronization function grouping unit and a node selection unit. The synchronization function grouping unit groups and distributes the synchronization functions according to the size of the synchronization function set and the number of functions deployed on the CPU core. The node selection unit queries nodes with idle CPU cores based on the running status of nodes on the server-invisible platform and distributes the grouped functions to the nodes with idle CPU cores.
7. The server-insensitive platform energy efficiency optimization system according to claim 5, characterized in that, The node management module includes a function triggering unit, a system resynchronization unit, and an information feedback unit. The function triggering unit deploys the function on an idle CPU core and adjusts its frequency based on the function's identifier and optimal operating frequency. The system resynchronization unit adjusts the CPU core frequency based on information about changes in the function's execution phases, ensuring the function runs at its optimal frequency. The information feedback unit acquires the node's running status, including the number of idle CPU cores and the function synchronization status, and feeds this information back to the function distribution module.