CN108093046A - 一种基于前馈控制的云应用容器资源调度方法 - Google Patents

一种基于前馈控制的云应用容器资源调度方法 Download PDF

Info

Publication number
CN108093046A
CN108093046A CN201711360655.XA CN201711360655A CN108093046A CN 108093046 A CN108093046 A CN 108093046A CN 201711360655 A CN201711360655 A CN 201711360655A CN 108093046 A CN108093046 A CN 108093046A
Authority
CN
China
Prior art keywords
container
resource
response time
load
equation
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
Application number
CN201711360655.XA
Other languages
English (en)
Inventor
周红卫
刘延新
李亚琼
李守超
王钟沛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Jiangsu Run He Software Inc Co
Original Assignee
Jiangsu Run He Software Inc Co
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 Jiangsu Run He Software Inc Co filed Critical Jiangsu Run He Software Inc Co
Priority to CN201711360655.XA priority Critical patent/CN108093046A/zh
Publication of CN108093046A publication Critical patent/CN108093046A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/61Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources taking into account QoS or priority requirements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

发明涉及一种基于前馈控制的云应用容器资源调度方法。发明首先提取了微服务架构的多个特征,通过Jackson开环网络的收益方程建立了工作负载、响应时间与资源利用率的关联关系;采用模糊自适应卡尔曼滤波算法对响应时间、负载等参数进行预测,从而提高了资源供给的及时性,保障了应用服务质量;在以响应时间违背应用服务质量为首要调度策略的前提下,加入了任务类型、任务优先级、服务器资源利用率等辅助策略,提供了扩展、收缩和迁移三种调度方法,从而实现了容器级多任务混合部署。

Description

一种基于前馈控制的云应用容器资源调度方法
技术领域
本发明涉及一种基于前馈控制的云应用容器资源调度方法,属于软件技术领域。
背景技术
微服务架构在软件设计与开发领域上,由于其模块自治性强,所以可以很好的满足互联网应用诉求变化快,模块独立更新的需求。但是在软件的运行和维护领域上,由于其模块数量远高于传统架构,无疑提高了运维的成本与难度,所以,如何进行自适应的资源供给,已成为微服务架构亟需解决的主要问题之一。容器的本质是持有独立资源的通过命名空间进行隔离的进程组,具有资源占用少、应用启动快等特点。在资源隔离方面,容器采用Linux提供的命名空间机制,在用户态层面上对资源进行了隔离,又采用镜像固化机制消除了***环境的差异,易于部署;在供给时效性方面,容器启动时只有应用自身的启动延时,没有***环境的加载延时,因此,容器启动是秒级时效性;在性能开销方面,容器共享宿主机操作***的内核,每个容器只是进行了资源的隔离,所以基本没有磁盘、内存等额外开销,无论是读写、计算还是网络传输,容器性能都接近物理机的真实性能。所以,容器相对于物理机和虚拟机更适合作为微服务架构的执行载体,可以很好的满足微服务架构的自适应资源供给需求。众多互联网厂商都将“微服务+容器”的架构模式用于大规模突发性负载的场景中,现有资源供给方法没有充分利用微服务架构和容器的特性,来解决突发性负载所引发的问题,造成了服务响应时间超时,是引发该问题的一个主要原因。其中,突发负载是指负载规模在短时间内达到数倍于日均值的量级,具有时间无关性、随机性和非线性变化等特点。
针对上述原因,已有工作可分为以下两种类别。一类是基于物理资源的供给方法。一般针对物理资源难以快速供给的特点,或采用容量规划,以服务质量作为约束条件,估算应用的峰值资源需求;或采用准入控制机制,根据资源供给量反推应用可承受的峰值负载,通过拒绝服务策略来保障应用的服务质量(Lama P, Zhou X. Efficient serverprovisioning with control for end-to-end response time guarantee on multitierclusters[J]. Parallel and Distributed Systems, IEEE Transactions on, 2012, 23(1): 78-86.;Cao J, Zhang W, Tan W. Dynamic control of data streaming andprocessing in a virtualized environment[J]. Automation Science andEngineering, IEEE Transactions on, 2012, 9(2): 365-376.)。另一类是基于虚拟化环境的供给方法。一般针对虚拟化环境的性能开销,或采用反馈控制方法,通过虚拟机的性能变化,估算其资源需求;或采用模型驱动的方法刻画虚拟化环境下应用的资源需求变化,并以此作为资源供给的依据(Bodık P, Griffith R, Sutton C, et al. Statisticalmachine learning makes automatic control practical for internet datacenters[C]//Proceedings of the 2009 conference on Hot topics in cloud computing.CA,USA: Berkeley, 2009.;Xu C Z, Rao J, Bu X. URL: A unified reinforcementlearning approach for autonomic cloud management[J]. Journal of Parallel andDistributed Computing, 2012, 72(2): 95-105.)。
已有工作普遍存在以下三点不足,1)没有考虑微服务架构模块数量较多的特点,对每个服务模块单独建模,导致供给方法开销较大;2)没有考虑容器的增量式资源使用的特点,以固定阈值为标准进行资源供给,导致供给时效性较差;3)没有考虑突发性负载无规律的特点,依据大量历史数据进行建模,导致供给准确度较低。
发明内容
本发明的目的:改进了传统的集中式调度器,在以响应时间违背应用服务质量为首要调度策略的前提下,加入了任务类型、任务优先级、服务器资源利用率等辅助策略,提供了扩展、收缩和迁移三种调度方法,从而实现了容器级多任务混合部署。用户可以利用容器托管其应用,根据模糊自适应卡尔曼滤波算法保障其应用服务质量。。
本发明的原理:提出了一种服务质量(Quality of Service,QoS)敏感的容器资源弹性供给方法。该方法首先采用网络排队理论刻画工作负载、资源利用率和响应时间的关联关系,从而构建微服务架构的性能模型。其中,响应时间采用模糊自适应卡尔曼滤波算法进行预测(前馈控制器),该算法收敛速度快,不以历史数据为基准,只依赖于前一个周期的数据,所以可以很好地应对负载突变的无规律性。。
本发明技术解决方案:一种基于前馈控制的云应用容器资源调度方法,其特点在于实现步骤如下:
以每个服务模块的资源使用率及负载等参数构建应用性能模型,利用自适应卡尔曼滤波器对服务响应时间进行预测,并通过模糊控制论对预测模型的参数进行实时调整,最终以服务质量是否违约作为容器调度主要策略,达到自适应资源供给的目的。***方法流程可描述为以下步骤:
第一步,数据采集器,实时监测采集每个容器的CPU、内存、磁盘I/O、网络I/O等***性能资源使用数据以及每秒用户请求数;每个容器由于服务类型的不同,其资源偏好也不同,比如I/O密集型服务,其磁盘传输、网络传输等资源利用率可能要高于CPU的利用率,又如计算密集型服务,其CPU和内存的利用率可能较磁盘I/O要偏高些。数据采集器每次心跳监测时,将取得CPU利用率、内存利用率、磁盘I/O、网络I/O这四个参数中的最高值,为偏好资源利用率;最终将生成“负载-偏好资源利用率”数据对。
第二步,性能建模,根据数据采集器得到的数据对,通过Jackson开环网络[31]中的性能方程及流量方程进行建模,构建微服务架构下“负载-响应时间”的关联关系方程,该方程将用于构建自适应卡尔曼滤波器,以对响应时间进行预测。微服务架构中服务模块是相互独立的,模块之间通过消息总线进行通信,没有状态信息存在,满足Jackson网络排队模型下,节点(服务模块即节点)相互独立,呈负指数分布。微服务架构下服务模块之间通过消息总线进行交互,满足Jackson网络是开环,节点输入符合泊松分布的假设。服务模块在处理请求后,可选择进入下一个节点或者离开网络。
第三步,响应时间预测,将“负载-响应时间”关联方程中的未知数作为预测矩阵,已知数作为观测矩阵,构建卡尔曼滤波方程;为保证卡尔曼滤波方程预测的准确性,将卡尔曼滤波方程计算过程中产生的残差方差及均值传给前馈控制器;
第四步,云应用容器资源调度,分析残差的方差及均值,通过模糊逻辑得到滤波参数的校准值,保证滤波器在突发性负载场景下预测的准确性,得到响应时间的预测值。容器调度器,根据响应时间的预测值是否违背应用服务质量,进行容器调度。执行容器扩展、收缩或迁移后,继续执行第一步,形成方法闭环。
本发明与现有技术相比具有如下优点:
(1)利用排队论对微服务进行性能建模:首先对微服务架构***的特征进行提取,并论证了利用Jackson开环网络理论对其进行性能建模的合理性及正确性。在满足合理假设的前提下,根据Jackson开环网络的收益方程刻画了微服务架构的工作负载、资源利用率及响应时间的关联关系。
(2)提出一种基于预测的服务响应时间估算方法:根据容器的资源占用少、服务启动快、服务性能高等特点,采用了基于前馈的预测算法以保障突发负载时的服务质量。考虑到突发负载无规律的特点,发明选取了对历史数据依赖较小的自适应卡尔曼滤波器对服务响应时间进行预测,并采用模糊控制论对滤波器的滤波参数进行实时调整,从而提高了服务响应时间的预测准确性,保障资源供给的有效性。
(3)提出并实现了一种面向微服务的容器级资源供给框架:在分析关键技术基础上,提出并实现了面向微服务的容器级资源供给框架。该框架改进了传统的集中式调度器,在以响应时间是否违背应用服务质量为首要调度策略的前提下,加入了任务类型、任务优先级等辅助策略,提供了扩展、收缩和迁移三种调度方法,从而实现了多任务的混合部署。同时,实现了容器服务的托管,用户可根据应用情况搭配负载模式,从而保障突发负载时的应用服务质量,利用了容器的轻量级特点,提高了资源供给的时效性。
附图说明
图1为云应用容器自适应资源供给框架。
具体实施方式
以下结合具体实施例和附图对本发明进行详细说明,如图1所示,本发明实施例方法***:
本框架采用主从结构实现,主要有四种不同类型的节点,分别为主控节点、执行节点、服务管理节点和弹性计算节点。
主控节点主要负责全局的资源调度,包含接收用户请求的API服务器,进行全局资源管理的调度器和避免单点失效的主控节点选举器。执行节点主要负责容器的状态监控及保障应用的服务质量,包含容器生命周期管理的执行器,容器状态监控的数据采集器。服务管理节点主要负责各个服务信息的维护,包含服务状态信息收集的服务发现器和维护各个执行节点资源使用情况的健康检测器。弹性计算节点主要负责预测服务响应时间和负载。各个节点之间的交互可分为部署时和运行时两种不同的工作流。部署时工作流以创建容器为例,可简单描述为,用户请求传递到主控节点后,调度器根据调度算法选取一个执行节点进行请求处理,执行节点收到调度信息后,创建容器并将该容器信息注册到服务管理节点,完成该次容器创建请求。运行时工作流可简单描述为,数据采集器在某次心跳周期内对数据进行采集处理后传递给弹性计算器进行响应时间及负载的预测,当出现服务质量违约时,将预测值传递给主控节点的调度器,进行资源供给。
API服务器:主要负责接收用户的请求,然后封装成任务结构体,最后转发给相应的处理函数。API服务器是发明框架处理客户端请求的入口,采用Restful方式暴露框架中可访问的函数,不仅消除了客户端的编程语言限制,而且充分利用了HTTP协议的无状态性,极大地降低了客户端的编程难度。API服务器对外提供的函数接口,包含了服务、容器及镜像的生命周期管理等功能,表示了框架中所有容器管理操作及其相应的状态信息。
资源调度器:负责维护全局资源视图,并对资源请求进行合理的调度分配。发明调度算法在保障服务响应时间的前提下,以提高服务器资源利用率为目的,对传统的全局资源调度器进行改进,加入了任务类型、任务优先级等策略,实现了任务混合部署,从而提高了服务器的资源利用率。
主控节点选举器:是一个用于共享配置及服务发现的高可用键值存储***,其采用Restful协议,便于用户使用,可选的SSL客户认证机制增强了其安全性,每个节点支持每秒千次以上的写操作,使用Raft算法充分保障了分布式环境下的信息一致性。
执行器:是执行节点对容器生命周期管理的核心,其主要功能有:执行调度器传来的调度信号;向服务管理节点进行服务注册与注销;充当代理角色,负责各个执行节点中的容器通信。当有调度信号到达时,API层将判断该信号的类型,并将其传给Docker-py[47](Docker的python开源客户端)进行具体的执行操作,如果是容器调度信号,执行成功后,执行器会将容器的id返回给调度器,并通过Python-etcd[48]将该容器的网络地址及访问端口号传递给服务管理节点进行服务注册。如果是镜像调度信号,执行成功后,执行器会将变更的镜像推送到远程镜像仓库进行存储。如果是网络调度信号,执行器会将该信号传输给网络管理模块进行处理,执行成功后,执行器会将该网络id、网络地址及子网等信息推送到服务管理节点,进行服务注册。

Claims (1)

1.一种基于前馈控制的云应用容器资源调度方法,方法特征在于实现步骤如下:
第一步,数据采集器:实时监测采集每个容器的资源数据,最终将生成“负载-偏好资源利用率”数据对;
第二步,性能建模:根据数据采集器得到的数据对,通过Jackson开环网络中的性能方程及流量方程进行建模,构建微服务架构下“负载-响应时间”的关联关系方程,满足Jackson网络是开环,节点输入符合泊松分布的假设,服务模块在处理请求后,可选择进入下一个节点或者离开网络;
第三步,响应时间预测,将“负载-响应时间”关联方程中的未知数作为预测矩阵,已知数作为观测矩阵,构建卡尔曼滤波方程;为保证卡尔曼滤波方程预测的准确性,将卡尔曼滤波方程计算过程中产生的残差方差及均值传给前馈控制器;
第四步,云应用容器资源调度,分析残差的方差及均值,通过模糊逻辑得到滤波参数的校准值,保证滤波器在突发性负载场景下预测的准确性,得到响应时间的预测值;容器调度器,根据响应时间的预测值是否违背应用服务质量,进行容器调度;执行容器扩展、收缩或迁移后,继续执行第一步,形成方法闭环。
CN201711360655.XA 2017-12-18 2017-12-18 一种基于前馈控制的云应用容器资源调度方法 Pending CN108093046A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711360655.XA CN108093046A (zh) 2017-12-18 2017-12-18 一种基于前馈控制的云应用容器资源调度方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711360655.XA CN108093046A (zh) 2017-12-18 2017-12-18 一种基于前馈控制的云应用容器资源调度方法

Publications (1)

Publication Number Publication Date
CN108093046A true CN108093046A (zh) 2018-05-29

Family

ID=62176801

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711360655.XA Pending CN108093046A (zh) 2017-12-18 2017-12-18 一种基于前馈控制的云应用容器资源调度方法

Country Status (1)

Country Link
CN (1) CN108093046A (zh)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109408200A (zh) * 2018-11-12 2019-03-01 国网信息通信产业集团有限公司 一种基于资源请求特征的微服务资源管理方法及***
CN109561134A (zh) * 2018-10-26 2019-04-02 平安科技(深圳)有限公司 电子装置、分布式集群服务分配方法及存储介质
CN110362494A (zh) * 2019-07-18 2019-10-22 腾讯科技(深圳)有限公司 微服务状态信息展示的方法、模型训练方法以及相关装置
CN111367632A (zh) * 2020-02-14 2020-07-03 重庆邮电大学 一种基于周期特征的容器云调度方法
CN111526179A (zh) * 2020-03-30 2020-08-11 中科九度(北京)空间信息技术有限责任公司 一种分布式节点资源弹性扩展装置及方法
CN112187894A (zh) * 2020-09-17 2021-01-05 杭州谐云科技有限公司 一种基于负载相关性预测的容器动态调度方法
US10922125B2 (en) 2019-06-13 2021-02-16 Micro Focus Llc Capability liveness of containerized services
CN112559142A (zh) * 2019-09-26 2021-03-26 贵州白山云科技股份有限公司 容器的控制方法、装置、边缘计算***、介质及设备
CN112764915A (zh) * 2020-12-10 2021-05-07 国家卫星气象中心(国家空间天气监测预警中心) 一种时间相关度的资源消耗分析方法
CN113238839A (zh) * 2021-04-26 2021-08-10 深圳微品致远信息科技有限公司 一种基于云计算数据管理方法及装置
CN113992525A (zh) * 2021-10-12 2022-01-28 支付宝(杭州)信息技术有限公司 一种应用的容器数量调节方法及装置
CN115426365A (zh) * 2022-08-17 2022-12-02 西安理工大学 一种基于泛容计算架构的集群调度方法

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109561134B (zh) * 2018-10-26 2022-06-10 平安科技(深圳)有限公司 电子装置、分布式集群服务分配方法及存储介质
CN109561134A (zh) * 2018-10-26 2019-04-02 平安科技(深圳)有限公司 电子装置、分布式集群服务分配方法及存储介质
CN109408200A (zh) * 2018-11-12 2019-03-01 国网信息通信产业集团有限公司 一种基于资源请求特征的微服务资源管理方法及***
US10922125B2 (en) 2019-06-13 2021-02-16 Micro Focus Llc Capability liveness of containerized services
CN110362494A (zh) * 2019-07-18 2019-10-22 腾讯科技(深圳)有限公司 微服务状态信息展示的方法、模型训练方法以及相关装置
CN110362494B (zh) * 2019-07-18 2021-06-15 腾讯科技(深圳)有限公司 微服务状态信息展示的方法、模型训练方法以及相关装置
CN112559142B (zh) * 2019-09-26 2023-12-19 贵州白山云科技股份有限公司 容器的控制方法、装置、边缘计算***、介质及设备
CN112559142A (zh) * 2019-09-26 2021-03-26 贵州白山云科技股份有限公司 容器的控制方法、装置、边缘计算***、介质及设备
CN111367632A (zh) * 2020-02-14 2020-07-03 重庆邮电大学 一种基于周期特征的容器云调度方法
CN111367632B (zh) * 2020-02-14 2023-04-18 重庆邮电大学 一种基于周期特征的容器云调度方法
CN111526179A (zh) * 2020-03-30 2020-08-11 中科九度(北京)空间信息技术有限责任公司 一种分布式节点资源弹性扩展装置及方法
CN112187894B (zh) * 2020-09-17 2022-06-10 杭州谐云科技有限公司 一种基于负载相关性预测的容器动态调度方法
CN112187894A (zh) * 2020-09-17 2021-01-05 杭州谐云科技有限公司 一种基于负载相关性预测的容器动态调度方法
CN112764915A (zh) * 2020-12-10 2021-05-07 国家卫星气象中心(国家空间天气监测预警中心) 一种时间相关度的资源消耗分析方法
CN112764915B (zh) * 2020-12-10 2023-11-14 国家卫星气象中心(国家空间天气监测预警中心) 一种时间相关度的资源消耗分析方法
CN113238839A (zh) * 2021-04-26 2021-08-10 深圳微品致远信息科技有限公司 一种基于云计算数据管理方法及装置
CN113992525A (zh) * 2021-10-12 2022-01-28 支付宝(杭州)信息技术有限公司 一种应用的容器数量调节方法及装置
CN115426365A (zh) * 2022-08-17 2022-12-02 西安理工大学 一种基于泛容计算架构的集群调度方法

Similar Documents

Publication Publication Date Title
CN108093046A (zh) 一种基于前馈控制的云应用容器资源调度方法
Duc et al. Machine learning methods for reliable resource provisioning in edge-cloud computing: A survey
Yin et al. Tasks scheduling and resource allocation in fog computing based on containers for smart manufacturing
Kaur et al. Container-as-a-service at the edge: Trade-off between energy efficiency and service availability at fog nano data centers
Calheiros et al. Virtual machine provisioning based on analytical performance and QoS in cloud computing environments
CN108228347A (zh) 一种任务感知的Docker自适应调度***
Elmroth et al. Self-management challenges for multi-cloud architectures
Niehorster et al. Enforcing SLAs in scientific clouds
Berral et al. Power-aware multi-data center management using machine learning
da Rosa Righi et al. A survey on global management view: toward combining system monitoring, resource management, and load prediction
Belgacem et al. Intelligent multi-agent reinforcement learning model for resources allocation in cloud computing
Xu et al. Enhancing kubernetes automated scheduling with deep learning and reinforcement techniques for large-scale cloud computing optimization
Nylander et al. Cloud application predictability through integrated load-balancing and service time control
Stavrinides et al. Cost‐aware cloud bursting in a fog‐cloud environment with real‐time workflow applications
Mazidi et al. An autonomic decision tree‐based and deadline‐constraint resource provisioning in cloud applications
Sacco et al. Resource inference for sustainable and responsive task offloading in challenged edge networks
Meng et al. Service-oriented reliability modeling and autonomous optimization of reliability for public cloud computing systems
Chenaru et al. Open cloud solution for integrating advanced process control in plant operation
Pisa et al. VNEXT: Virtual network management for Xen-based testbeds
Xiao et al. Self‐adaptation and mutual adaptation for distributed scheduling in benevolent clouds
Shrabanee et al. SDN-cloud: a power aware resource management system for efficient energy optimization
Deng et al. Cloud-native computing: A survey from the perspective of services
Sah et al. Scalability of efficient and dynamic workload distribution in autonomic cloud computing
Bi et al. Dynamic fine-grained resource provisioning for heterogeneous applications in virtualized cloud data center
Nandhini et al. Enhanced fault identification and optimal task prediction (EFIOTP) algorithm during multi-resource utilization in cloud-based knowledge and personal computing

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20180529