WO2021073085A1 - 面向微服务的纳秒级电力资源分配方法和系统 - Google Patents

面向微服务的纳秒级电力资源分配方法和系统 Download PDF

Info

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
Application number
PCT/CN2020/090959
Other languages
English (en)
French (fr)
Inventor
李超
侯小凤
过敏意
Original Assignee
上海交通大学
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 上海交通大学 filed Critical 上海交通大学
Priority to US17/052,066 priority Critical patent/US11635799B2/en
Publication of WO2021073085A1 publication Critical patent/WO2021073085A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5094Allocation of resources, e.g. of the central processing unit [CPU] where the allocation takes into account power or heat criteria
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3228Monitoring task completion, e.g. by use of idle timers, stop commands or wait commands
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/324Power saving characterised by the action undertaken by lowering clock frequency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3243Power saving in microcontroller unit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3296Power saving characterised by the action undertaken by lowering the supply or operating voltage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording 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/3409Recording 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/243Classification techniques relating to the number of classes
    • G06F18/24323Tree-organised classifiers
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy 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.

Abstract

一种面向微服务的纳秒级电力资源分配方法及系统,采用灵活功耗预算方法根据每个微服务独特的功耗性能模型划分其对应的可分配的功率以消除宏观调控延迟;然后采用本地功耗调制设计绕过服务器系统层的功耗管理和控制程序,直接调用处理器片上的电压调制模块执行针对每个微服务的功耗分配过程以消除微观执行延迟;最后通过透明映射机制记录并更新灵活功耗预算方法以及本地功耗调制设计的调整结果,实现电力资源优化分配。本发明实现了充分地挖掘异构微服务带来的节能潜力,从而进一步打破传统数据中心节能限制的目标。

Description

面向微服务的纳秒级电力资源分配方法和系统 技术领域
本发明涉及的是一种电力系统智能控制领域的技术,具体是一种数据中心中面向微服务的纳秒级的电力资源分配的方法和系统。
背景技术
近些年,云应用正在从大型的、单一的软件架构转化成微服务架构。在微服务架构下,一个巨型的应用程序被拆分成数十个甚至数百个相互独立的、差异的微服务。每个微服务执行不同的命令,用于不同的服务和功能,通常能够在数百微秒时间内进行响应。最重要的是,通过将巨型的应用划分成许多轻量的、进程级的微服务,微服务架构能够更加充分地呈现应用内部的差异性,进而允许针对每个微服务实现更为细粒度地、差异化的电力资源管理。然而,数据中心现存电力资源分配方法存在宏观控制延迟和微观执行延迟。宏观控制延迟通常超过10秒,主要是由于基础设施层面上迭代的、重复的电力信息采集和资源控制过程造成的;微观执行延迟通常在10~31毫秒之间,主要是服务器端缓慢的系统级层功耗调节技术导致的。因此,现存的电力资源分配方法通常需要花费几毫秒甚至几秒,难以追踪微服务的微秒级变化的异构特性,进而释放微服务带来的节能潜力。
发明内容
本发明针对现有技术存在的上述两重延迟,提出一种面向微服务的纳秒级电力资源分配方法和系统,能够实现针对异构微服务的纳秒级的功耗管理和分配,充分地挖掘异构微服务带来的节能潜力,从而进一步打破传统数据中心节能限制的目标。
本发明是通过以下技术方案实现的:
本发明涉及一种面向微服务的纳秒级电力资源分配方法,采用灵活功耗预算方法根据每个微服务独特的功耗性能模型划分其对应的可分配的功率以消除宏观调控延迟;然后采用本地功耗调制设计绕过服务器系统层的功耗管理和控制程序,直接调用处理器片上的电压调制模块执行针对每个微服务的功耗分配过程以消除微观执行延迟;最后通过透明映射机制记录并更新灵活功耗预算方法以及本地功耗调制设计的调整结果,实现电力资源优化分配。
所述的灵活功耗预算方法包括:创建功耗性能模型来描述不同微服务在动态环境下的性能(即响应时间)和所分配的功耗之间的关系,从而可以量化不同微服务的功耗分配的差异性;然后根据微服务功耗与性能关系的异构性将电力资源划分给最有影响力的微服务,即优先为最有影响力的微服务进行电力资源预算,可以在不影响整个应用的性能下,最大化地提升电力资 源利用率。
所述的创建,采用基于决策树的方法来为每个微服构建功耗性能模型,即每一个微服务的功耗性能模型是一棵独立的决策树,决策树的每一个叶子结点表示微服务在某一负载条件下功耗与性能之间的关系。
所述的基于决策树的方法,具体步骤包括:
①采集并且保存一个微服务在不同负载状态、不同功耗情况下的运行日志。
②解析运行日志得到决策树的输入数据集,将输入数据集分成训练数据集部分和测试数据集部分。
所述的输入数据集中每行数据包含该微服务的负载大小以及当前负载状态下功耗与性能之间的关系。
③利用训练数据集部分训练决策树,该训练过程动态迭代地扩展树的深度,即每一次迭代过程产生的子节点将父节点的负载区间平均地划分成全无遗漏又互斥的子区间,并且计算同一父节点下的兄弟子节点,即每个负载子区间下功耗与性能关系的平均误差值;当误差值小于等于5%,则该父节点下迭代停止,反之进行下一轮迭代;当所有兄弟子节点的功耗与性能之间的关系误差值都小于等于5%,整个训练过程结束,反之进行下一轮迭代。
④利用测试数据集部分对训练后的决策树进行测试,以检测测试数据集中某一负载下的功耗与性能之间的关系和决策树计算的功耗与性能之间的关系平均误差值是否小于5%;当误差小于等于5%,则判定决策树表示的功耗性能模型是准确有效;否则判定功耗性能模型不准确并更新模型。
所述的决策树的根节点表示最大的负载区间,所有叶子结点的负载区间是最大负载区间的划分,每一个叶子结点保存了当前子负载区间下微服务的功耗与性能之间的关系。
优选地,步骤①中所述的微服务的不同负载变化采用阿里巴巴开源的数据中心运行数据集中的负载变化情况。
优选地,步骤②中,所述的输入数据集包含1000条数据,其中所述的训练数据集包含800条数据,所述的测试数据集包含200条数据。
所述的更新模型是指:采用更新决策树的叶子结点或重新构建决策树的方式提升模型的准确率。
所述的更新决策树的叶子结点是指:不断计算微服务实际响应时间和按照叶子结点存储的模型计算的响应时间之前的平均误差值,当误差小于等于5%,则不更新叶子结点;否则利用微服务在该叶子结点表示的负载区间下最近的运行日志,重新计算该叶子结点下的功耗性能模型。
所述的重新构建决策树是指:当一个微服务的性质发生巨大改变,即服务重构或者增加新的微服务时,则采用基于决策树的方法重新为该微服务或者新增微服务构建决策树。
所述的划分是指:根据功耗性能模型将微服务划分为三类优先级队列的不同级层中,从而将有限的电力资源按微服务的高优先级到低优先级队列的顺序逐次预算,具体步骤包括:
①确定功耗与性能关系的临界条件:一个微服务提供最大的功耗下降,即节能潜力刚好不会导致整个应用性能受到影响。
所述的临界条件通过以下方式确定:选择整个应用所有微服务最大的响应时间为基准时间,功耗从最大降低到最小时,响应时间从0增加到基准时间的变化直线为临界功耗与性能之间的关系线,即临界条件。
②当微服务的功耗与性能之间的关系斜率小于临界条件的斜率,但是随着可分配的功耗降低,最终导致响应时间大于基准时间,则这部分微服务被放进优先级为1,即最高优先级的队列中。
③当微服务的功耗与性能之间的关系斜率大于临界条件的斜率,但是随着可分配的功耗降低,最终导致响应时间大于基准时间,则这部分微服务被放进优先级为2的队列中。
④随着可分配的功耗降低,微服务的响应时间总是小于等于基准时间,则这部分微服务被放进优先级为3的队列中。
所述的本地功耗调制设计通过设置一组寄存器、一个用于实时监听该寄存器状态的后台进程以及一个用于将功耗预算分配给不同的微服务的系统调用过程。
所述的设置一组寄存器是指:为处理器的每个硬件处理核配置一个同构的用于接收功耗调制消息以及快速功耗预算数值传输的寄存器。
优选地,该寄存器采用一个4比特位的寄存器,其中比特位“0”是一个脏位,表示是否需要进行功耗调制,当脏位状态为0,则表示不用改变当前功耗设置;当脏位状态为1,则表示需要改变当前功耗设置。
所述的特制寄存器的[4:1]比特位保存当前的功耗调制需求,每个处理器频率/电压可调制的值是离散的、有限的组合,[4:1]比特位每一种数值可以表示不同的组合编号。
所述的监听是指:当一组寄存器中的任意一个寄存器的脏位从0状态变为1时,触发系统调用过程修改对应硬件处理核的执行功耗。
所述的系统调用过程直接通过调用片上电压调制模块的方式修改每个硬件处理核的执行功耗,具体方式是把特制寄存器[4:1]位表示的目标功耗值直接写入处理器提供的特定的功耗管理寄存器中,比如英特尔处理器提供的IA32_PERF_STATUS_MSR寄存器。
所述的透明映射机制通过硬件标签和软件标签实现调整结果的记录和更新,其中:硬件 标签用于区分不同微服务在处理器上的执行过程并唯一对应在片上处理器上执行的微服务,软件标签用于区分数据中心中不同的微服务以及追踪不同微服务的生存状态。
所述的硬件标签优选为所述的一组寄存器。
所述的软件标签包括静态软件标签和动态软件标签,其中:动态软件标签唯一对应一个微服务,可以通过容器配置文件,比如YAML文件写入到运行微服务的容器中,静态软件标签是当运行一个微服务的所有容器退出时,为了避免微服务重启导致功耗性能模型的重建,而长时间保存的动态软件标签。
所述的动态软件标签的生命周期,即当运行微服务的容器第一次被创建时,就被分配一个动态软件标签;可以通过该动态软件标签查询微服务的运行状态以及功耗性能模型;最终,该动态软件标签随着运行微服务的所有容器的生命周期结束而结束。
所述的记录和更新,具体步骤包括:
①开始创建每一个微服务的容器时,为每一个微服务分配一个动态软件标签,并且获取微服务的功耗与性能之间的决策树;通过查询微服务当前状态下的功耗性能模型将为服务划分到不同的优先队列中,计算一张优先级表格,表格中的每一行记录了微服务的软件标签以及微服务的优先级和节能潜力。
②优先级表格被发送给操作系统,操作系统根据优先级表格中的软件标签和优先级分配和管理微服务执行时分配的功耗。在调度时,操作系统把一个微服务的软件标签绑定到一个硬件标签,并且将目标功耗值写入到特制寄存器的[4:1]比特位中。
③当微服务在处理器上执行时,所述的系统调用过程执行微服务分配的功耗。
本发明涉及一种实现上述方法的系统,包括:功率预算单元以及与之通过透明映射机制相连的本地功耗调制单元,其中:功率预算单元与微服务管理层面相连并采集和保存每个微服务的运行日志,并将功率预算结果输出至本地功耗调制单元;本地功耗调制单元与服务器片上电压调制系统相连,并通过特制的4比特位寄存器直接改写片上电压调制系统相关寄存器实现直接执行功耗分配过程。
所述的运行日志包括:每个微服务的运行时间和消耗功率,功率预算单元据此生成其对应的功耗-性能模型和可分配的功率。
技术效果
与现有技术相比,本发明利用决策树自动地、准确地构建微服务的功耗性能模型来主动地量化每个微服务的节能潜力,通过一个三级优先级队列挖掘和区分不同微服务的功耗与性能之间的差异性,从而实现针对每个微服务的快速地功耗预算;另一方面,本发明采用一种特制寄存器支持的片上功耗管理技术,通过一个后台进程和系统调用函数直接控制片上电压调制模 块快速地执行功耗运算的分配过程;同时,本发明采用软件标签机制追踪和区分不同的微服务在云环境中的状态,采用硬件标签区分不同微服务的实际执行和功耗分配过程,实现了微服务功率预算和功耗管理的有机结合;最终,本实施例和现存数据中心功耗管理技术在功耗与性能之间的上的优势,通过能耗延迟产出(EDP:Energy Delay Product)进行衡量。
附图说明
图1为本发明用于划分微服务优先级等级指导规则示意图;
图2为本发明进行本地功耗调制示意图;
图3为本发明整个控制流程示意图;
图4为本发明定制的寄存器架构以及系统调用关键代码
图5为本发明的系统的模块图。
图6、图7为实施例示意图。
具体实施方式
如图5所示,本实施例涉及一种数据中心面向微服务的电力资源分配的系统,包括功率预算单元以及通过透明映射机制与之相连的本地功耗调制单元。
所述的功率预算单元包括:微服务状态采集模块、功耗性能模型生成模块、功耗性能模型更新模块、功耗决策模块和功耗计算模块,其中:微服务状态采集模块提供与微服务层面管理系统的交互的接口,用于向微服务分配软件标签,实时监控微服务的负载状态以及存储微服务运行日志;功耗性能模型生成模块和更新模块用于利用微服务的运行日志生成其独有的表示功耗性能模型的决策树以及决定如何更新或者重建决策树;功耗决策和计算模块用于区分最有影响力的微服务,将微服务划分到不同优先级队列中,将有限的电力资源根据不同微服务的优先级进行分配。
所述的功耗性能模型生成模块处理微服务运行日志并且生成功耗性能模型的决策树,具体操作包括:
i)处理所述微服务状态采集模块采集的微服务运行日志得到决策树的输入数据集,输入数据集一共包括1000行输入数据,每一行数据包括该微服务的负载大小以及当前负载状态下功耗与性能之间的关系。输入数据集被分成训练数据集和测试数据集两个部分,其中训练数据集包括800条输入数据,测试数据集包括200条输入数据。
ii)利用步骤i)中所获得的训练数据集训练决策树,从而动态地、迭代地扩展树的深度。每一次迭代过程产生的子节点将父节点的负载区间平均地划分成全无遗漏又互斥的子区间,并且计算同一父节点下的兄弟子节点,即每个负载子区间下功耗与性能关系的平均误差值,当误差值小于等于5%,则该父节点下迭代停止,反之进行下一轮迭代。当所有兄弟子节点的功耗 与性能之间的关系误差值都小于等于5%,整个训练过程结束,反之进行下一轮迭代。
iii)利用步骤ii)中所获得的测试数据集对过程ii)生成的决策树进行测试,测试过程是检测测试数据集中某一负载下的功耗与性能之间的关系和决策树计算的功耗与性能之间的关系平均误差值是否小于5%;当误差小于等于5%,则决策树表示的功耗性能模型是准确有效的;当误差大于5%,则功耗性能模型是不准确的,需要更新模型。
iv)按照步骤i)~iii)生成表示微服务功耗性能模型的决策树,决策树的根节点表示最大的负载区间,所有叶子结点的负载区间是最大负载区间的划分,每一个叶子结点保存了当前子负载区间下微服务的功耗与性能之间的关系。
所述的功耗性能模型更新模块在模型不准确时更新叶子结点或者当新增微服务时重新生成决策树,具体操作包括:
i)不断计算微服务实际响应时间和按照叶子结点存储的模型计算的响应时间之前的平均误差值,当误差小于等于5%,则不更新叶子结点;
ii)当误差大于5%,则利用微服务在该叶子结点表示的负载区间下最近的运行日志,重新计算该叶子结点下的功耗性能模型。
iii)当一个微服务的性质发生巨大改变,即服务重构或者增加新的微服务时,则重新为该微服务或者新增微服务构建决策树。
所述的功耗决策模块通过和(如图1所示的)临界条件的对比,将微服务划分到三级优先级队列中,具体的操作包括:
i)当微服务的功耗与性能之间的关系斜率小于临界条件的斜率,但是随着可分配的功耗降低,最终导致响应时间大于基准时间,则这部分微服务被放进优先级为1的队列中。
ii)当微服务的功耗与性能之间的关系斜率大于临界条件的斜率,但是随着可分配的功耗降低,最终导致响应时间大于基准时间,则这部分微服务被放进优先级为2的队列中。
iii)随着可分配的功耗降低,微服务的响应时间总是小于等于基准时间,则这部分微服务被放进优先级为3的队列中。
所述的功耗分配模块根据不同微服务的优先级,将有限的电力资源优先分配给优先级为1队列中的微服务来满足他们更加严格的性能要求,最后分配给优先级为3队列中的微服务以提供最大节能空间。
所述的本地功耗调制单元包括:片上电压调制器控制模块、功耗调制请求监听模块以及数据/状态传输模块,其中:片上电压调制器控制模块通过系统调用直接将目标功耗设置写入到服务器片上电压调制系统相关的寄存器中,从而实现绕过系统层对功耗调制的控制而实现直接执行功耗分配过程;功耗调制请求监听模块通过检查数据/状态传输模块的状态实时查询是 否需要对当前执行的微服务进行功耗调制。
所述的数据/状态传输模块通过基于如图4所示的特制的寄存器实现的,用于传递功耗调制目标以及通知是否需要进行功耗调制,结构包括:利用比特位“0”表示一个脏位,用于通知是否需要进行功耗调制。当脏位状态为0,则表示不用改变当前功耗设置;当脏位状态为1,则表示需要改变当前功耗设置。利用比特位[4:1]保存当前的功耗调制需求,[4:1]比特位每一种数值可以表示不同的功耗设置编号。
所述的透明的映射机制单元采用硬件标签和软件标签协调所述的灵活的功耗预算单元和本地功耗调制单元之间的工作,具体操作包括:
i)当运行微服务的容器第一次被创建时,通过容器配置文件,比如YAML文件给微服务分配一个动态软件标签。该软件标签是一个唯一的数值,用于标识一个微服务,通过该标签可以查询微服务的运行状态以及功耗性能模型;
ii)当运行一个微服务的所有容器退出时,为了避免微服务重启导致功耗性能模型的重建,长时间保存动态软件标签,也称为静态软件标签。
iii)当微服务在片上处理器上执行时被分配唯一的硬件标签,硬件标签用于区分和管理不同微服务在处理器上的执行过程,硬件标签即所述的一组寄存器。
如图6、图7所示,分别分析了工业界的微服务测试应用TrainTicket以及学术界的微服务测试集SocialNetwork在不同情况下的结果,其中:图6分析了本方法在不同电情况下消耗的电能以及节约的能源:PB,HPB,MPB和LPB分别表示按照铭牌功率的100%,90%,85%和80%提供市电功率。如图可见,本实施例在TrainTicket测试集下能够节约超过20%的能源,在SocialNetwork测试机下能够节约超多10%的能源;图7比较了本实施例和现存数据中心功耗管理技术在功耗与性能之间的上的优势,通过能耗延迟产出(EDP:Energy Delay Product)进行衡量。
图7中的5种技术方案分别表示为:(a)ANT是本实施例提出向微服务的纳秒级的电力资源分配的方法和系统;(b)PC优先限制高功率微服务运行功耗来进行电源管理的策略;(c)TC优先限制运行时间短的微服务的功耗来进行功耗管理的策略;(d)CAP表示现有的利用动态电压和频率扩展来限制功率;(e)CFP是只考虑静态的功耗与性能之间的关系而进行功耗管理的方法。
如上述数据可见,在相同供电功率条件下,相比其他方案,本实施例提供更低的EDP,即能够保证更好的功耗与性能之间的优势。
上述具体实施可由本领域技术人员在不背离本发明原理和宗旨的前提下以不同的方式对其进行局部调整,本发明的保护范围以权利要求书为准且不由上述具体实施所限,在其范围内的各个实现方案均受本发明之约束。

Claims (13)

  1. 一种面向微服务的纳秒级电力资源分配方法,其特征在于,采用灵活功耗预算方法根据每个微服务独特的功耗性能模型划分其对应的可分配的功率以消除宏观调控延迟;然后采用本地功耗调制设计绕过服务器系统层的功耗管理和控制程序,直接调用处理器片上的电压调制模块执行针对每个微服务的功耗分配过程以消除微观执行延迟;最后通过透明映射机制记录并更新灵活功耗预算方法以及本地功耗调制设计的调整结果,实现电力资源优化分配;
    所述的灵活功耗预算方法包括:创建功耗性能模型来描述不同微服务在动态环境下的性能,即响应时间和所分配的功耗之间的关系,从而可以量化不同微服务的功耗分配的差异性;然后根据微服务功耗与性能关系的异构性将电力资源划分给最有影响力的微服务,即优先为最有影响力的微服务进行电力资源预算,可以在不影响整个应用的性能下,最大化地提升电力资源利用率;
    所述的本地功耗调制设计通过设置一组寄存器、一个用于实时监听该寄存器状态的后台进程以及一个用于将功耗预算分配给不同的微服务的系统调用过程;
    所述的透明映射机制通过硬件标签和软件标签实现调整结果的记录和更新,其中:硬件标签用于区分不同微服务在处理器上的执行过程并唯一对应在片上处理器上执行的微服务,软件标签用于区分数据中心中不同的微服务以及追踪不同微服务的生存状态。
  2. 根据权利要求1所述的方法,其特征是,所述的创建,采用基于决策树的方法来为每个微服构建功耗性能模型,即每一个微服务的功耗性能模型是一棵独立的决策树,决策树的每一个叶子结点表示微服务在某一负载条件下功耗与性能之间的关系,具体步骤包括:
    ①采集并且保存一个微服务在不同负载状态、不同功耗情况下的运行日志;
    ②解析运行日志得到决策树的输入数据集,将输入数据集分成训练数据集部分和测试数据集部分;
    ③利用训练数据集部分训练决策树,该训练过程动态迭代地扩展树的深度,即每一次迭代过程产生的子节点将父节点的负载区间平均地划分成全无遗漏又互斥的子区间,并且计算同一父节点下的兄弟子节点,即每个负载子区间下功耗与性能关系的平均误差值;当误差值小于等于5%,则该父节点下迭代停止,反之进行下一轮迭代;当所有兄弟子节点的功耗与性能之间的关系误差值都小于等于5%,整个训练过程结束,反之进行下一轮迭代;
    ④利用测试数据集部分对训练后的决策树进行测试,以检测测试数据集中某一负载下的功耗与性能之间的关系和决策树计算的功耗与性能之间的关系平均误差值是否小于5%;当误差小于等于5%,则判定决策树表示的功耗性能模型是准确有效;否则判定功耗性能模型不准确 并更新模型;
    所述的决策树的根节点表示最大的负载区间,所有叶子结点的负载区间是最大负载区间的划分,每一个叶子结点保存了当前子负载区间下微服务的功耗与性能之间的关系。
  3. 根据权利要求2所述的方法,其特征是,所述的更新模型是指:采用更新决策树的叶子结点或重新构建决策树的方式提升模型的准确率;
    所述的更新决策树的叶子结点是指:不断计算微服务实际响应时间和按照叶子结点存储的模型计算的响应时间之前的平均误差值,当误差小于等于5%,则不更新叶子结点;否则利用微服务在该叶子结点表示的负载区间下最近的运行日志,重新计算该叶子结点下的功耗性能模型;
    所述的重新构建决策树是指:当一个微服务的性质发生巨大改变,即服务重构或者增加新的微服务时,则采用基于决策树的方法重新为该微服务或者新增微服务构建决策树。
  4. 根据权利要求1所述的方法,其特征是,所述的划分是指:根据功耗性能模型将微服务划分为三类优先级队列的不同级层中,从而将有限的电力资源按微服务的高优先级到低优先级队列的顺序逐次预算,具体步骤包括:
    ①确定功耗与性能关系的临界条件:一个微服务提供最大的功耗下降,即节能潜力刚好不会导致整个应用性能受到影响;
    ②当微服务的功耗与性能之间的关系斜率小于临界条件的斜率,但是随着可分配的功耗降低,最终导致响应时间大于基准时间,则这部分微服务被放进优先级为1,即最高优先级的队列中;
    ③当微服务的功耗与性能之间的关系斜率大于临界条件的斜率,但是随着可分配的功耗降低,最终导致响应时间大于基准时间,则这部分微服务被放进优先级为2的队列中;
    ④随着可分配的功耗降低,微服务的响应时间总是小于等于基准时间,则这部分微服务被放进优先级为3的队列中。
  5. 根据权利要求4所述的方法,其特征是,所述的所述的临界条件通过以下方式确定:选择整个应用所有微服务最大的响应时间为基准时间,功耗从最大降低到最小时,响应时间从0增加到基准时间的变化直线为临界功耗与性能之间的关系线,即临界条件。
  6. 根据权利要求1所述的方法,其特征是,所述的本地功耗调制设计通过设置一组寄存器、一个用于实时监听该寄存器状态的后台进程以及一个用于将功耗预算分配给不同的微服务 的系统调用过程;
    所述的设置一组寄存器是指:为处理器的每个硬件处理核配置一个同构的用于接收功耗调制消息以及快速功耗预算数值传输的寄存器。
  7. 根据权利要求6所述的方法,其特征是,所述的寄存器采用一个4比特位的寄存器,其中比特位“0”是一个脏位,表示是否需要进行功耗调制,当脏位状态为0,则表示不用改变当前功耗设置;当脏位状态为1,则表示需要改变当前功耗设置;
    所述的监听是指:当一组寄存器中的任意一个寄存器的脏位从0状态变为1时,触发系统调用过程修改对应硬件处理核的执行功耗。
  8. 根据权利要求1所述的方法,其特征是,所述的透明映射机制通过硬件标签和软件标签实现调整结果的记录和更新,其中:硬件标签用于区分不同微服务在处理器上的执行过程并唯一对应在片上处理器上执行的微服务,软件标签用于区分数据中心中不同的微服务以及追踪不同微服务的生存状态。
  9. 根据权利要求8所述的方法,其特征是,所述的软件标签包括静态软件标签和动态软件标签,其中:动态软件标签唯一对应一个微服务,可以通过容器配置文件,比如YAML文件写入到运行微服务的容器中,静态软件标签是当运行一个微服务的所有容器退出时,为了避免微服务重启导致功耗性能模型的重建,而长时间保存的动态软件标签;
    所述的动态软件标签的生命周期,即当运行微服务的容器第一次被创建时,就被分配一个动态软件标签;可以通过该动态软件标签查询微服务的运行状态以及功耗性能模型;最终,该动态软件标签随着运行微服务的所有容器的生命周期结束而结束。
  10. 根据权利要求1或8所述的方法,其特征是,所述的记录和更新,具体步骤包括:
    ①开始创建每一个微服务的容器时,为每一个微服务分配一个动态软件标签,并且获取微服务的功耗与性能之间的决策树;通过查询微服务当前状态下的功耗性能模型将为服务划分到不同的优先队列中,计算一张优先级表格,表格中的每一行记录了微服务的软件标签以及微服务的优先级和节能潜力;
    ②优先级表格被发送给操作系统,操作系统根据优先级表格中的软件标签和优先级分配和管理微服务执行时分配的功耗;在调度时,操作系统把一个微服务的软件标签绑定到一个硬件标签,并且将目标功耗值写入到特制寄存器的[4:1]比特位中;
    当微服务在处理器上执行时,所述的系统调用过程执行微服务分配的功耗。
  11. 一种实现上述任一权利要求所述方法的系统,其特征在于,包括:功率预算单元以及与之通过透明映射机制相连的本地功耗调制单元,其中:功率预算单元与微服务管理层面相连并采集和保存每个微服务的运行日志,并将功率预算结果输出至本地功耗调制单元;本地功耗调制单元与服务器片上电压调制系统相连,并通过特制的4比特位寄存器直接改写片上电压调制系统相关寄存器实现直接执行功耗分配过程;
    所述的透明的映射机制单元采用硬件标签和软件标签协调所述的灵活的功耗预算单元和本地功耗调制单元之间的工作;
    所述的运行日志包括:每个微服务的运行时间和消耗功率,功率预算单元据此生成其对应的功耗-性能模型和可分配的功率。
  12. 根据权利要求11所述的系统,其特征是,所述的功率预算单元包括:微服务状态采集模块、功耗性能模型生成模块、功耗性能模型更新模块、功耗决策模块和功耗计算模块,其中:微服务状态采集模块提供与微服务层面管理系统的交互的接口,用于向微服务分配软件标签,实时监控微服务的负载状态以及存储微服务运行日志;功耗性能模型生成模块和更新模块用于利用微服务的运行日志生成其独有的表示功耗性能模型的决策树以及决定如何更新或者重建决策树;功耗决策和计算模块用于区分最有影响力的微服务,将微服务划分到不同优先级队列中,将有限的电力资源根据不同微服务的优先级进行分配。
  13. 根据权利要求11所述的系统,其特征是,所述的本地功耗调制单元包括:片上电压调制器控制模块、功耗调制请求监听模块以及数据/状态传输模块,其中:片上电压调制器控制模块通过系统调用直接将目标功耗设置写入到服务器片上电压调制系统相关的寄存器中,从而实现绕过系统层对功耗调制的控制而实现直接执行功耗分配过程;功耗调制请求监听模块通过检查数据/状态传输模块的状态实时查询是否需要对当前执行的微服务进行功耗调制。
PCT/CN2020/090959 2019-10-14 2020-05-19 面向微服务的纳秒级电力资源分配方法和系统 WO2021073085A1 (zh)

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.9A CN110825518B (zh) 2019-10-14 2019-10-14 面向微服务的纳秒级电力资源分配方法和系统
CN201910972406.9 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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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资源分配系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Title
HOU XIAOFENG XFHELEN@SJTU.EDU.CN; LIU JIACHENG LIUJIACHENG@SJTU.EDU.CN; LI CHAO LICHAO@CS.SJTU.EDU.CN; GUO MINYI GUO-MY@CS.SJTU.ED: "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)

* Cited by examiner, † Cited by third party
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
CN110825518A (zh) 2020-02-21
US20220317754A1 (en) 2022-10-06
CN110825518B (zh) 2023-06-09
US11635799B2 (en) 2023-04-25

Similar Documents

Publication Publication Date Title
WO2021073085A1 (zh) 面向微服务的纳秒级电力资源分配方法和系统
CN111881192B (zh) 可视化配置报表的生成方法、系统、电子设备及存储介质
CN103092316B (zh) 一种基于数据挖掘的服务器功耗管理系统
CN102004671B (zh) 一种云计算环境下数据中心基于统计模型的资源管理方法
CN107330056B (zh) 基于大数据云计算平台的风电场scada系统及其运行方法
CN104049712B (zh) 用于计算机系统的功率管理方法和系统
CN104486255A (zh) 业务资源调度方法和装置
CN107122243A (zh) 用于cfd仿真计算的异构集群系统及cfd计算方法
CN106375328B (zh) 一种大规模数据分发系统运行时自适应优化方法
US20210248469A1 (en) Method and apparatus for scheduling deep learning reasoning engines, device, and medium
KR102607808B1 (ko) 분산 이종 컴퓨터 시스템에서의 최적화된 잡 성능을 위한 동적 자원 재할당
Dong et al. Energy-aware scheduling schemes for cloud data centers on google trace data
Wan et al. Analysis and modeling of the end-to-end i/o performance on olcf's titan supercomputer
Zhang et al. A spark scheduling strategy for heterogeneous cluster
Xu et al. Enhancing Kubernetes Automated Scheduling with Deep Learning and Reinforcement Techniques for Large-Scale Cloud Computing Optimization
CN104615439A (zh) 一种可重构系统的配置控制器
CN104978007A (zh) 数据中心运行状态的控制方法和装置
CN112948353B (zh) 一种应用于DAstudio的数据分析方法、系统及存储介质
CN105183485B (zh) 一种可视化软硬件协同开发方法
CN105045761B (zh) 一种数据中心的高速并行处理架构
CN105116987A (zh) 一种云计算中心的通用电源和性能管理系统
CN114968585A (zh) 资源配置方法、装置、介质和计算设备
CN112579293B (zh) 一种分布计算系统的综合验证方法
CN109544040B (zh) 一种基于模态的业务流程动态重构方法
Wang et al. Workload optimization and energy consumption reduction strategy of private cloud in manufacturing industry

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