WO2021073085A1 - 面向微服务的纳秒级电力资源分配方法和*** - Google Patents
面向微服务的纳秒级电力资源分配方法和*** Download PDFInfo
- Publication number
- WO2021073085A1 WO2021073085A1 PCT/CN2020/090959 CN2020090959W WO2021073085A1 WO 2021073085 A1 WO2021073085 A1 WO 2021073085A1 CN 2020090959 W CN2020090959 W CN 2020090959W WO 2021073085 A1 WO2021073085 A1 WO 2021073085A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- power consumption
- microservice
- microservices
- power
- performance
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 81
- 238000013468 resource allocation Methods 0.000 title claims abstract description 10
- 230000008569 process Effects 0.000 claims abstract description 40
- 238000007726 management method Methods 0.000 claims abstract description 16
- 230000007246 mechanism Effects 0.000 claims abstract description 12
- 238000013507 mapping Methods 0.000 claims abstract description 11
- 238000013461 design Methods 0.000 claims abstract description 9
- 238000003066 decision tree Methods 0.000 claims description 48
- 230000004044 response Effects 0.000 claims description 21
- 238000012360 testing method Methods 0.000 claims description 19
- 238000012549 training Methods 0.000 claims description 13
- 238000012544 monitoring process Methods 0.000 claims description 9
- 230000005540 biological transmission Effects 0.000 claims description 7
- 238000004364 calculation method Methods 0.000 claims description 6
- 230000007423 decrease Effects 0.000 claims description 6
- 230000003068 static effect Effects 0.000 claims description 6
- 238000012545 processing Methods 0.000 claims description 5
- 230000004083 survival effect Effects 0.000 claims description 3
- 230000008859 change Effects 0.000 claims description 2
- 230000009467 reduction Effects 0.000 claims description 2
- 230000003993 interaction Effects 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 3
- 230000001934 delay Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5094—Allocation of resources, e.g. of the central processing unit [CPU] where the allocation takes into account power or heat criteria
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3206—Monitoring of events, devices or parameters that trigger a change in power modality
- G06F1/3228—Monitoring task completion, e.g. by use of idle timers, stop commands or wait commands
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3206—Monitoring of events, devices or parameters that trigger a change in power modality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/324—Power saving characterised by the action undertaken by lowering clock frequency
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3243—Power saving in microcontroller unit
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3296—Power saving characterised by the action undertaken by lowering the supply or operating voltage
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/243—Classification techniques relating to the number of classes
- G06F18/24323—Tree-organised classifiers
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Definitions
- the invention relates to a technology in the field of power system intelligent control, in particular to a method and system for micro-service-oriented nanosecond power resource allocation in a data center.
- microservice architecture In recent years, cloud applications are transforming from a large, single software architecture to a microservice architecture. Under the microservice architecture, a giant application is split into dozens or even hundreds of independent and differentiated microservices. Each microservice executes different commands for different services and functions, and can usually respond within hundreds of microseconds. Most importantly, by dividing a huge application into many lightweight, process-level microservices, the microservice architecture can more fully present the differences within the application, thereby allowing a more fine-grained implementation for each microservice. , Differentiated power resource management. However, the existing power resource allocation methods in data centers have macro-control delays and micro-execution delays.
- the macro control delay is usually more than 10 seconds, mainly due to the iterative and repeated power information collection and resource control process at the infrastructure level; the micro execution delay is usually between 10 and 31 milliseconds, mainly due to the slow system level on the server side Layer power consumption adjustment technology. Therefore, the existing power resource allocation method usually takes several milliseconds or even a few seconds, and it is difficult to track the heterogeneous characteristics of micro-service changes in the microsecond level, thereby releasing the energy-saving potential of micro-services.
- the present invention proposes a nanosecond-level power resource allocation method and system for microservices, which can realize nanosecond-level power consumption management and distribution for heterogeneous microservices, and fully Exploit the energy-saving potential brought by heterogeneous microservices to further break the goal of traditional data center energy-saving restrictions.
- the invention relates to a nanosecond-level power resource allocation method for microservices, which adopts a flexible power budget method to divide the corresponding allocatable power according to the unique power consumption performance model of each microservice to eliminate macro-control delay;
- the local power consumption modulation design bypasses the power management and control program of the server system layer, and directly calls the voltage modulation module on the processor chip to execute the power distribution process for each microservice to eliminate the micro execution delay; finally, it records through the transparent mapping mechanism And update the flexible power budget method and the adjustment result of the local power consumption modulation design to realize the optimal allocation of power resources.
- the flexible power budget method includes: creating a power performance model to describe the relationship between the performance (ie response time) of different microservices in a dynamic environment and the allocated power consumption, so that the power of different microservices can be quantified.
- the difference in power consumption allocation then according to the heterogeneity of the relationship between microservice power consumption and performance, the power resources are allocated to the most influential microservices, that is, the power resource budget for the most influential microservices is given priority. Under the influence of the performance of the entire application, the utilization rate of power resources is maximized.
- the described creation uses a decision tree-based method to construct a power consumption performance model for each microservice, that is, the power consumption performance model of each microservice is an independent decision tree, and each leaf node of the decision tree represents the microservice.
- the specific steps include:
- Each row of data in the input data set contains the load size of the microservice and the relationship between power consumption and performance in the current load state.
- the training process dynamically and iteratively expands the depth of the tree, that is, the child nodes generated in each iteration process equally divide the load interval of the parent node into completely exclusive and mutually exclusive sub-intervals, and Calculate the sibling child nodes under the same parent node, that is, the average error value of the relationship between power consumption and performance under each load sub-interval; when the error value is less than or equal to 5%, the iteration under the parent node stops, otherwise the next iteration is performed; The error value of the relationship between the power consumption and performance of all sibling child nodes is less than or equal to 5%, and the entire training process ends, otherwise the next iteration is performed.
- test data set to test the trained decision tree to detect the relationship between power consumption and performance under a certain load in the test data set and whether the average error value of the relationship between power consumption and performance calculated by the decision tree Less than 5%; when the error is less than or equal to 5%, it is determined that the power consumption performance model represented by the decision tree is accurate and effective; otherwise, it is determined that the power consumption performance model is inaccurate and the model is updated.
- the root node of the decision tree represents the maximum load interval, and the load interval of all leaf nodes is the division of the maximum load interval.
- Each leaf node saves the difference between the power consumption and performance of the microservice in the current sub-load interval. relationship.
- the different load changes of the microservices described in step 1 adopt the load changes in the Facebook open source data center operating data set.
- the input data set contains 1000 pieces of data, wherein the training data set contains 800 pieces of data, and the test data set contains 200 pieces of data.
- the said updating model refers to the method of updating the leaf nodes of the decision tree or rebuilding the decision tree to improve the accuracy of the model.
- the update of the leaf node of the decision tree refers to: continuously calculating the actual response time of the microservice and the average error value before the response time calculated according to the model stored in the leaf node. When the error is less than or equal to 5%, the leaf node is not updated. Point; otherwise, use the latest running log of the microservice under the load interval indicated by the leaf node to recalculate the power consumption performance model under the leaf node.
- the re-building of the decision tree refers to: when the nature of a microservice changes greatly, that is, when the service is restructured or new microservices are added, the decision tree-based method is used to rebuild the microservice or newly added microservices. Decision tree.
- the division refers to: according to the power consumption performance model, microservices are divided into three types of priority queues in different levels, so that the limited power resources are budgeted successively in the order of microservices from high priority to low priority queues.
- the specific steps include:
- a microservice provides the maximum power consumption reduction, that is, the energy-saving potential just does not cause the entire application performance to be affected.
- the critical condition is determined by the following method: select the maximum response time of all microservices in the entire application as the reference time, and when the power consumption decreases from maximum to minimum, the linear change of response time from 0 to the reference time is the critical power consumption and performance The relationship line between the critical conditions.
- the described local power consumption modulation design involves setting a set of registers, a background process for monitoring the status of the register in real time, and a system call process for allocating the power consumption budget to different microservices.
- the setting of a set of registers refers to: configuring each hardware processing core of the processor with a homogeneous register for receiving power consumption modulation messages and fast power consumption budget value transmission.
- the register adopts a 4-bit register, where the bit "0" is a dirty bit, indicating whether power consumption modulation is required, and when the dirty bit status is 0, it means that the current power consumption setting does not need to be changed;
- the bit status is 1, it means that the current power consumption setting needs to be changed.
- the [4:1] bit of the special register saves the current power consumption modulation requirements, the modulated value of each processor frequency/voltage is a discrete and limited combination, [4:1] bit for each type Numerical values can represent different combination numbers.
- the monitoring refers to: when the dirty bit of any register in a group of registers changes from 0 to 1, triggering the system call process to modify the execution power consumption of the corresponding hardware processing core.
- the described system call process directly modifies the execution power consumption of each hardware processing core by calling the on-chip voltage modulation module.
- the specific method is to directly write the target power consumption value represented by the special register [4:1] bit to the processor.
- the specific power management registers such as the IA32_PERF_STATUS_MSR register provided by Intel processors.
- the described transparent mapping mechanism realizes the recording and updating of adjustment results through hardware tags and software tags, where the hardware tags are used to distinguish the execution process of different microservices on the processor and uniquely correspond to the microservices executed on the on-chip processor.
- Software tags are used to distinguish different microservices in the data center and track the survival status of different microservices.
- the hardware tag is preferably the set of registers.
- the software tags include static software tags and dynamic software tags.
- the dynamic software tags uniquely correspond to a microservice and can be written into the container running the microservice through a container configuration file, such as a YAML file.
- the static software tag is used when running When all containers of a microservice exit, in order to avoid the reconstruction of the power consumption performance model caused by the restart of the microservice, the dynamic software label is saved for a long time.
- the life cycle of the dynamic software label that is, when the container running the microservice is created for the first time, a dynamic software label is assigned; the running status of the microservice and the power consumption performance model can be queried through the dynamic software label; Eventually, the dynamic software label ends with the end of the life cycle of all containers running microservices.
- the specific steps of recording and updating include:
- each microservice container When starting to create each microservice container, assign a dynamic software label to each microservice, and obtain the decision tree between the power consumption and performance of the microservice; by querying the power consumption performance model in the current state of the microservice Divide services into different priority queues and calculate a priority table. Each row in the table records the software label of the microservice and the priority and energy-saving potential of the microservice.
- the priority table is sent to the operating system, and the operating system allocates and manages the power consumption allocated during the execution of the microservice according to the software label and priority in the priority table.
- the operating system binds a software tag of a microservice to a hardware tag, and writes the target power consumption value into the [4:1] bit of a special register.
- the system call process executes the power consumption allocated by the microservice.
- the present invention relates to a system for implementing the above method, including: a power budget unit and a local power consumption modulation unit connected to it through a transparent mapping mechanism, wherein: the power budget unit is connected to the microservice management level and collects and saves each microservice And output the power budget results to the local power consumption modulation unit; the local power consumption modulation unit is connected to the on-chip voltage modulation system of the server, and directly rewrites the relevant registers of the on-chip voltage modulation system through a special 4-bit register to achieve direct execution of functions Consumption distribution process.
- the operation log includes the operation time and power consumption of each microservice, and the power budget unit generates its corresponding power consumption-performance model and allocatable power accordingly.
- the present invention uses a decision tree to automatically and accurately construct the power consumption performance model of microservices to actively quantify the energy saving potential of each microservice, and mines and distinguishes different microservices through a three-level priority queue.
- the difference between the power consumption and performance of each microservice is realized, so as to achieve a fast power consumption budget for each microservice;
- the present invention adopts a special register-supported on-chip power management technology, through a background process and system
- the calling function directly controls the on-chip voltage modulation module to quickly execute the distribution process of power consumption calculations; at the same time, the present invention uses a software tag mechanism to track and distinguish the status of different microservices in the cloud environment, and uses hardware tags to distinguish the actual execution of different microservices And the power consumption allocation process, the organic combination of microservice power budget and power management is realized; finally, the advantages of this embodiment and the existing data center power management technology in terms of power consumption and performance, delay production through energy consumption (EDP: Energy Delay Product) for measurement.
- EDP Energy Delay Product
- FIG. 1 is a schematic diagram of a guide rule for dividing microservice priority levels according to the present invention
- Fig. 2 is a schematic diagram of local power consumption modulation according to the present invention.
- FIG. 3 is a schematic diagram of the entire control flow of the present invention.
- Figure 4 is the customized register architecture and key codes of system call of the present invention
- FIG. 5 is a block diagram of the system of the present invention.
- Fig. 6 and Fig. 7 are schematic diagrams of the embodiment.
- this embodiment relates to a microservice-oriented power resource allocation system in a data center, which includes a power budget unit and a local power consumption modulation unit connected to it through a transparent mapping mechanism.
- the power budget unit includes: a microservice state acquisition module, a power consumption performance model generation module, a power consumption performance model update module, a power consumption decision module, and a power consumption calculation module.
- the microservice state acquisition module provides and microservice level
- the interactive interface of the management system is used to assign software tags to microservices, monitor the load status of microservices in real time, and store microservice operation logs
- the power consumption performance model generation module and update module are used to generate unique microservices using the operation logs of microservices.
- the power consumption decision and calculation module is used to distinguish the most influential microservices, and divide the microservices into different priority queues. Power resources are allocated according to the priority of different microservices.
- the power consumption performance model generation module processes the microservice operation log and generates a decision tree of the power consumption performance model. Specific operations include:
- the input data set includes a total of 1000 lines of input data, and each line of data includes the load size of the microservice and the current load status. The relationship between consumption and performance.
- the input data set is divided into two parts: training data set and test data set.
- the training data set includes 800 pieces of input data, and the test data set includes 200 pieces of input data.
- step ii) Use the training data set obtained in step i) to train the decision tree, so as to dynamically and iteratively expand the depth of the tree.
- the child nodes generated in each iteration process equally divide the load interval of the parent node into sub-intervals that are completely exclusive and mutually exclusive, and calculate the siblings and child nodes under the same parent node, that is, the relationship between power consumption and performance under each load sub-interval The average error value. When the error value is less than or equal to 5%, the next iteration of the parent node will stop, otherwise the next iteration will be performed. When the error value of the relationship between power consumption and performance of all sibling child nodes is less than or equal to 5%, the entire training process ends, otherwise the next iteration is performed.
- test process is to detect the relationship between power consumption and performance under a certain load in the test data set and the function of the decision tree calculation Whether the average error value of the relationship between power consumption and performance is less than 5%; when the error is less than or equal to 5%, the power performance model represented by the decision tree is accurate and effective; when the error is greater than 5%, the power performance model is inaccurate Yes, the model needs to be updated.
- iv) Follow steps i) to iii) to generate a decision tree representing the power consumption performance model of the microservice.
- the root node of the decision tree represents the maximum load interval, and the load interval of all leaf nodes is the division of the maximum load interval.
- Each leaf node The point saves the relationship between the power consumption and performance of the microservice in the current sub-load interval.
- the power consumption performance model update module updates the leaf nodes when the model is inaccurate or regenerates the decision tree when microservices are added.
- the specific operations include:
- the latest operation log of the microservice under the load interval indicated by the leaf node is used to recalculate the power consumption performance model under the leaf node.
- the power consumption decision module divides the microservices into the three-level priority queue by comparing with the critical conditions (as shown in Figure 1).
- the specific operations include:
- the response time of the microservice is always less than or equal to the reference time, and this part of the microservice is put into the queue with priority 3.
- the power consumption allocation module preferentially allocates limited power resources to the microservices in the priority 1 queue to meet their more stringent performance requirements, and finally allocates them to the priority 3 queue. Microservices to provide maximum energy-saving space.
- the local power consumption modulation unit includes: an on-chip voltage modulator control module, a power consumption modulation request monitoring module, and a data/status transmission module.
- the on-chip voltage modulator control module directly writes the target power consumption setting to the The server's on-chip voltage modulation system related registers, so as to bypass the system layer's control of power consumption modulation and realize the direct execution of the power consumption allocation process;
- the power consumption modulation request monitoring module checks whether it is necessary in real time by checking the status of the data/status transmission module Modulate the power consumption of the currently executed microservice.
- the data/status transmission module is implemented by a special register as shown in Figure 4, which is used to transmit the power consumption modulation target and notify whether power consumption modulation is required.
- the structure includes: using bit "0" to indicate a dirty Bit, used to inform whether power consumption modulation is required. When the status of the dirty bit is 0, it means that the current power consumption setting does not need to be changed; when the status of the dirty bit is 1, it means that the current power consumption setting needs to be changed.
- the transparent mapping mechanism unit uses hardware tags and software tags to coordinate the work between the flexible power budget unit and the local power consumption modulation unit, and the specific operations include:
- a dynamic software label is assigned to the microservice through the container configuration file, such as a YAML file.
- the software label is a unique value used to identify a microservice, through which the running status and power consumption performance model of the microservice can be queried;
- the dynamic software label also known as the static software label, is stored for a long time.
- a unique hardware tag is assigned.
- the hardware tag is used to distinguish and manage the execution process of different microservices on the processor.
- the hardware tag is the set of registers.
- Figure 6 analyzes the consumption of this method under different electrical conditions
- the electric energy and the energy saved: PB, HPB, MPB and LPB respectively indicate that the utility power is provided according to 100%, 90%, 85% and 80% of the nameplate power.
- this embodiment can save more than 20% of energy under the TrainTicket test set, and can save more than 10% of energy under the SocialNetwork test machine
- Figure 7 compares this embodiment with the existing data center power management technology in The advantage between power consumption and performance is measured by Energy Delay Product (EDP: Energy Delay Product).
- EDP Energy Delay Product
- ANT is the method and system for nanosecond power resource allocation to microservices proposed in this embodiment
- PC prioritizes limiting the operating power consumption of high-power microservices
- C TC prioritizes the strategy of limiting the power consumption of short-running microservices for power management
- CAP represents the existing use of dynamic voltage and frequency expansion to limit power
- CFP is a method of power management that only considers the relationship between static power consumption and performance.
- this embodiment provides a lower EDP, that is, it can ensure a better advantage between power consumption and performance.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Software Systems (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Power Sources (AREA)
- Supply And Distribution Of Alternating Current (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
Description
Claims (13)
- 一种面向微服务的纳秒级电力资源分配方法,其特征在于,采用灵活功耗预算方法根据每个微服务独特的功耗性能模型划分其对应的可分配的功率以消除宏观调控延迟;然后采用本地功耗调制设计绕过服务器***层的功耗管理和控制程序,直接调用处理器片上的电压调制模块执行针对每个微服务的功耗分配过程以消除微观执行延迟;最后通过透明映射机制记录并更新灵活功耗预算方法以及本地功耗调制设计的调整结果,实现电力资源优化分配;所述的灵活功耗预算方法包括:创建功耗性能模型来描述不同微服务在动态环境下的性能,即响应时间和所分配的功耗之间的关系,从而可以量化不同微服务的功耗分配的差异性;然后根据微服务功耗与性能关系的异构性将电力资源划分给最有影响力的微服务,即优先为最有影响力的微服务进行电力资源预算,可以在不影响整个应用的性能下,最大化地提升电力资源利用率;所述的本地功耗调制设计通过设置一组寄存器、一个用于实时监听该寄存器状态的后台进程以及一个用于将功耗预算分配给不同的微服务的***调用过程;所述的透明映射机制通过硬件标签和软件标签实现调整结果的记录和更新,其中:硬件标签用于区分不同微服务在处理器上的执行过程并唯一对应在片上处理器上执行的微服务,软件标签用于区分数据中心中不同的微服务以及追踪不同微服务的生存状态。
- 根据权利要求1所述的方法,其特征是,所述的创建,采用基于决策树的方法来为每个微服构建功耗性能模型,即每一个微服务的功耗性能模型是一棵独立的决策树,决策树的每一个叶子结点表示微服务在某一负载条件下功耗与性能之间的关系,具体步骤包括:①采集并且保存一个微服务在不同负载状态、不同功耗情况下的运行日志;②解析运行日志得到决策树的输入数据集,将输入数据集分成训练数据集部分和测试数据集部分;③利用训练数据集部分训练决策树,该训练过程动态迭代地扩展树的深度,即每一次迭代过程产生的子节点将父节点的负载区间平均地划分成全无遗漏又互斥的子区间,并且计算同一父节点下的兄弟子节点,即每个负载子区间下功耗与性能关系的平均误差值;当误差值小于等于5%,则该父节点下迭代停止,反之进行下一轮迭代;当所有兄弟子节点的功耗与性能之间的关系误差值都小于等于5%,整个训练过程结束,反之进行下一轮迭代;④利用测试数据集部分对训练后的决策树进行测试,以检测测试数据集中某一负载下的功耗与性能之间的关系和决策树计算的功耗与性能之间的关系平均误差值是否小于5%;当误差小于等于5%,则判定决策树表示的功耗性能模型是准确有效;否则判定功耗性能模型不准确 并更新模型;所述的决策树的根节点表示最大的负载区间,所有叶子结点的负载区间是最大负载区间的划分,每一个叶子结点保存了当前子负载区间下微服务的功耗与性能之间的关系。
- 根据权利要求2所述的方法,其特征是,所述的更新模型是指:采用更新决策树的叶子结点或重新构建决策树的方式提升模型的准确率;所述的更新决策树的叶子结点是指:不断计算微服务实际响应时间和按照叶子结点存储的模型计算的响应时间之前的平均误差值,当误差小于等于5%,则不更新叶子结点;否则利用微服务在该叶子结点表示的负载区间下最近的运行日志,重新计算该叶子结点下的功耗性能模型;所述的重新构建决策树是指:当一个微服务的性质发生巨大改变,即服务重构或者增加新的微服务时,则采用基于决策树的方法重新为该微服务或者新增微服务构建决策树。
- 根据权利要求1所述的方法,其特征是,所述的划分是指:根据功耗性能模型将微服务划分为三类优先级队列的不同级层中,从而将有限的电力资源按微服务的高优先级到低优先级队列的顺序逐次预算,具体步骤包括:①确定功耗与性能关系的临界条件:一个微服务提供最大的功耗下降,即节能潜力刚好不会导致整个应用性能受到影响;②当微服务的功耗与性能之间的关系斜率小于临界条件的斜率,但是随着可分配的功耗降低,最终导致响应时间大于基准时间,则这部分微服务被放进优先级为1,即最高优先级的队列中;③当微服务的功耗与性能之间的关系斜率大于临界条件的斜率,但是随着可分配的功耗降低,最终导致响应时间大于基准时间,则这部分微服务被放进优先级为2的队列中;④随着可分配的功耗降低,微服务的响应时间总是小于等于基准时间,则这部分微服务被放进优先级为3的队列中。
- 根据权利要求4所述的方法,其特征是,所述的所述的临界条件通过以下方式确定:选择整个应用所有微服务最大的响应时间为基准时间,功耗从最大降低到最小时,响应时间从0增加到基准时间的变化直线为临界功耗与性能之间的关系线,即临界条件。
- 根据权利要求1所述的方法,其特征是,所述的本地功耗调制设计通过设置一组寄存器、一个用于实时监听该寄存器状态的后台进程以及一个用于将功耗预算分配给不同的微服务 的***调用过程;所述的设置一组寄存器是指:为处理器的每个硬件处理核配置一个同构的用于接收功耗调制消息以及快速功耗预算数值传输的寄存器。
- 根据权利要求6所述的方法,其特征是,所述的寄存器采用一个4比特位的寄存器,其中比特位“0”是一个脏位,表示是否需要进行功耗调制,当脏位状态为0,则表示不用改变当前功耗设置;当脏位状态为1,则表示需要改变当前功耗设置;所述的监听是指:当一组寄存器中的任意一个寄存器的脏位从0状态变为1时,触发***调用过程修改对应硬件处理核的执行功耗。
- 根据权利要求1所述的方法,其特征是,所述的透明映射机制通过硬件标签和软件标签实现调整结果的记录和更新,其中:硬件标签用于区分不同微服务在处理器上的执行过程并唯一对应在片上处理器上执行的微服务,软件标签用于区分数据中心中不同的微服务以及追踪不同微服务的生存状态。
- 根据权利要求8所述的方法,其特征是,所述的软件标签包括静态软件标签和动态软件标签,其中:动态软件标签唯一对应一个微服务,可以通过容器配置文件,比如YAML文件写入到运行微服务的容器中,静态软件标签是当运行一个微服务的所有容器退出时,为了避免微服务重启导致功耗性能模型的重建,而长时间保存的动态软件标签;所述的动态软件标签的生命周期,即当运行微服务的容器第一次被创建时,就被分配一个动态软件标签;可以通过该动态软件标签查询微服务的运行状态以及功耗性能模型;最终,该动态软件标签随着运行微服务的所有容器的生命周期结束而结束。
- 根据权利要求1或8所述的方法,其特征是,所述的记录和更新,具体步骤包括:①开始创建每一个微服务的容器时,为每一个微服务分配一个动态软件标签,并且获取微服务的功耗与性能之间的决策树;通过查询微服务当前状态下的功耗性能模型将为服务划分到不同的优先队列中,计算一张优先级表格,表格中的每一行记录了微服务的软件标签以及微服务的优先级和节能潜力;②优先级表格被发送给操作***,操作***根据优先级表格中的软件标签和优先级分配和管理微服务执行时分配的功耗;在调度时,操作***把一个微服务的软件标签绑定到一个硬件标签,并且将目标功耗值写入到特制寄存器的[4:1]比特位中;当微服务在处理器上执行时,所述的***调用过程执行微服务分配的功耗。
- 一种实现上述任一权利要求所述方法的***,其特征在于,包括:功率预算单元以及与之通过透明映射机制相连的本地功耗调制单元,其中:功率预算单元与微服务管理层面相连并采集和保存每个微服务的运行日志,并将功率预算结果输出至本地功耗调制单元;本地功耗调制单元与服务器片上电压调制***相连,并通过特制的4比特位寄存器直接改写片上电压调制***相关寄存器实现直接执行功耗分配过程;所述的透明的映射机制单元采用硬件标签和软件标签协调所述的灵活的功耗预算单元和本地功耗调制单元之间的工作;所述的运行日志包括:每个微服务的运行时间和消耗功率,功率预算单元据此生成其对应的功耗-性能模型和可分配的功率。
- 根据权利要求11所述的***,其特征是,所述的功率预算单元包括:微服务状态采集模块、功耗性能模型生成模块、功耗性能模型更新模块、功耗决策模块和功耗计算模块,其中:微服务状态采集模块提供与微服务层面管理***的交互的接口,用于向微服务分配软件标签,实时监控微服务的负载状态以及存储微服务运行日志;功耗性能模型生成模块和更新模块用于利用微服务的运行日志生成其独有的表示功耗性能模型的决策树以及决定如何更新或者重建决策树;功耗决策和计算模块用于区分最有影响力的微服务,将微服务划分到不同优先级队列中,将有限的电力资源根据不同微服务的优先级进行分配。
- 根据权利要求11所述的***,其特征是,所述的本地功耗调制单元包括:片上电压调制器控制模块、功耗调制请求监听模块以及数据/状态传输模块,其中:片上电压调制器控制模块通过***调用直接将目标功耗设置写入到服务器片上电压调制***相关的寄存器中,从而实现绕过***层对功耗调制的控制而实现直接执行功耗分配过程;功耗调制请求监听模块通过检查数据/状态传输模块的状态实时查询是否需要对当前执行的微服务进行功耗调制。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/052,066 US11635799B2 (en) | 2019-10-14 | 2020-05-19 | Nanosecond-scale power resource allocation method and system for microservices |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910972406.9 | 2019-10-14 | ||
CN201910972406.9A CN110825518B (zh) | 2019-10-14 | 2019-10-14 | 面向微服务的纳秒级电力资源分配方法和*** |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2021073085A1 true WO2021073085A1 (zh) | 2021-04-22 |
Family
ID=69549179
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2020/090959 WO2021073085A1 (zh) | 2019-10-14 | 2020-05-19 | 面向微服务的纳秒级电力资源分配方法和*** |
Country Status (3)
Country | Link |
---|---|
US (1) | US11635799B2 (zh) |
CN (1) | CN110825518B (zh) |
WO (1) | WO2021073085A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113791961A (zh) * | 2021-09-18 | 2021-12-14 | 中国平安人寿保险股份有限公司 | 基于微服务的数据采集方法、装置、设备及存储介质 |
CN115202711A (zh) * | 2022-06-29 | 2022-10-18 | 易保网络技术(上海)有限公司 | 数据发布方法及*** |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110825518B (zh) * | 2019-10-14 | 2023-06-09 | 上海交通大学 | 面向微服务的纳秒级电力资源分配方法和*** |
CN112000469A (zh) * | 2020-08-06 | 2020-11-27 | 山东师范大学 | 保证关键微服务性能质量和降低机器功耗的方法及*** |
CN112506657B (zh) * | 2020-12-09 | 2022-04-08 | 上海交通大学 | 基于强化学习的面向微服务的资源管理*** |
US20230028803A1 (en) * | 2021-07-23 | 2023-01-26 | Dell Products L.P. | Method and system for business yield aware workload distribution |
US11743200B2 (en) * | 2021-08-23 | 2023-08-29 | Netflix, Inc. | Techniques for improving resource utilization in a microservices architecture via priority queues |
CN114675738B (zh) * | 2022-02-24 | 2024-04-12 | 深圳大学 | 一种基于最佳反馈时间的cpu调频方法、***及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105631196A (zh) * | 2015-12-22 | 2016-06-01 | 中国科学院软件研究所 | 一种面向微服务架构的容器级弹性资源供给***及方法 |
US20180254996A1 (en) * | 2017-03-03 | 2018-09-06 | International Business Machines Corporation | Automatic scaling of microservices based on projected demand |
CN110825518A (zh) * | 2019-10-14 | 2020-02-21 | 上海交通大学 | 面向微服务的纳秒级电力资源分配方法和*** |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8374928B2 (en) * | 2010-02-25 | 2013-02-12 | International Business Machines Corporation | Data center power cost accounting system |
CN102176696B (zh) * | 2011-02-25 | 2013-03-20 | 曙光信息产业(北京)有限公司 | 多计算机*** |
CN105404944A (zh) * | 2015-12-11 | 2016-03-16 | 中国电力科学研究院 | 一种面向电力***重过载预警的大数据分析方法 |
CN206209740U (zh) * | 2016-07-20 | 2017-05-31 | 上海孔诚物联网科技股份有限公司 | 一种智能数据采集器 |
US9875086B1 (en) * | 2016-09-29 | 2018-01-23 | International Business Machines Corporation | Optimizing performance of applications driven by microservices architecture |
US10411973B2 (en) * | 2017-03-20 | 2019-09-10 | Red Hat, Inc. | Automatic microservice problem detection in enterprise applications |
US10769274B2 (en) * | 2017-08-15 | 2020-09-08 | Sap Se | Security in microservice architectures |
CN108712480B (zh) * | 2018-05-02 | 2021-03-16 | 上海交通大学 | 数据中心中的非it资源分配*** |
-
2019
- 2019-10-14 CN CN201910972406.9A patent/CN110825518B/zh active Active
-
2020
- 2020-05-19 US US17/052,066 patent/US11635799B2/en active Active
- 2020-05-19 WO PCT/CN2020/090959 patent/WO2021073085A1/zh active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105631196A (zh) * | 2015-12-22 | 2016-06-01 | 中国科学院软件研究所 | 一种面向微服务架构的容器级弹性资源供给***及方法 |
US20180254996A1 (en) * | 2017-03-03 | 2018-09-06 | International Business Machines Corporation | Automatic scaling of microservices based on projected demand |
CN110825518A (zh) * | 2019-10-14 | 2020-02-21 | 上海交通大学 | 面向微服务的纳秒级电力资源分配方法和*** |
Non-Patent Citations (4)
Title |
---|
HOU XIAOFENG [email protected]; LIU JIACHENG [email protected]; LI CHAO [email protected]; GUO MINYI [email protected]: "Unleashing the Scalability Potential of Power-Constrained Data Center in the Microservice Era", PROCEEDINGS OF THE 48TH INTERNATIONAL CONFERENCE ON PARALLEL PROCESSING , ICPP 2019, ACM PRESS, NEW YORK, NEW YORK, USA, 5 August 2019 (2019-08-05) - 8 August 2019 (2019-08-08), New York, New York, USA, pages 1 - 10, XP058456105, ISBN: 978-1-4503-6295-5, DOI: 10.1145/3337821.3337857 * |
LIU, XIAODONG ET AL.: "Service-capacity-model based auto-scaling of resource provisioning mechanism for microservices", HIGH TECHNOLOGY LETTERS, vol. 29, no. 1, 31 January 2019 (2019-01-31), pages 1 - 11, XP055802959, ISSN: 1002-0470 * |
PAREKH NIKUNJ; KURUNJI SWATHI; BECK ALAN: "Monitoring Resources of Machine Learning Engine In Microservices Architecture", 2018 IEEE 9TH ANNUAL INFORMATION TECHNOLOGY, ELECTRONICS AND MOBILE COMMUNICATION CONFERENCE (IEMCON), IEEE, 1 November 2018 (2018-11-01), pages 486 - 492, XP033498895, DOI: 10.1109/IEMCON.2018.8614791 * |
YANG ZHE; NGUYEN PHUONG; JIN HAIMING; NAHRSTEDT KLARA: "MIRAS: Model-based Reinforcement Learning for Microservice Resource Allocation over Scientific Workflows", 2019 IEEE 39TH INTERNATIONAL CONFERENCE ON DISTRIBUTED COMPUTING SYSTEMS (ICDCS), IEEE, 7 July 2019 (2019-07-07), pages 122 - 132, XP033651844, DOI: 10.1109/ICDCS.2019.00021 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113791961A (zh) * | 2021-09-18 | 2021-12-14 | 中国平安人寿保险股份有限公司 | 基于微服务的数据采集方法、装置、设备及存储介质 |
CN113791961B (zh) * | 2021-09-18 | 2023-07-25 | 中国平安人寿保险股份有限公司 | 基于微服务的数据采集方法、装置、设备及存储介质 |
CN115202711A (zh) * | 2022-06-29 | 2022-10-18 | 易保网络技术(上海)有限公司 | 数据发布方法及*** |
CN115202711B (zh) * | 2022-06-29 | 2023-11-14 | 易保网络技术(上海)有限公司 | 数据发布方法及*** |
Also Published As
Publication number | Publication date |
---|---|
US11635799B2 (en) | 2023-04-25 |
US20220317754A1 (en) | 2022-10-06 |
CN110825518B (zh) | 2023-06-09 |
CN110825518A (zh) | 2020-02-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2021073085A1 (zh) | 面向微服务的纳秒级电力资源分配方法和*** | |
US11455189B2 (en) | Task scheduling simulation system | |
CN103092316B (zh) | 一种基于数据挖掘的服务器功耗管理*** | |
CN102004671B (zh) | 一种云计算环境下数据中心基于统计模型的资源管理方法 | |
CN104486255A (zh) | 业务资源调度方法和装置 | |
CN104915407A (zh) | 一种基于Hadoop多作业环境下的资源调度方法 | |
CN107122243A (zh) | 用于cfd仿真计算的异构集群***及cfd计算方法 | |
US20210248469A1 (en) | Method and apparatus for scheduling deep learning reasoning engines, device, and medium | |
CN103324534A (zh) | 作业调度方法及其调度器 | |
CN103645795A (zh) | 一种基于人工神经网络的云计算数据中心节能方法 | |
CN111399970A (zh) | 一种预留资源管理方法、装置和存储介质 | |
KR102607808B1 (ko) | 분산 이종 컴퓨터 시스템에서의 최적화된 잡 성능을 위한 동적 자원 재할당 | |
CN114996018A (zh) | 面向异构计算的资源调度方法、节点、***、设备及介质 | |
Xu et al. | Enhancing kubernetes automated scheduling with deep learning and reinforcement techniques for large-scale cloud computing optimization | |
Yu et al. | System-wide trade-off modeling of performance, power, and resilience on petascale systems | |
CN117390854A (zh) | 一种车辆数字孪生实例模拟运行***及方法 | |
Zhang et al. | A spark scheduling strategy for heterogeneous cluster | |
CN104615439A (zh) | 一种可重构***的配置控制器 | |
CN106027318A (zh) | 一种基于云计算的虚拟机两级优化调度管理平台 | |
Daoud et al. | [Retracted] Cloud‐IoT Resource Management Based on Artificial Intelligence for Energy Reduction | |
CN105183485B (zh) | 一种可视化软硬件协同开发方法 | |
CN105045761B (zh) | 一种数据中心的高速并行处理架构 | |
CN103092328A (zh) | 一种基于磁盘休眠的计算机节能的方法 | |
CN105116987A (zh) | 一种云计算中心的通用电源和性能管理*** | |
CN117290102A (zh) | 跨域异构资源的调度方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 20876069 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 20876069 Country of ref document: EP Kind code of ref document: A1 |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 20876069 Country of ref document: EP Kind code of ref document: A1 |
|
32PN | Ep: public notification in the ep bulletin as address of the adressee cannot be established |
Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205 DATED 22/05/2023) |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 20876069 Country of ref document: EP Kind code of ref document: A1 |