CN108228347A - 一种任务感知的Docker自适应调度*** - Google Patents

一种任务感知的Docker自适应调度*** Download PDF

Info

Publication number
CN108228347A
CN108228347A CN201711395307.6A CN201711395307A CN108228347A CN 108228347 A CN108228347 A CN 108228347A CN 201711395307 A CN201711395307 A CN 201711395307A CN 108228347 A CN108228347 A CN 108228347A
Authority
CN
China
Prior art keywords
container
service
controller
resource
scheduler
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
CN201711395307.6A
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.)
Shanghai Dianji University
Original Assignee
Shanghai Dianji University
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 Shanghai Dianji University filed Critical Shanghai Dianji University
Priority to CN201711395307.6A priority Critical patent/CN108228347A/zh
Publication of CN108228347A publication Critical patent/CN108228347A/zh
Pending legal-status Critical Current

Links

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/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

一种任务感知的Docker自适应调度***,Docker自适应调度方法流程为:数据采集器采集每个容器的负载以及CPU、内存***资源使用率;性能建模器基于排队论,以资源使用率作为基准,构建应用性能模型,刻画负载和响应时间的关联关系;响应时间预测器通过卡尔曼滤波器对性能模型参数进行运行时估算,估算是以满足预测和实测响应误差预期为收殓条件;前馈控制器通过模糊控制器分析残差均值和方差,得到卡尔曼滤波器控制参数的前馈调整值;容器调度器判断响应时间的预测值是否违背了应用服务质量,并根据调度算法进行调度;容器调度器执行容器扩展、收缩或者迁移。

Description

一种任务感知的Docker自适应调度***
技术领域
本发明属于云计算技术领域,特别涉及微服务架构下的一种任务感知的Docker自适应调度***。
背景技术
微服务架构体现了互联网应用的设计思想,其核心理念是细粒度模块划分、服务化接口封装、轻量级通信交互,微服务本身具有良好的扩展性,正逐渐成为构造互联网应用的主流架构模式,但从运行和维护的视角来看,应对典型的互联网突变负载场景、保障应用服务质量依旧面临挑战。
近年来,轻量级容器技术应运而生,容器作为物理资源的逻辑抽象,具有资源占用少、资源供给快等特点,适合工作负载突变的互联网应用模式,特别是面向微服务架构的新型服务范型。然而,已有工作受限于物理机和虚拟化环境,或资源难以弹性供给或资源供给时效性较差,难以应对负载突变场景。
在现有云架构中,资源调度通用过程一般划分为四个步骤:资源请求、资源探测、资源选择、资源监控。为统一管理这些虚拟资源,将每个可用的虚拟资源抽象成一个可调度单元(Unit),每个Unit由一个二元组V(C,M)确定,其中C表示CPU大小,M表示内存大小。则一台物理服务器Si最多能虚拟的Unit数为:单数据中心可用资源总数为同时引入分组的思想,将具有相同使用特点的资源分组,从而避免因统一调度大量无规则资源对云平台性能的消耗,即为可调度单元引入新属性F,每个Unit由一个三元组V(C,M,F)决定,其中F表示资源的核心特性,结合上文对生产任务型终端的分类,生产任务型场景下共包含三类不同特性的虚拟资源。当用户登入云平台,并输入相应能力需求即完成了资源请求。云平台接到用户资源请求之后,会首先通过安装在每台服务器节点上的数据收集模块探测节点负载信息(即:计算每个资源节点剩余的不同特性的可用资源数量)与服务器响应时间。
然后采用动态优先权(Priority)算法,选择Priority值最高节点,将其上与用户特性相匹配的虚拟资源交付给用户。动态优先权(Priority)算法即将服务器分组,给每个组定义不同优先权,用户请求会分配给优先权最高的服务器组(在同一组内,采用轮询或比率算法,分配用户的请求)。每组服务器的Priority值由当前节点的负载情况与服务器响应时间共同决定。动态优先权算法的核心思想是用户请求由当前负载最小且响应最短的资源节点承载。Priority=Unit total×F+LT×μ,其中F表示用户需求特性权重,LT表示服务器响应时间,μ表示时间优先权转换比。当用户请求到达时,Priority值动态更新,正是这种机制,使得动态优先权(Priority)算法难以应对负载突变的情况。
现有的专利文献包括,申请号为CN201710461892.9文件公开了“一种基于负载预测的Docker Swarm集群资源调度优化方法,属于计算机***虚拟化技术领域。本发明利用Docker daemon的API接口函数,周期性地收集容器的资源历史使用量;采取ARIMA-RBF模型来对容器的资源历史使用量进行建模预测,获取资源未来使用量,集合资源目前使用情况对资源使用上限和资源使用权限进行调整;并根据容器的资源历史使用量来确定容器对资源的使用偏向程度;并在集群启动一个新容器时根据该容器和满足容器资源需求的节点集上的资源使用偏向程度,选择一个加入该容器后资源使用偏向最均衡的节点来部署这个新容器;本发明提供的技术方案,提高了Docker Swarm集群的资源利用率,并能提升各个容器的实际运行性能”。
申请号为CN201710289847.X的专利文件公开了“一种容器管理平台,包括:调度器,为基于Mesos Restful API编写的应用调度框架,用于容器应用的生命周期管理;监控报警***,用于监控容器的性能指标和应用的健康状态;日志处理***,用于日志检索和日志统计;发布***,用于实现应用的发布和回滚。本发明提供的一种容器管理平台,可以非常快速的定位一个服务的位置,又能高效利用集群资源下的多租户管理,还可以灵活的设置监控报警***,并提供关联背景下的日志查看”。
申请号为CN201710221393.2的专利文件,公开了“一种基于微服务架构的主机监控***,其中,包括:Jenkins持续部署环境模块,用于接收各个微服务的升级代码,并对应对各微服务进行代码更新、测试和部署,以及在服务端安装新的微服务;微服务模块,存储有多个微服务,每个微服务用于实现服务端的一项独立功能,向插件管理器提供功能服务,并对***管理员提供服务端的操作接口;插件管理器用于为各个插件的运行提供基础环境并进行管理;插件是终端安全监控功能的最终执行单元,用于读取服务端下发的安全策略,并依据安全策略中描述对终端进行管控”。
申请号为CN201710217944.8的专利文件,公开了“一种基于容器的应用实例弹性伸缩的实现方法、装置及***,包括:确定与目标应用对应的目标主机节点及目标容器;确定与目标应用对应的弹性伸缩策略的指标;从目标主机节点中,获取与目标容器对应的指标实际值;若根据指标实际值和弹性伸缩策略,判定需要对所目标应用的容器数量进行调整,则向Docker Swarm组件发送容器数量调整指令,以使Docker Swarm组件对容器数量进行调整;可见,在本实施例中,通过获取的指标实际值与预定的弹性伸缩策略进行匹配,可自动触发Swarm集群组件进行调度创建或删除容器,实现应用实例在某一条件下的自动扩容或伸缩,提升基于容器应用的高可靠性”。
然而,上述的技术方案都无法解决本发明提出的突发负载的问题。本发明涉及的Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。
发明内容
本发明引入容器作为互联网应用的载体,利用其秒级资源供给的特点,提供一种任务感知的Docker自适应调度***,以及一种任务感知的自适应容器资源供给***,满足负载突变的需求。
一种任务感知的Docker自适应调度***,该***包括数据采集器、性能建模器、响应时间预测器、前馈控制器、容器调度器,以及若干容器,
Docker自适应调度方法流程为:
①数据采集器采集每个容器的负载以及CPU、内存***资源使用率;
②性能建模器基于排队论,以步骤①中资源使用率作为基准,构建应用性能模型,刻画负载和响应时间的关联关系;
③响应时间预测器通过卡尔曼滤波器对性能模型参数进行运行时估算,估算是以满足预测和实测响应误差预期为收殓条件;
④前馈控制器通过模糊控制器分析残差均值和方差,得到卡尔曼滤波器控制参数的前馈调整值;
⑤容器调度器判断响应时间的预测值是否违背了应用服务质量,并根据调度算法进行调度;
⑥容器调度器执行容器扩展、收缩或者迁移后,继续执行步骤①,形成方法闭环。
一种任务感知的自适应容器资源供给***,包括自动部署模块、资源弹性调度模块、服务注册与发现模块,
自动部署模块由模板仓库与应用部署器组成,模板仓库中提供了可参考的部署模板及应用服务,用户根据服务需求选择具体应用及其版本号,当模板仓库不能满足用户服务需求时,用户根据模板格式自主创建模板,
资源弹性调度模块由主控节点的调度器及子节点的控制器构成,所述调度器根据用户和子节点的控制器传来的调度请求进行全局调度分配;
服务注册及发现模块采用分布式的一致性键值存储***实现,内部采用层级树状存储结构,服务注册及发现的过程是:当子节点有新的服务生成时,控制器会根据该服务的配置信息,将服务的网络地址及端口号注册给主控节点的服务信息存储器,存储器分析服务的配置信息对服务自动进行分类与组合,
任务感知的自适应容器资源供给***工作流程如下:
***采用主从结构,用户在模板仓库中选择或创建应用所需配置,然后将一组配置模板传给应用部署器,应用部署器对配置模板进行容错验证、组合之后将应用配置信息传给全局调度器,全局调度器根据当前各个子节点的资源使用情况选择合适的子节点进行服务部署,并将服务信息持久化存储,子节点的控制器收到调度命令后,进行具体调度,
另一方面,控制器也实时收集服务的信息汇报给主控节点的调度器,当有新服务产生时,会自动向主控节点的存储器进行服务注册。
本发明是一种面向微服务架构的Docker自适应供给***,基于卡尔曼滤波收敛快、无需保存历史数据的特点,对服务响应时间进行预测,并根据预测结果的实现资源的弹性供给,弥补已有研究工作难以应对突发负载的不足。其中,任务感知模型是评估应用资源需求、实现弹性供给的依据。任务感知通常需要有流量监控与预警***,保证在应对大流量、高并发的用户访问请求时实现Qos保障。
本发明建立了一种任务感知的Docker自适应调度***,采用一种服务质量(Quality of Service,QoS)敏感的、基于前馈的容器资源自适应调度方法,任务感知的实现主要采用排队论刻画工作负载、资源利用率和响应时间的关联关系,从而构建应用性能模型。其中,响应时间采用模糊自适应卡尔曼滤波进行预测(前馈控制器),预测结果违背QoS是触发容器资源自适应调度的依据。
本发明提出的微服务容器资源自适应调度框架,利用容器轻量级特点,提高了资源供给的实效性。利用模糊自适应卡尔曼滤波快速收敛的特点,提高了突变负载的预测准确性和资源供给的有效性。
附图说明
通过参考附图阅读下文的详细描述,本发明示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本发明的若干实施方式,其中:
图1本发明涉及的自适应调度***结构图。
图2本发明涉及的自适应容器资源供给***结构图。
具体实施方式
本发明的任务感知的Docker自适应调度方法的总体框架及流程如附图图1所示,本方法以每个微服务的资源使用率及负载等参数构建任务感知模型,利用自适应卡尔曼滤波器对服务响应时间进行预测,并通过模糊逻辑对预测模型进行实时调整,最终以服务质量是否违约作为容器调度标准,达到资源弹性供给的目的。
本发明的任务感知的Docker自适应调度方法流程可描述为:
①数据采集器采集每个容器的负载以及CPU、内存等***资源使用率;
②性能建模器基于排队论,以步骤①中资源使用率作为基准,构建应用性能模型,刻画负载和响应时间的关联关系;
③响应时间预测器通过卡尔曼滤波器对性能模型参数进行运行时估算,估算是以满足预测和实测响应误差预期为收殓条件;
④前馈控制器通过模糊控制器分析残差均值和方差,得到卡尔曼滤波器控制参数的前馈调整值;
⑤容器调度器判断响应时间的预测值是否违背了应用服务质量,并根据调度算法进行调度;
⑥执行容器扩展、收缩或者迁移后,继续执行步骤①,形成方法闭环。
(1)基于Jackson网络排队的应用性能模型
Jackson开环网络是适合微服务架构的应用性能模型,用户请求会在节点中跳转,经过相关微服务的处理,最后响应给用户。当某个微服务存在多个实例时候,采用轮循调度(round-robin scheduling)策略。由于微服务的资源偏好不同(如CPU密集集型、I/O密集集型),导致容器出现的偏好资源不同,定义偏好资源为容器CPU、内存、磁盘I/O中使用率最高的资源。
uj∈[0,1)是微服务j的偏好资源使用率;u0j是指当微服务j在无负载情况下的偏好资源使用率;γji是指微服务j的第i个容器的并发数,即每秒到达的请求数,满足泊松到达过程;Tji是指微服务j的第i个容器的服务处理时间;Tj是指微服务j的平均服务处理时间;d是指用户请求流f的总网络传输时间;B是指服务流f的响应时间;τj是服务j的负载与资源使用率的相关系数。根据Jackson网络流量方程及网络性能方程有:
其中,uj,u0j,γji,B是通过监测获取的,τj是根据历史数据给出的经验值,Tji,d是难以监测的,需要通过预测进行估算。所谓弹性供给是指响应时间B在相对固定的取值区间前提下,应用的资源需求。可见,Tji,d是进行自适应资源供给的关键要素。
(2)自适应卡尔曼滤波算法对响应时间的预测
卡尔曼滤波算法是由Kalman在1960年提出的一种最优线性状态估计方法,常被用于轨迹跟踪预测领域。其优点是采用递归的方法来解决线性滤波问题,只需当前的测量值和前一个采样周期的估计值就能够进行状态估计。
自适应卡尔曼滤波(adaptive Kalman filtering,AFK)原始方程如下:
X(k+1)=F(k)X(k)+Q(k), (3)
Z(k)=H(k)X(k)+R(k), (4)
其中,X(k)是预测矩阵,代表服务处理时间与总时延的矩阵;Z(k)为X(k)的状态矩阵;H(k)负责将可观测值的多维向量转换到待预测值的多维向量,是由应用实例的资源利用率、负载与响应时间的所构成的矩阵;Q(k)是过程激励噪声协方差矩阵,R(k)是测量噪声协方差矩阵,一般认为应将这2个噪声矩阵设置为零均值白噪声。但是负载变化往往是不确定的,如负载突变场景,所以为了使***的弹性资源供给具有实时性,过程激励噪声协方差矩阵以及测量噪声协方差矩阵应该随时间自适应调整。判断滤波器是否需要更新的依据就是监测残差,理想情况下残差为零均值白噪声,即滤波器可以完美自适应,如果残差不为零均值白噪声,则说明滤波器预测出现误差。由于残差方差、残差均值与Q和R相关,可以通过估计残差方差与均值,然后进行模糊推理,最后调整U和T的值,已达到使卡尔曼滤波算法适应时变结构的目的。
本发明采用TS模糊逻辑***,对残差方差及均值建立三角形隶属度函数及模糊规则,基于模糊逻辑的自适应卡尔曼滤波算法是采用前馈控制的方式,根据滤波预测值实时对滤波模型参数进行调整。本发明通过反馈控制实时调整噪声和过程激励矩阵,以达到自适应修正滤波参数的目的。
(3)容器调度策略
本发明通过对响应时间预测模型方法的分析,可以根据负载及资源使用情况,对容器进行实时调度,以保障平稳的输出响应时间。本发明的容器调度策略主要有3种:
1)容器迁移。其产生的主要原因是容器本身的资源使用并没有达到资源限制上限,而不是因为宿主机的资源总量将要到达限制上限,此时并不需要对容器进行扩展。控制器只需要将服务名称汇报给调度器,调度器将根据资源类型及集群资源使用情况对容器进行迁移。容器迁移过程大致如下,首先控制器将容器持久化成镜像,这一步将保存当前的应用状态,然后调度器发出调度命令,收到调度命令的控制器将根据调度命令,从镜像中产生1个新的容器,然后反馈给服务注册模块,以完成服务发现。原有的容器将会被控制器删除,同样也汇报给服务注册模块,完成服务注销。
2)容器扩展。其产生的主要原因是容器本身某项资源率使用已到限制器的限制值,此时进行容器迁移并不能解决问题,为保障该容器的平均响应时间,必须对该容器进行扩展。容器扩展的过程大致如下,首先调度器根据控制器的汇报信息,在当前集群中选择合适的节点发出创建容器命令,并将容器的配置信息传输给节点中的控制器,控制器创建新容器后将根据容器的网络地址及端口号自动进行服务注册。
3)容器收缩。其产生的主要原因是应用的各个实例的资源使用情况都低于估计值,此时需要裁剪该应用的实例数量。容器收缩的过程大致如下,首先调度器根据控制器的汇报信息,判断该应用是否需要进行收缩,并将判断结果反馈给控制器,控制器收到调度命令后自动进行服务注销。
微服务架构下任务感知的自适应容器资源供给***装置分为3个部分:自动部署模块、资源弹性调度模块、服务注册与发现模块。其***结构图如附图图2所示。
任务感知的自适应容器资源供给***装置的主要工作流程如下:***采用主从结构,用户在模板仓库中选择或创建应用所需配置,然后将一组配置模板传给应用部署器,应用部署器对配置模板进行容错验证、组合之后将应用配置信息传给全局调度器,全局调度器根据当前各个子节点的资源使用情况选择合适的子节点进行服务部署,并将服务信息持久化存储,子节点的控制器收到调度命令后,进行具体调度,另一方面,控制器也会实时收集服务的信息汇报给主控节点的调度器,当有新服务产生时,会自动向主控节点的存储器进行服务注册。
(1)自动部署模块
自动部署模块由模板仓库与应用部署器组成,模板仓库中提供了大量可参考的部署模板及应用服务,用户可以根据服务需求选择具体应用及其版本号,当模板仓库不能满足用户服务需求时,用户可以根据模板格式自主创建模板。
应用部署器根据模板仓库传来的一系列模型信息,对服务所需的组件间的关联关系进行分析,并将分析结果持久化到配置文件中,这些信息将会决定各个服务的部署及启动顺序,也是服务注册与发现的基本依赖。另一方面,***会分析测试生成的配置文件,进行容错性验证的同时,也会生成相应的Jackson网络排队模型,该模型是***进行弹性资源调度的关键所在。
(2)资源弹性调度模块
资源弹性调度模块由主控节点的调度器及子节点的控制器构成。调度器会根据用户和控制器传来的调度请求进行全局调度分配,调度器的主要调度原则有:保障服务运行的优先级、将CPU密集型服务与I/O密集型服务混布、保障各服务公平的使用资源等规则。
由于容器与传统虚拟机不同,创建容器的时候可以不对其做资源限制,让其根据服务的运行需求自行申请或释放资源,这样可以最大化地利用宿主机的物理资源,但是采取这种方式会同时引入资源竞争的问题。如当宿主机内多个容器的内存使用量同时突升时,可能会导致操作***强制停止容器(out of memory kill);当某个容器的网络传输量很大时,可能会导致主控节点无法接收到子节点的心跳包,导致***调度停滞等问题。所以,需要在控制器中添加1个资源限制模块,保证***进程的基本资源。另外,当宿主机中各个服务的资源使用量都很高,而且总使用量已达到理论限制值时,是对服务进行迁移,还是对服务进行扩展?服务迁移会有一定的延迟及网络开销,服务扩展虽然开销较小,但是很难保障原有服务会持续保持高资源利用率的状态,所以,有可能在服务扩展后,又需要进行服务收缩,导致***频繁进行调度。为避免此情况,控制器会实时收集各个服务的负载、资源使用、性能等数据通过卡尔曼滤波对***的输出响应时间进行实时预测,然后通过模糊逻辑理论进行分类与推理,最终得出服务是否需要进行服务迁移或者进行服务伸缩。
(3)服务注册与发现模块
服务注册及发现模块采用分布式的一致性键值存储***实现,内部采用层级树状存储结构,可以很高效地存储服务之间的关联关系。服务注册及发现的过程可描述为,当子节点有新的服务生成时,控制器会根据该服务的配置信息,将服务的网络地址及端口号注册给主控节点的服务信息存储器,存储器会分析服务的配置信息对服务自动进行分类与组合。
负载是影响应用资源需求的主要因素,本发明通过Jackson网络排队模型构建负载与QoS的关联关系,并以QoS是否违约作为资源供给的依据。具体而言,本发明首先利用Jackson网络排队论构建负载、资源使用率与响应时间的性能模型,然后采用自适应卡尔曼滤波算法对模型中的未知参数进行预测,并通过模糊逻辑(前馈控制器)校正滤波器中的控制参数,以达到提高响应时间预测准确性,保障QoS的目的。
随着微服务技术的发展,云服务底层技术构架也发生了明显变化,云服务资源节点数量越来越多。同时,用户数量多、行业普及,服务需求多,时效性期望高,数据海量且多样化等特点日益明显。已有任务调度算法难以满足新形势下任务调度的需求。本方法以每个微服务的资源使用率及负载等参数构建任务感知模型,利用自适应卡尔曼滤波器对服务响应时间进行预测,并通过模糊逻辑对预测模型进行实时调整,最终以服务质量是否违约作为容器调度标准,达到资源弹性供给的目的。依据本发明提供的技术方案,提高响应时间预测准确性,保障QoS的目的同时,提高容器集群的资源利用率。
值得说明的是,虽然前述内容已经参考若干具体实施方式描述了本发明创造的精神和原理,但是应该理解,本发明并不限于所公开的具体实施方式,对各方面的划分也不意味着这些方面中的特征不能组合,这种划分仅是为了表述的方便。本发明旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等同布置。

Claims (4)

1.一种任务感知的Docker自适应调度***,该***包括数据采集器、性能建模器、响应时间预测器、前馈控制器、容器调度器,以及若干容器,
Docker自适应调度方法流程为:
①数据采集器采集每个容器的负载以及CPU、内存***资源使用率;
②性能建模器基于排队论,以步骤①中资源使用率作为基准,构建应用性能模型,刻画负载和响应时间的关联关系;
③响应时间预测器通过卡尔曼滤波器对性能模型参数进行运行时估算,估算是以满足预测和实测响应误差预期为收殓条件;
④前馈控制器通过模糊控制器分析残差均值和方差,得到卡尔曼滤波器控制参数的前馈调整值;
⑤容器调度器判断响应时间的预测值是否违背了应用服务质量,并根据调度算法进行调度;
⑥容器调度器执行容器扩展、收缩或者迁移后,继续执行步骤①,形成方法闭环。
2.如权利要求1所述的任务感知的Docker自适应调度***,其特征在于,步骤③中响应时间预测器对响应时间的预测采用自适应卡尔曼滤波器,设公式如下:
X(k+1)=F(k)X(k)+Q(k), (3)
Z(k)=H(k)X(k)+R(k), (4)
其中,X(k)是预测矩阵,代表服务处理时间与总时延的矩阵;
Z(k)为X(k)的状态矩阵;
H(k)负责将可观测值的多维向量转换到待预测值的多维向量,是由应用实例的资源利用率、负载与响应时间的所构成的矩阵;
Q(k)是过程激励噪声协方差矩阵,
R(k)是测量噪声协方差矩阵,
通过反馈控制实时调整噪声和过程激励矩阵,以达到自适应修正滤波参数的目的。
3.如权利要求2所述的任务感知的Docker自适应调度***,其特征在于,步骤⑥容器调度器调度策略包括容器迁移、容器扩展和容器收缩:
1)容器迁移,容器迁移过程包括,
首先控制器将容器持久化成镜像,保存当前的应用状态,然后调度器发出调度命令,收到调度命令的控制器将根据调度命令,从镜像中产生1个新的容器,然后反馈给服务注册模块,以完成服务发现,原有的容器将会被控制器删除,同样也汇报给属于自适应容器资源供给***的服务注册模块,完成服务注销;
2)容器扩展,容器扩展的过程包括,首先调度器根据控制器的汇报信息,在当前集群中选择合适的节点发出创建容器命令,并将容器的配置信息传输给节点中的控制器,控制器创建新容器后将根据容器的网络地址及端口号自动进行服务注册;
3)容器收缩,容器收缩的过程包括,首先调度器根据控制器的汇报信息,判断该应用是否需要进行收缩,并将判断结果反馈给控制器,控制器收到调度命令后自动进行服务注销。
4.一种任务感知的自适应容器资源供给***,采用如权利要求1中的Docker自适应调度方法,其特征在于,资源供给***包括自动部署模块、资源弹性调度模块、服务注册与发现模块,
自动部署模块由模板仓库与应用部署器组成,模板仓库中提供了可参考的部署模板及应用服务,用户根据服务需求选择具体应用及其版本号,当模板仓库不能满足用户服务需求时,用户根据模板格式自主创建模板,
资源弹性调度模块由主控节点的调度器及子节点的控制器构成,所述调度器根据用户和子节点的控制器传来的调度请求进行全局调度分配;
服务注册及发现模块采用分布式的一致性键值存储***实现,内部采用层级树状存储结构,服务注册及发现的过程是:当子节点有新的服务生成时,控制器会根据该服务的配置信息,将服务的网络地址及端口号注册给主控节点的服务信息存储器,存储器分析服务的配置信息对服务自动进行分类与组合,
任务感知的自适应容器资源供给***工作流程如下:
***采用主从结构,用户在模板仓库中选择或创建应用所需配置,然后将一组配置模板传给应用部署器,应用部署器对配置模板进行容错验证、组合之后将应用配置信息传给全局调度器,全局调度器根据当前各个子节点的资源使用情况选择合适的子节点进行服务部署,并将服务信息持久化存储,子节点的控制器收到调度命令后,进行具体调度,
另一方面,控制器也实时收集服务的信息汇报给主控节点的调度器,当有新服务产生时,会自动向主控节点的存储器进行服务注册。
CN201711395307.6A 2017-12-21 2017-12-21 一种任务感知的Docker自适应调度*** Pending CN108228347A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711395307.6A CN108228347A (zh) 2017-12-21 2017-12-21 一种任务感知的Docker自适应调度***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711395307.6A CN108228347A (zh) 2017-12-21 2017-12-21 一种任务感知的Docker自适应调度***

Publications (1)

Publication Number Publication Date
CN108228347A true CN108228347A (zh) 2018-06-29

Family

ID=62647588

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711395307.6A Pending CN108228347A (zh) 2017-12-21 2017-12-21 一种任务感知的Docker自适应调度***

Country Status (1)

Country Link
CN (1) CN108228347A (zh)

Cited By (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108897627A (zh) * 2018-07-23 2018-11-27 南京叠嘉信息科技有限公司 针对典型容器的Docker动态调度算法
CN108984269A (zh) * 2018-07-16 2018-12-11 中山大学 基于随机回归森林模型的容器资源供给方法及***
CN109151052A (zh) * 2018-09-19 2019-01-04 广州城市信息研究所有限公司 地图服务注册方法、地图服务数据获取方法和装置
CN109150603A (zh) * 2018-08-17 2019-01-04 中软信息***工程有限公司 云服务端自动扩容方法及装置
CN109150964A (zh) * 2018-07-06 2019-01-04 航天星图科技(北京)有限公司 一种可迁移的数据管理方法及服务迁移方法
CN109618002A (zh) * 2019-01-11 2019-04-12 武汉斗鱼鱼乐网络科技有限公司 一种微服务网关优化方法、装置及存储介质
CN109639791A (zh) * 2018-12-06 2019-04-16 广东石油化工学院 一种容器环境下云工作流调度方法及***
CN109753356A (zh) * 2018-12-25 2019-05-14 北京友信科技有限公司 一种容器资源调度方法、装置及计算机可读存储介质
CN109886580A (zh) * 2019-02-26 2019-06-14 燕山大学 一种智能工厂管控模型及其管控方法
CN109945864A (zh) * 2019-02-25 2019-06-28 广州市香港科大***研究院 室内行车定位融合方法、装置、存储介质及终端设备
CN110022378A (zh) * 2019-04-22 2019-07-16 苏州排忧网络技术有限责任公司 基于状态的vpn服务器智能分配方法
CN110149396A (zh) * 2019-05-20 2019-08-20 华南理工大学 一种基于微服务架构的物联网平台构建方法
CN110175068A (zh) * 2019-04-16 2019-08-27 平安科技(深圳)有限公司 分布式***中主机数量弹性伸缩方法、装置和计算机设备
CN110288993A (zh) * 2019-06-26 2019-09-27 广州探迹科技有限公司 一种基于容器技术的个性化智能语音交互方法及装置
CN110764875A (zh) * 2019-10-25 2020-02-07 北京威晟艾德尔科技有限公司 一种基于竞争机制的Docker容器创建方法
CN110837408A (zh) * 2019-09-16 2020-02-25 中国科学院软件研究所 一种基于资源缓存的高性能无服务器计算方法及***
CN110888741A (zh) * 2019-11-27 2020-03-17 新华三大数据技术有限公司 应用容器的资源调度方法、装置、服务器及存储介质
CN111045815A (zh) * 2018-11-29 2020-04-21 华为技术有限公司 多个处理机的已部署资源的优化方法及其扩展设备
CN111274576A (zh) * 2020-01-17 2020-06-12 济南浪潮高新科技投资发展有限公司 智能合约运行环境的控制方法及***、设备、介质
CN111274111A (zh) * 2020-01-20 2020-06-12 西安交通大学 一种用于微服务老化的预测与抗衰方法
CN111352726A (zh) * 2018-12-24 2020-06-30 北京奇虎科技有限公司 一种基于容器化微服务的流数据处理方法及装置
CN111526179A (zh) * 2020-03-30 2020-08-11 中科九度(北京)空间信息技术有限责任公司 一种分布式节点资源弹性扩展装置及方法
CN111782394A (zh) * 2020-06-29 2020-10-16 广东外语外贸大学 一种基于响应时间感知的集群服务资源动态调整方法
CN112181664A (zh) * 2020-10-15 2021-01-05 网易(杭州)网络有限公司 负载均衡方法及装置、计算机可读存储介质及电子设备
CN112685153A (zh) * 2020-12-25 2021-04-20 广州奇盾信息技术有限公司 微服务调度方法、装置以及电子设备
CN112783638A (zh) * 2019-11-07 2021-05-11 北京沃东天骏信息技术有限公司 通过调用服务实现数据处理的方法及装置、介质和设备
CN112835714A (zh) * 2021-01-29 2021-05-25 中国人民解放军国防科技大学 云边环境中面向cpu异构集群的容器编排方法、***及介质
WO2021103790A1 (zh) * 2019-11-26 2021-06-03 北京京东尚科信息技术有限公司 容器的调度方法、装置和非易失性计算机可读存储介质
CN113395178A (zh) * 2021-06-11 2021-09-14 聚好看科技股份有限公司 一种容器云弹性伸缩的方法及装置
US11144362B1 (en) 2020-05-05 2021-10-12 International Business Machines Corporation Container scheduling in a container orchestration system
CN113722108A (zh) * 2021-11-02 2021-11-30 中国工程物理研究院计算机应用研究所 基于应用运行负载数据预测的容器资源弹性预伸缩方法
WO2022016808A1 (zh) * 2020-07-22 2022-01-27 中国科学院深圳先进技术研究院 一种kubernetes集群资源动态调整方法及电子设备
CN114995900A (zh) * 2022-05-23 2022-09-02 中国联合网络通信集团有限公司 多个微服务模块的部署方法、装置及计算机可读存储介质
CN115190121A (zh) * 2022-05-25 2022-10-14 上海交通大学 基于跨地域的微服务过量负载调度***、方法及设备
US11748153B2 (en) 2020-11-25 2023-09-05 International Business Machines Corporation Anticipated containerized infrastructure used in performing cloud migration

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105119913A (zh) * 2015-08-13 2015-12-02 东南大学 一种基于Docker的Web服务器架构及各模块之间的交互方法
CN105631196A (zh) * 2015-12-22 2016-06-01 中国科学院软件研究所 一种面向微服务架构的容器级弹性资源供给***及方法
CN107426034A (zh) * 2017-08-18 2017-12-01 国网山东省电力公司信息通信公司 一种基于云平台的大规模容器调度***及方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105119913A (zh) * 2015-08-13 2015-12-02 东南大学 一种基于Docker的Web服务器架构及各模块之间的交互方法
CN105631196A (zh) * 2015-12-22 2016-06-01 中国科学院软件研究所 一种面向微服务架构的容器级弹性资源供给***及方法
CN107426034A (zh) * 2017-08-18 2017-12-01 国网山东省电力公司信息通信公司 一种基于云平台的大规模容器调度***及方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
郝庭毅等: "面向微服务架构的容器级弹性资源供给方法", 《计算机研究与发展》 *

Cited By (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109150964A (zh) * 2018-07-06 2019-01-04 航天星图科技(北京)有限公司 一种可迁移的数据管理方法及服务迁移方法
CN109150964B (zh) * 2018-07-06 2022-01-11 中科星图股份有限公司 一种可迁移的数据管理方法及服务迁移方法
CN108984269A (zh) * 2018-07-16 2018-12-11 中山大学 基于随机回归森林模型的容器资源供给方法及***
CN108984269B (zh) * 2018-07-16 2022-06-07 中山大学 基于随机回归森林模型的容器资源供给方法及***
CN108897627A (zh) * 2018-07-23 2018-11-27 南京叠嘉信息科技有限公司 针对典型容器的Docker动态调度算法
CN108897627B (zh) * 2018-07-23 2021-11-09 南京叠嘉信息科技有限公司 针对典型容器的Docker动态调度方法
CN109150603A (zh) * 2018-08-17 2019-01-04 中软信息***工程有限公司 云服务端自动扩容方法及装置
CN109151052A (zh) * 2018-09-19 2019-01-04 广州城市信息研究所有限公司 地图服务注册方法、地图服务数据获取方法和装置
CN109151052B (zh) * 2018-09-19 2022-04-19 广州城市信息研究所有限公司 地图服务注册方法、地图服务数据获取方法和装置
CN111045815A (zh) * 2018-11-29 2020-04-21 华为技术有限公司 多个处理机的已部署资源的优化方法及其扩展设备
CN111045815B (zh) * 2018-11-29 2024-04-09 华为云计算技术有限公司 多个处理机的已部署资源的优化方法及其扩展设备
CN109639791A (zh) * 2018-12-06 2019-04-16 广东石油化工学院 一种容器环境下云工作流调度方法及***
CN111352726B (zh) * 2018-12-24 2024-04-05 三六零科技集团有限公司 一种基于容器化微服务的流数据处理方法及装置
CN111352726A (zh) * 2018-12-24 2020-06-30 北京奇虎科技有限公司 一种基于容器化微服务的流数据处理方法及装置
CN109753356A (zh) * 2018-12-25 2019-05-14 北京友信科技有限公司 一种容器资源调度方法、装置及计算机可读存储介质
CN109618002A (zh) * 2019-01-11 2019-04-12 武汉斗鱼鱼乐网络科技有限公司 一种微服务网关优化方法、装置及存储介质
CN109945864A (zh) * 2019-02-25 2019-06-28 广州市香港科大***研究院 室内行车定位融合方法、装置、存储介质及终端设备
CN109886580A (zh) * 2019-02-26 2019-06-14 燕山大学 一种智能工厂管控模型及其管控方法
CN110175068A (zh) * 2019-04-16 2019-08-27 平安科技(深圳)有限公司 分布式***中主机数量弹性伸缩方法、装置和计算机设备
CN110022378A (zh) * 2019-04-22 2019-07-16 苏州排忧网络技术有限责任公司 基于状态的vpn服务器智能分配方法
CN110022378B (zh) * 2019-04-22 2021-09-10 苏州排忧网络技术有限责任公司 基于状态的vpn服务器智能分配方法
CN110149396B (zh) * 2019-05-20 2022-03-29 华南理工大学 一种基于微服务架构的物联网平台构建方法
CN110149396A (zh) * 2019-05-20 2019-08-20 华南理工大学 一种基于微服务架构的物联网平台构建方法
CN110288993A (zh) * 2019-06-26 2019-09-27 广州探迹科技有限公司 一种基于容器技术的个性化智能语音交互方法及装置
CN110837408A (zh) * 2019-09-16 2020-02-25 中国科学院软件研究所 一种基于资源缓存的高性能无服务器计算方法及***
CN110764875A (zh) * 2019-10-25 2020-02-07 北京威晟艾德尔科技有限公司 一种基于竞争机制的Docker容器创建方法
CN112783638A (zh) * 2019-11-07 2021-05-11 北京沃东天骏信息技术有限公司 通过调用服务实现数据处理的方法及装置、介质和设备
WO2021103790A1 (zh) * 2019-11-26 2021-06-03 北京京东尚科信息技术有限公司 容器的调度方法、装置和非易失性计算机可读存储介质
CN110888741A (zh) * 2019-11-27 2020-03-17 新华三大数据技术有限公司 应用容器的资源调度方法、装置、服务器及存储介质
CN111274576A (zh) * 2020-01-17 2020-06-12 济南浪潮高新科技投资发展有限公司 智能合约运行环境的控制方法及***、设备、介质
CN111274111A (zh) * 2020-01-20 2020-06-12 西安交通大学 一种用于微服务老化的预测与抗衰方法
CN111526179A (zh) * 2020-03-30 2020-08-11 中科九度(北京)空间信息技术有限责任公司 一种分布式节点资源弹性扩展装置及方法
US11144362B1 (en) 2020-05-05 2021-10-12 International Business Machines Corporation Container scheduling in a container orchestration system
CN111782394B (zh) * 2020-06-29 2024-05-24 广东外语外贸大学 一种基于响应时间感知的集群服务资源动态调整方法
CN111782394A (zh) * 2020-06-29 2020-10-16 广东外语外贸大学 一种基于响应时间感知的集群服务资源动态调整方法
WO2022016808A1 (zh) * 2020-07-22 2022-01-27 中国科学院深圳先进技术研究院 一种kubernetes集群资源动态调整方法及电子设备
CN112181664B (zh) * 2020-10-15 2023-07-14 网易(杭州)网络有限公司 负载均衡方法及装置、计算机可读存储介质及电子设备
CN112181664A (zh) * 2020-10-15 2021-01-05 网易(杭州)网络有限公司 负载均衡方法及装置、计算机可读存储介质及电子设备
US11748153B2 (en) 2020-11-25 2023-09-05 International Business Machines Corporation Anticipated containerized infrastructure used in performing cloud migration
CN112685153A (zh) * 2020-12-25 2021-04-20 广州奇盾信息技术有限公司 微服务调度方法、装置以及电子设备
CN112835714A (zh) * 2021-01-29 2021-05-25 中国人民解放军国防科技大学 云边环境中面向cpu异构集群的容器编排方法、***及介质
CN112835714B (zh) * 2021-01-29 2023-07-28 中国人民解放军国防科技大学 云边环境中面向cpu异构集群的容器编排方法、***及介质
WO2022257347A1 (zh) * 2021-06-11 2022-12-15 聚好看科技股份有限公司 一种容器云弹性伸缩的方法及集群服务器
CN113395178A (zh) * 2021-06-11 2021-09-14 聚好看科技股份有限公司 一种容器云弹性伸缩的方法及装置
CN113722108A (zh) * 2021-11-02 2021-11-30 中国工程物理研究院计算机应用研究所 基于应用运行负载数据预测的容器资源弹性预伸缩方法
CN114995900A (zh) * 2022-05-23 2022-09-02 中国联合网络通信集团有限公司 多个微服务模块的部署方法、装置及计算机可读存储介质
CN114995900B (zh) * 2022-05-23 2024-05-14 中国联合网络通信集团有限公司 多个微服务模块的部署方法、装置及计算机可读存储介质
CN115190121A (zh) * 2022-05-25 2022-10-14 上海交通大学 基于跨地域的微服务过量负载调度***、方法及设备
CN115190121B (zh) * 2022-05-25 2023-11-17 上海交通大学 基于跨地域的微服务过量负载调度***、方法及设备

Similar Documents

Publication Publication Date Title
CN108228347A (zh) 一种任务感知的Docker自适应调度***
Dhaya et al. Energy-efficient resource allocation and migration in private cloud data centre
US11146504B2 (en) Market-based distributed resource allocation for edge-cloud systems
CN106776005B (zh) 一种面向容器化应用的资源管理***及方法
Téllez et al. A tabu search method for load balancing in fog computing
WO2021247448A1 (en) Federated learning optimizations
CN108833197B (zh) 一种基于云的主动探测方法和探测平台
WO2019050952A1 (en) SYSTEMS, METHODS, AND MEDIA FOR DISTRIBUTING DATABASE INTERROGATIONS THROUGH A PAYING VIRTUAL NETWORK
Nithya et al. SDCF: A software-defined cyber foraging framework for cloudlet environment
Mechalikh et al. PureEdgeSim: A simulation framework for performance evaluation of cloud, edge and mist computing environments
Brogi et al. Predictive analysis to support fog application deployment
Alfakih et al. Multi-objective accelerated particle swarm optimization with dynamic programing technique for resource allocation in mobile edge computing
Nylander et al. Cloud application predictability through integrated load-balancing and service time control
Tsagkaropoulos et al. Severity: a QoS-aware approach to cloud application elasticity
Shefu et al. Fruit fly optimization algorithm for network-aware web service composition in the cloud
CN117596247A (zh) 基于异构边缘计算***的资源监控和性能评估的方法
Foschini et al. Adaptive and business-driven service placement in federated Cloud computing environments
Baktir et al. Addressing the challenges in federating edge resources
Reyes et al. Adaptive multiscale optimization: Concept and case study on simulated UAV surveillance operations
CN114978913B (zh) 一种基于切链的服务功能链跨域部署方法及***
De Grande et al. Measuring communication delay for dynamic balancing strategies of distributed virtual simulations
Štefanič et al. Quality of Service‐aware matchmaking for adaptive microservice‐based applications
De Vleeschauwer et al. 5growth data-driven ai-based scaling
CN115913967A (zh) 一种云环境下基于资源需求预测的微服务弹性伸缩方法
CN112948114B (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20180629

RJ01 Rejection of invention patent application after publication