CN111752678A - 面向边缘计算中分布式协同学习的低功耗容器放置方法 - Google Patents
面向边缘计算中分布式协同学习的低功耗容器放置方法 Download PDFInfo
- Publication number
- CN111752678A CN111752678A CN202010546862.XA CN202010546862A CN111752678A CN 111752678 A CN111752678 A CN 111752678A CN 202010546862 A CN202010546862 A CN 202010546862A CN 111752678 A CN111752678 A CN 111752678A
- Authority
- CN
- China
- Prior art keywords
- server
- container
- edge
- network
- test
- Prior art date
- Legal status (The legal status 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 status listed.)
- Pending
Links
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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- 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/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- 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/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- 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/5061—Partitioning or combining of resources
- G06F9/5072—Grid computing
-
- 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/4557—Distribution of virtual machine instances; Migration and load balancing
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Power Sources (AREA)
Abstract
本发明公开了一种面向边缘计算中分布式协同学***台时对其进行能效性和能效等比性的测试和标定,并通过采集模块对所有在线边缘服务器的实时负载、硬件资源以及网络通信等状态信息进行获取。第三,从能量等比性、网络传输开销和服务器负载均衡三个方面综合考虑当前可用服务器的所有放置可能,并分别计算出每台服务器在三个方面取得的排名,最后确定综合排名最高的服务器作为容器的最终放置位置。
Description
技术领域
本发明涉及边缘云计算集群***中容器优化放置的实现方法,尤其是针对边缘计算环境下大规模分布式部署的边缘服务器集群,通过分布式协同学习的方法实现了低功耗的容器放置。
背景技术
近年来,随着物联网设备大量部署以及移动设备快速普及,导致采集数据和服务请求在网络的边缘位置开始大量累积。在此背景下,传统云计算采用的集中式处理方式越来越无法满足这种日趋边缘化的计算资源需求。因此,边缘计算(Edge computing)的概念应运而生,其主要特征是将边缘计算资源的请求在靠近本地的边缘服务器集群中实现全部或部分的数据处理,从而优化边缘请求的执行流程。边缘计算充分地利用了边缘位置的闲置计算资源,能够有效缓解云数据中心的计算压力,同时靠近用户和源数据的计算处理方式有效地保证了服务响应的实时性。
与此同时,作为当前云原生技术的底层基石之一,容器技术(Container)以其轻量化、快速部署、易移植和弹性伸缩的特点,逐渐取代了基于硬件抽象层虚拟化的hypervisor技术。容器技术本质上,是通过在物理机上创建一组资源受限,并且彼此隔离的进程来实现的。在此过程中,其主要利用了linux内核本身提供的namespace和cgroups,前者用于进程访问的隔离,后者实现CPU、内存、I/O、网络等资源的隔离。因此,运行于同一宿主机上的容器可以共享内核,极大地减低了运行用户负载以外的***开销。在具体生产环境中,Docker业已成为当前最主流的容器引擎。同时,Kubernetes、Swam、Mesos等容器管理平台的快速发展也为分布式集群架构下的容器编排和管理提供了帮助,有效保证云平台计算服务的高可用性和强大的弹性伸缩能力。虽然,当前容器技术普遍应用在云计算平台架构中,很少部署到由边缘服务器组成的集群网络架构。但是,容器技术的一系列优秀特性依然非常适用于边缘计算环境中的服务部署和实现。
分布式集群的整体能效一直是建设和管理云服务平台需要考虑的主要问题之一。考虑到传统的云计算集群是通过集中部署的方式实现的,这与边缘计算环境下边缘服务器分布式部署的架构有很大的不同。这导致了同一用户的服务请求在不同地理位置服务器上执行的开销可能存在巨大的差异性,主要体现在服务器运行能耗、网络传输开销、请求响应延时等方面。因此,针对特定的用户计算服务请求,必须优化其计算负载执行容器在各边缘服务器上的放置策略,从而实现整个边缘计算集群的低功耗运行。
在目前研究中,传统云计算集群一般采用特定的容器调度算法,将不同类型的容器调度到具有最高能效的服务器上运行,以此来提高整体集群的能源利用率。其中,数据中心服务器的能源效率一般采用能效性(Energy Efficiency,EE)和能量等比性(EnergyProportionality,EP)这两个指标来衡量。能效性指的是服务器性能与功率之间的比值,这里服务器的性能往往被定义为单位时间完成的计算负载量。不同的服务器类型或者不同的计算负载,都会显著影响服务器的能效性。低功耗的容器调度策略需要统筹当前整体计算负载水平与集群计算资源的关系,及时关闭空闲或低能效性的服务器,将工作负载合理地分配到剩余服务器上。另外,工作服务器的容器分配策略也不能以100%的计算负载作为标准,而应该以服务器峰值能效性时的负载水平作为限制条件。据最新资料统计,当前的服务器峰值能效性一般都处于60%~80%工作负载水平。另一方面,能量等比性指的是服务器的功耗随利用率的变化情况。该指标衡量了动态负载水平下服务器的能源利用效率,它的取值范围在0到1之间。理想情况下,能量等比性取值为1,此时服务器的能耗与工作负载满足等比例的变化规律。例如,假设理想服务器峰值功耗为100W,它应该在服务器峰值负载(100%)下取得,而当服务器负载降为0时,其功耗也应该等比例降为0W。当服务器的能量等比性越靠近1,代表其能源转化机制越接近于理想服务器,所以它能够在负载水平动态变化变化的情况下节约更多的能源。在容器优化调度策略中,也需要考虑尽可能地将工作负载调度到能量等比性高的服务器上。
综上所述,针对边缘计算环境下分布式边缘服务器集群,亟需一种综合考虑了容器负载、服务器能耗以及网络通信开销等多方面特征的优化容器放置策略,以实现边缘服务的低功耗部署。
发明内容
本发明考虑的整体网络服务架构分为三层,从边缘开始依次为边缘端设备(用户请求)、边缘服务器(边缘云计算平台)、云数据中心。其中,主要关注于边缘云计算平台的优化,即如何选择容器放置的边缘服务器,从而使得该容器运行产生的运行功耗最小。
本发明解决技术问题所采取的技术方案为:
步骤1.边缘服务器接入边缘云计算平台,并在初始化阶段完成功耗特征的测试与标定,再将静态信息(功耗特征、硬件资源信息)返回给边缘服务器状态收集模块。
步骤2.边缘服务器状态收集模块将接收的新服务器静态信息保存至服务器静态信息库。
步骤3.服务器定期向边缘服务器状态收集模块汇报动态资源使用情况,边缘服务器状态收集模块将这些信息不断更新到服务器动态信息库中。
步骤4.用户请求发送至用户服务容器分析模块,用户服务容器分析模块通过容器资源使用预测模型预测出待创建容器的资源使用需求,
步骤5.用户服务容器分析模块将待创建容器的资源使用需求作为筛选条件传入服务器动态信息库中,遍历并获得满足该容器部署条件的可用服务器列表。
步骤4.服务器动态信息库将可用服务器列表以及列表中服务器的动态资源使用信息发送给服务器状态信息综合分析模块。
步骤5.根据可用服务器列表,服务器状态信息综合分析模块向服务器静态信息库请求列表中所有服务器的静态信息。
步骤6.服务器状态信息综合分析模块根据接收到的可用服务器静态、动态信息,以及待创建服务容器资源需求信息分析和计算所有情况下的容器放置的性能指标,包括能量等比性、网络传输开销、服务器负载均衡。
步骤7.服务器状态信息综合分析模块根据三种指标下可用服务器获得的性能值,然后排除能效值超过目标负载区间的服务器,最后通过性能降序的方式分别获得EP、NetI/O、负载均衡排位表。
步骤8.容器放置决策模块累加每台服务器在EP、NetI/O、负载均衡三个维度获得的排名值,决策出累加值最小(综合排名最高)的服务器,然后将容器部署命令发送至该服务器,从而完成容器的最优化放置。
步骤9.边缘云计算平台***不断监听网络信息,若接收到新服务器接入请求,则执行步骤1至2;若接收到用户服务请求,则执行步骤4至8;否则,不断循环执行步骤3。
上述过程涉及三部分的内容:基于容器历史资源使用情况的聚类分析、边缘服务器的功耗特征的测试和标定和基于启发式算法的容器最优化放置
(1)基于容器历史资源使用情况的聚类分析
针对边缘用户发出的各种计算请求,边缘云服务平台创建不同的容器模板进行服务响应。容器模板中不同的计算逻辑导致创建的容器在真正运行时具有差异化的资源使用。本方明提出采集不同容器模板在历史运行过程中资源的使用信息,通过综合聚类算法将其划分为计算密集型、网络I/O密集型、混合型三类,针对每一种类型,继续利用单一维度的聚类算法将其进一步细分为5档负载强度。据此,可获得共计15(3*5)种容器资源负载类型,通过统计并建立不同类型容器模板的资源使用预测模型。该模型对将要部署到边缘云计算平台上的容器资源使用情况进行较为准确的预测,并为低功耗容器放置策略提供客户端的需求信息。
(2)边缘服务器的功耗特征测试和标定
边缘云计算平台通过公共网络将大量异构的边缘服务器连接为一个分布式架构的集群。为获得较为合理的容器放置策略,需要对不同类型的边缘服务器进行全面的功耗特征分析,其中主要包括服务器峰值能效性时的负载水平和能量等比性测试和标定。本发明提出了边缘服务器状态采集模块来实现上述功能,它会在服务器初次接入边缘云计算集群时与服务器通信并完成功耗特征测试与标定,并将服务器获得的功耗特征信息与其他硬件信息一起记录到信息库中。此外,该模块还需要定时收集所有在线服务器的动态资源使用信息(如:CPU、内存、磁盘和网络I/O等),为低功耗容器放置算法策略提供云平台的全局资源信息。
(3)基于启发式算法的容器最优化放置
基于客户端容器的资源需求预测信息以及云平台全局实时资源的可用情况,本发明提出了一种基于启发式算法的容器调度算法。该算法从能量等比性、网络传输开销和服务器负载均衡三个方面综合考虑当前可用服务器的所有放置可能,并通过模拟数据分析模块计算出每台服务器在三个方面分别取得的排名,然后选择综合排名最高的那台服务器作为容器的最终放置位置。
本发明的有益效果:与传统容器优化放置方法不同,本发明的特点在于针对的是边缘云计算环境下具有分布式部署特征的服务器集群,并从客户端容器需求预测和云计算平台硬件资源分析两个方面考虑,提出统筹网络I/O开销、服务器功耗和负载均衡三个方面优化指标的低功耗容器放置策略。
附图说明
图1是边缘计算中分布式协同学习的低功耗容器放置方法体系结构图;
图2是容器资源使用预测模型的构建过程图;
图3是边缘服务器功耗特征的测试和标定原理图;
图4是基于启发式算法的容器低功耗放置策略流程图。
具体实施方式
以下结合附图1,对本发明方法的具体步骤做出说明:
图1展示了边缘计算中分布式协同学习的低功耗容器放置方法的整体结构。其中,1、2、3表示边缘服务器与边缘服务器状态收集模块的通信,包括服务器功耗特征测试时向被测服务器发送测试控制命令和测试结果的返回,以及边缘服务器向边缘服务器状态收集模块发送静态信息(功耗特征、硬件资源信息)和定期汇报动态资源使用情况。4表示边缘服务器状态收集模块将接收的服务器静态信息(功耗特征、硬件资源信息)保存至服务器静态信息库。5表示边缘服务器状态收集模块将接收的动态资源使用情况不断更新至服务器动态信息库。6表示用户服务容器分析模块并将待创建容器的资源使用需求作为筛选条件传入服务器动态信息库中进行可用服务器的筛选。7代表服务器动态信息库将筛选结果(可用服务器列表)以及结果中服务器的动态资源使用信息发送给服务器状态信息综合分析模块。8代表服务器状态信息综合分析模块根据可用服务器列表向服务器静态信息库请求它们的静态信息,并接收静态信息库匹配结果的返回。9、10、11分别代表服务器状态信息综合分析模块根据EP、Net、负载均衡三种指标获得的可用服务器性能值排位表。12表示EP、Net、负载均衡三指标性能值排位表发送至容器放置决策模块,作为其决策依据。13表示容器放置决策模块根据决策结果将容器部署命令发送至指定服务器。
下面对本发明关键性步骤进行更详细地说明。
(1)容器资源使用预测模型的建立
作为本发明关键的部分之一,容器资源使用预测模型能够对待放置的用户服务容器进行较为准确的资源使用需求预测,该资源预测结果是低功耗容器放置策略得以实现的关键性信息。
考虑到用户服务请求是通过创建容器来满足的,针对不同的用户服务请求,边缘云计算平台提供了不同的容器镜像模板。这些容器镜像包含特定的计算逻辑框架,能够满足用户不同的计算服务功能,它们在实际运行过程中也会表现出多种不同类型的资源使用特征。因此,通过对这些容器历史资源使用情况进行聚类,能够将其中资源使用表现相似的容器聚集为一个个特定的类型。通过计算同一类型容器在CPU和网络I/O使用上的均值,并将其作为该类型容器资源使用量的代表,即可构建出每种类型容器镜像模板的资源使用预测模型。至此,对于一个需要放置的容器镜像,可以通过判断其所属的容器类型,从而方便地获得它的资源使用预测值。此外,为了更加细粒度的划分容器类型,本发明采用多维聚类和单维聚类结合的方法。
结合附图2和算法1,以下具体说明容器资源使用预测模型的建立步骤:
步骤1.通过网络下载或者本地测试的方式,获得记录下所有容器历史资源使用情况的数据集。
步骤2.将容器历史资源使用情况数据集输入综合聚类算法,该算法在CPU和网络I/O两个维度对容器数据进行聚类,并根据聚类结果初步区分出计算密集型、网络I/O密集型和混合型三个种类。
步骤3.对于初步聚类后的结果,继续对每个子类型下的容器进行单一维度的聚类,并且分别聚成5个子类(作为5档不同的负载强度),共计15(3*5)个类别。其中,计算密集型容器以CPU利用率进行聚类;网络I/O密集型以网络I/O开销进行聚类;混合型以归一化后的CPU和网络I/O开销累加值作为参数进行聚类。
步骤4.计算每一个子类中,容器的CPU均值和网络I/O均值,将其作为该类容器在不同负载强度下的运行资源预测值。
步骤5.将所有容器及其对应类别和负载强度下的运行资源预测值输入数据库,形成容器名称-资源预测值的映射表,从而完成容器资源使用预测模型的建立。
如表1所示,为计算密集型容器的资源使用预测模型映射表,其中计算密集型容器被定义为5档不同的负载强度,从低到高分别用I至V来表示。每一种负载强度下都有对应的资源预测值,它使用一个三元组来表示,分别代表预测CPU利用率、内存利用率和网络I/O值。
表1计算密集型容器资源使用预测模型映射表
(2)边缘服务器功耗特征测试和标定
在低功耗容器放置问题中,边缘服务器功耗特征是影响容器运行能耗的主要因素,本发明方法具体利用了服务器峰值能效性时的负载水平和能源等比性两个指标来实现后续容器放置服务器的选择。因此,要求对边缘云计算平台上的所有服务器进行功耗特征测试和标定,其原理结构如附图3所示。其中,各模块的具体功能介绍如下:
1)测试结果采集模块:接收被测边缘服务器上测试实例工作负载的测试结果。
2)数据分析模块:汇总测试结果采集集块和电源测试设备上的测试结果,并计算出具体功耗特征值。
3)测试任务发布模块:发布不同类型和负载水平的测试任务给被测边缘服务器。
4)工作负载管理模块:接收测试任务发布模块的测试任务,并在边缘服务器上调度和管理相应实例运行具体的工作负载。
5)工作负载:接收工作负载管理模块的任务安排,具体执行计算任务。
6)电源测试设备:测量边缘服务器的实时功率,并将统计结果提交给数据分析模块。
如表2所示,是边缘服务器功耗测试和标定过程中的各负载水平下的测试记录和能效性计算结果表。其中,边缘服务器峰值能效性时的负载水平,即找到11个能效性中大最大值,其对应的负载水平即为所求。而其能量等比性EP可由以下公式获得:
其中,EE0表示负载水平为0%的服务器能效性,EE1表示负载水平为10%的服务器能效性,以此类推,EE10表示负载水平为100%的服务器能效性。
表2服务器功耗测试结果表
负载水平 | 服务器性能 | 实时功率 | 能效性 |
100% | A | a | A/a |
90% | B | b | B/b |
…… | …… | …… | …… |
20% | C | c | C/c |
10% | D | d | D/d |
0% | E | e | E/e |
(3)边缘服务器初始化引导过程
边缘服务器功耗特征测试和标定过程的具体实现被安排在新的边缘服务器第一次接入集群网络时进行,是整个边缘服务器初始化引导过程中的一小部分。整个边缘服务器的初始化引导流程,其具体步骤如下:
步骤1.边缘云计算平台检测到新服务器接入请求,立即通知边缘服务器状态收集模块建立与该服务器的通信。
步骤2.边缘服务器状态收集模块启动边缘服务器初始化引导程序,向该服务器发送请求,要求返回其硬件地址(MAC)。
步骤3.边缘服务器状态收集模块接收到返回结果(MAC地址)后,以MAC值作为检索条件向服务器静态信息库发送查找命令。
步骤4.服务器静态信息库完成查找后,将结果返回给边缘服务器状态收集模块。
步骤5.边缘服务器状态收集模块接收服务器静态信息库返回的结果,若该MAC地址服务器存在于库中,则直接跳转到步骤13;否则,该服务器为第一次加入边缘云计算平台,继续执行服务器初始化引导程序。
步骤6.边缘服务器状态收集模块开启服务器功耗特征测试和标定程序,负责边缘服务器状态收集模块的节点成为测试***,而该边缘服务器成为被测***。
步骤7.测试***中的测试任务发布模块发布校准任务,当被测***工作在100%的负载水平上时,将该校准结果返回测试***。
步骤8.测试***根据校准结果,向被测***发布符合其100%负载水平的测试任务。
步骤9.被测***执行测试任务,测试结果采集模块收集其当前负载水平下的服务器性能,并将结果提交给数据分析模块。同时,电源测试设备上测量的当前服务器功率值也被提交给数据分析模块。
步骤10.若当前被测***负载水平大于0%,测试***在原来任务负载水平的基础上降低10%,并重新发布修改后的测试任务,然后跳转执行步骤9;否则执行步骤11。
步骤11.数据分析模块将上述过程中获取到的11组数据进行计算和分析,确定该边缘服务器的峰值能效性时的负载水平和能量等比性。
步骤12.边缘服务器状态收集模块将该边缘服务器峰值能效性时的负载水平和能量等比性的值以及其他静态信息保存至服务器静态信息库中。
步骤13.边缘服务器状态收集模块结束边缘服务器的初始化引导流程。
除了执行初始化引导流程,以及收集服务器静态状态信息以外,边缘服务器状态收集模块同时承担着收集所有在线服务器动态状态信息的功能。静态状态信息仅在服务器第一次接入云平台时收集,并被保存至服务器静态信息库;动态状态信息通过定时的方式收集,并被保存至服务器动态信息库。两种信息分开保存,静态信息库记录的数据量庞大,主要的操作是查询和***;动态数据库数据量较少,需要进行频繁的更新和删除。如表3所示,共同列出了静态和动态状态信息库中保存的条目和描述。
表3服务器状态信息表
(4)容器低功耗放置方法的决策过程
本发明方法的容器低功耗放置决策过程基于启发式策略,在边缘设备向云计算平台发出任务请求后,调度***预测出待放置容器本身的资源使用需求,再根据云计算平台的资源可用情况进行具体的容器放置。放置过程中,调度***根据各在线服务器负载水平排除边缘云计算平台中已经达到峰值能效性的服务器,然后综合考虑剩余的待定服务器能效等比性、边缘端设备到服务器额外的网络通信开销以及容器部署后服务器的负载均衡三个指标。
第一个指标,剩余服务器的能效等比性(EE),它能够直接从服务器静态信息库中获取,通过简单的排序算法即可获得待定服务器能效等比性排名列表。至于其他两个指标需要通过服务器状态信息综合分析模块计算获得。
第二个指标,边缘端设备到服务器额外网络的通信开销(Net_cost),它的计算公式如下:
Net_cost=[Container_img/(Net_hardwave-Net_now)]×hop_num
其中,Container_img是待放置的容器镜像容量大小,Net_hardwave和Net_now分别代表目标服务器的硬件带宽大小和当前的网络带宽使用量,hop_num表示边缘端设备到目标服务器的路由跳数。
第三个指标,容器部署后服务器的负载均衡(Balance),它的计算公式如下:
Balance=(CPU-average)2+(Mem-average)2+(Net-average)2
其中,CPU、Mem和Net分别代表容器部署后服务器的CPU利用率、内存利用率和网络I/O利用率,它们通过以下计算公式获得:
这里,CPU_rate、Mem_rate和Net_now分别表示容器部署前服务器的CPU利用率、内存利用率和网络带宽使用量;Container_cpu、Container_mem和Container_net分别表示待部署容器的预测CPU、内存和带宽使用量;最后,CPU_hardware、Mem_hardware和Net_hardware分别表示服务器硬件CPU、内存和带宽配置。另外,average是CPU、Mem和Net三者的平均值,其计算公式如下:
average=1/3×(CPU+Mem+Net)
以上所有数据都是由服务器状态信息综合分析模块通过服务器静态和动态信息库来进行获取的。
以下结合附图4和算法2,具体说明容器低功耗放置方法的决策过程:
Claims (3)
1.面向边缘计算中分布式协同学习的低功耗容器放置方法,其特征在于包括如下步骤:
步骤1.边缘服务器接入边缘云计算平台,并在初始化阶段完成功耗特征的测试与标定,再将静态信息返回给边缘服务器状态收集模块;
步骤2.边缘服务器状态收集模块将接收的新服务器静态信息保存至服务器静态信息库;
步骤3.服务器定期向边缘服务器状态收集模块汇报动态资源使用情况,边缘服务器状态收集模块将这些信息不断更新到服务器动态信息库中;
步骤4.用户请求发送至用户服务容器分析模块,用户服务容器分析模块通过容器资源使用预测模型预测出待创建容器的资源使用需求,
步骤5.用户服务容器分析模块将待创建容器的资源使用需求作为筛选条件传入服务器动态信息库中,遍历并获得满足容器部署条件的可用服务器列表;
步骤4.服务器动态信息库将可用服务器列表以及列表中服务器的动态资源使用信息发送给服务器状态信息综合分析模块;
步骤5.根据可用服务器列表,服务器状态信息综合分析模块向服务器静态信息库请求列表中所有服务器的静态信息;
步骤6.服务器状态信息综合分析模块根据接收到的可用服务器静态、动态信息,以及待创建服务容器资源需求信息分析和计算所有情况下的容器放置的性能指标,包括能量等比性、网络传输开销、服务器负载均衡;
步骤7.服务器状态信息综合分析模块根据步骤6中的三种性能指标下可用服务器获得的性能值,排除能效值超过目标负载区间的服务器,通过性能降序的方式分别获得EP、NetI/O、负载均衡排位表;
步骤8.容器放置决策模块累加每台服务器在EP、NetI/O、负载均衡三个维度获得的排名值,决策出累加值最小,即综合排名最高的服务器,然后将容器部署命令发送至该服务器,从而完成容器的最优化放置;
步骤9.边缘云计算平台***不断监听网络信息,若接收到新服务器接入请求,则执行步骤1至2;若接收到用户服务请求,则执行步骤4至8;否则,不断循环执行步骤3。
2.根据权利要求1所述的面向边缘计算中分布式协同学习的低功耗容器放置方法,其特征在于:步骤1中功耗特征测试和标定以下功能模块实现:
测试结果采集模块:接收被测边缘服务器上测试实例工作负载的测试结果;
数据分析模块:汇总测试结果采集集块和电源测试设备上的测试结果,并计算出具体功耗特征值;
测试任务发布模块:发布不同类型和负载水平的测试任务给被测边缘服务器;
工作负载管理模块:接收测试任务发布模块的测试任务,并在边缘服务器上调度和管理相应实例运行具体的工作负载;
工作负载:接收工作负载管理模块的任务安排,具体执行计算任务;
电源测试设备:测量边缘服务器的实时功率,并将统计结果提交给数据分析模块。
3.根据权利要求1所述的面向边缘计算中分布式协同学习的低功耗容器放置方法,其特征在于:步骤4中的容器资源使用预测模型才有如下方式建立:
4-1.通过网络下载或者本地测试的方式,获得记录下所有容器历史资源使用情况的数据集;
4-2.将容器历史资源使用情况数据集输入综合聚类算法,综合聚类算法在CPU和网络I/O两个维度对容器数据进行聚类,并根据聚类结果初步区分出计算密集型、网络I/O密集型和混合型三个种类;
4-3.对于初步聚类后的结果,继续对每个子类型下的容器进行单一维度的聚类,并且分别聚成五个子类,共计十五个类别;其中,计算密集型容器以CPU利用率进行聚类;网络I/O密集型容器以网络I/O开销进行聚类;混合型容器以归一化后的CPU和网络I/O开销累加值作为参数进行聚类;
4-4.计算每一个子类中,容器的CPU均值和网络I/O均值,将其作为该类容器在不同负载强度下的运行资源预测值;
4-5.将所有容器及其对应类别和负载强度下的运行资源预测值输入数据库,形成容器名称-资源预测值的映射表,从而完成容器资源使用预测模型的建立。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010546862.XA CN111752678A (zh) | 2020-06-16 | 2020-06-16 | 面向边缘计算中分布式协同学习的低功耗容器放置方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010546862.XA CN111752678A (zh) | 2020-06-16 | 2020-06-16 | 面向边缘计算中分布式协同学习的低功耗容器放置方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111752678A true CN111752678A (zh) | 2020-10-09 |
Family
ID=72676247
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010546862.XA Pending CN111752678A (zh) | 2020-06-16 | 2020-06-16 | 面向边缘计算中分布式协同学习的低功耗容器放置方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111752678A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113204429A (zh) * | 2021-05-31 | 2021-08-03 | 深圳供电局有限公司 | 一种数据中心的资源调度方法及***、调度设备、介质 |
CN113467892A (zh) * | 2021-07-14 | 2021-10-01 | 广州华多网络科技有限公司 | 分布式集群资源配置方法及其相应的装置、设备、介质 |
CN114691360A (zh) * | 2022-03-21 | 2022-07-01 | 北京有竹居网络技术有限公司 | 一种资源调度方法及其相关设备 |
CN116361120A (zh) * | 2023-05-31 | 2023-06-30 | 山东浪潮科学研究院有限公司 | 一种数据库异构资源管理与调度方法、装置、设备及介质 |
CN117032972A (zh) * | 2023-08-15 | 2023-11-10 | 中交路桥科技有限公司 | 一种基于云网边端的边坡监测*** |
US11882182B2 (en) | 2021-08-04 | 2024-01-23 | Samsung Electronics Co., Ltd. | Method and a network management system for determining storage node for a network element |
US11953972B2 (en) | 2022-04-06 | 2024-04-09 | International Business Machines Corporation | Selective privileged container augmentation |
-
2020
- 2020-06-16 CN CN202010546862.XA patent/CN111752678A/zh active Pending
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113204429A (zh) * | 2021-05-31 | 2021-08-03 | 深圳供电局有限公司 | 一种数据中心的资源调度方法及***、调度设备、介质 |
CN113467892A (zh) * | 2021-07-14 | 2021-10-01 | 广州华多网络科技有限公司 | 分布式集群资源配置方法及其相应的装置、设备、介质 |
US11882182B2 (en) | 2021-08-04 | 2024-01-23 | Samsung Electronics Co., Ltd. | Method and a network management system for determining storage node for a network element |
CN114691360A (zh) * | 2022-03-21 | 2022-07-01 | 北京有竹居网络技术有限公司 | 一种资源调度方法及其相关设备 |
US11953972B2 (en) | 2022-04-06 | 2024-04-09 | International Business Machines Corporation | Selective privileged container augmentation |
CN116361120A (zh) * | 2023-05-31 | 2023-06-30 | 山东浪潮科学研究院有限公司 | 一种数据库异构资源管理与调度方法、装置、设备及介质 |
CN116361120B (zh) * | 2023-05-31 | 2023-08-15 | 山东浪潮科学研究院有限公司 | 一种数据库异构资源管理与调度方法、装置、设备及介质 |
CN117032972A (zh) * | 2023-08-15 | 2023-11-10 | 中交路桥科技有限公司 | 一种基于云网边端的边坡监测*** |
CN117032972B (zh) * | 2023-08-15 | 2024-05-14 | 中交路桥科技有限公司 | 一种基于云网边端的边坡监测*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111752678A (zh) | 面向边缘计算中分布式协同学习的低功耗容器放置方法 | |
CN106776005B (zh) | 一种面向容器化应用的资源管理***及方法 | |
CN104281496B (zh) | 虚拟资源的分配方法及分配装置 | |
CN103338228B (zh) | 基于双加权最小连接算法的云计算负载均衡调度算法 | |
CN104038540B (zh) | 一种应用代理服务器自动选择方法及*** | |
CN104050042B (zh) | Etl作业的资源分配方法及装置 | |
CN106534318B (zh) | 一种基于流量亲和性的OpenStack云平台资源动态调度***和方法 | |
CN106020933B (zh) | 基于超轻量虚拟机的云计算动态资源调度***及方法 | |
CN109120715A (zh) | 一种云环境下动态负载均衡方法 | |
CN107426332B (zh) | 一种web服务器集群的负载均衡方法及*** | |
CN113037877B (zh) | 云边端架构下时空数据及资源调度的优化方法 | |
CN108170530B (zh) | 一种基于混合元启发式算法的Hadoop负载均衡任务调度方法 | |
CN108108245B (zh) | 一种云平台宽节点科学工作流的混合型调度方法及*** | |
CN105718364A (zh) | 一种云计算平台中计算资源能力动态评估方法 | |
CN101944113B (zh) | 一种基于云计算***的智能数据采集*** | |
CN104731528B (zh) | 一种云计算块存储服务的构建方法及*** | |
CN107566535B (zh) | 基于Web地图服务并发访问时序规则的自适应负载均衡方法 | |
CN105426241A (zh) | 一种基于云计算数据中心的统一资源调度节能方法 | |
CN107402926A (zh) | 一种查询方法以及查询设备 | |
CN106095582A (zh) | 云平台的任务执行方法 | |
Gopu et al. | Optimal VM placement in distributed cloud environment using MOEA/D | |
CN115134371A (zh) | 包含边缘网络算力资源的调度方法、***、设备及介质 | |
CN109656723A (zh) | 容器资源调度方法及装置 | |
CN108845886A (zh) | 基于相空间的云计算能耗优化方法和*** | |
CN102081624B (zh) | 一种数据查询的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |