CN114138486B - 面向云边异构环境的容器化微服务编排方法、***及介质 - Google Patents

面向云边异构环境的容器化微服务编排方法、***及介质 Download PDF

Info

Publication number
CN114138486B
CN114138486B CN202111463151.7A CN202111463151A CN114138486B CN 114138486 B CN114138486 B CN 114138486B CN 202111463151 A CN202111463151 A CN 202111463151A CN 114138486 B CN114138486 B CN 114138486B
Authority
CN
China
Prior art keywords
micro
scheduled
service instance
node
service
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.)
Active
Application number
CN202111463151.7A
Other languages
English (en)
Other versions
CN114138486A (zh
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.)
National University of Defense Technology
Original Assignee
National University of Defense Technology
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 National University of Defense Technology filed Critical National University of Defense Technology
Priority to CN202111463151.7A priority Critical patent/CN114138486B/zh
Publication of CN114138486A publication Critical patent/CN114138486A/zh
Application granted granted Critical
Publication of CN114138486B publication Critical patent/CN114138486B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • 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/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
    • G06F9/5038Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration

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

本发明公开了一种面向云边异构环境的容器化微服务编排方法及***,本发明面向云边异构环境的容器化微服务编排方法包括:针对待调度队列中的待调度微服务实例按照优先级进行排序;选择优先级最高的待调度微服务实例作为被调度微服务实例;针对被调度微服务实例过滤集群中资源或能力不匹配的节点后进行排序,选择最优节点部署被调度微服务实例并分配资源。本发明针对现有容器编排***在云边异构环境下不支持微服务架构应用服务质量感知的问题,采用微服务交互感知和异构节点单线程能力感知的调度和资源分配方法,扩展了容器编排***的微服务编排能力,提高了云边异构环境中的硬件资源利用率,降低整体服务延迟,提升服务质量。

Description

面向云边异构环境的容器化微服务编排方法、***及介质
技术领域
本发明涉及计算机领域的微服务技术,具体涉及一种面向云边异构环境的容器化微服务编排方法、***及介质。
背景技术
微服务架构下,一个服务应用由大量的功能相对简单、独立、轻量、相互交互的微服务构成。一些微服务被设计为可弹性水平伸缩,一个微服务可能会包含多个相同的实例,实现更高的性能、弹性、安全性和鲁棒性等,非常适合于云计算范式。微服务架构降低了大型应用开发、维护的复杂性,加快了应用迭代速度,已经被大量企业应用广泛采用,国内如淘宝等大型分布式业务***中均采用微服务架构。
大型应用一般可按功能拆分为多个微服务,不同的微服务实例可部署于不同的容器中,具有天然分布式的特性。一个微服务一般会被多个不同的应用重复利用,因此微服务之间存在复杂的调用关系。将一个大的应用拆分为多个小的功能独立的组件微服务化,这样虽然可以加快应用开发效率,但由于组件数量可以非常多,就会带来额外的部署、管理负担。
一个微服务架构的应用为实现各组件高效交互,必须包含API网关、服务发现、负载均衡等支持,如果没有高效的承载体,其管理成本是巨大的。Kubernetes是一个开源的容器编排***,与平台无关,屏蔽容器的使用细节,旨在更方便地来部署容器应用。Kubernetes提供了部署、管理微服务的大量自动化工具,提高了微服务部署、管理效率,适合于承载微服务架构的应用。
服务质量指在用户请求发出后,服务器会在给定的时间内向用户返回处理结果,这个时间越短表示服务质量越高,最大处理延迟对服务质量的高低具有重要影响。在微服务架构下,一个应用的微服务组件之间必然存在API调用。在Kubernetes中一个微服务组件对应一个服务,一个服务将请求转发到一个或多个后端容器单元,服务对应于微服务架构的API网关、服务发现和负载均衡功能,一个后端容器单元也就是一个微服务实例。云平台中两个容器的通信效率与它们在集群中的相对位置有关,相比节点内的容器间通信,跨节点的容器间通信一般是低效的,且通信效率一般会受限于物理网络或虚拟机网络的带宽。边缘环境中节点在空间上广泛分布,网络的物理介质、架构和种类多样,如蜂窝移动网络、WLAN和有线网络等,这些不同种类网络的网络带宽差异巨大,就导致容器间通信的效率与它们在集群中的位置的相关性更高。微服务架构下,不同的微服务之间存在交互,不合理的微服务实例放置会带来额外的交互开销。Kubernetes目前并不支持交互感知的容器调度,已有的研究也没有充分考虑云边环境中的Kubernetes的请求转发策略和网络拓扑结构对微服务交互的影响,因此通过Kubernetes部署微服务存在服务间交互效率不高、不能保证服务质量的问题。
另一方面,在部署微服务时,由于单个节点的计算资源有限,一个重要的流程是给微服务实例分配计算资源并调度到集群中适合的节点上。一个大型的应用由多个不同的微服务组成,实现预期的功能,不同的微服务之间存在API调用,那么不同的微服务之间就存在负载的关联性,即一个微服务的性能与它调用的其它微服务的性能密切相关。当一个微服务包含多个相同的实例时,Kubernetes会将此微服务的API调用请求均匀的分配到所有实例,因此,一个微服务的多个实例之间也存在负载的关联。在Kubernetes中,每个微服务实例是一个容器单元,一个容器单元中包含一个或多个容器,是Kubernetes的最小调度单元,每个容器会被分配一定数量的CPU、主存等资源。由于集群中存在异构性,不同节点的单线程能力存在差异,每个微服务实例的资源配置是静态的。当微服务实例在集群中的调度方案不同时,会表现出不同的应用性能。当负载达到一定的水平时,运行于低性能节点上的实例会首先到达瓶颈,而同时高性能节点上的实例负载会较低,出现节点和微服务实例负载不均、资源利用率低的情况。由于低性能节点上的实例更容易达到性能瓶颈,服务也更容易产生额外的处理延迟。已有微服务编排方面的研究很少考虑节点单线程能力异构的影响。
发明内容
本发明要解决的技术问题:针对现有技术的上述问题,提供一种面向云边异构环境的容器化微服务编排方法、***及介质,本发明针对现有容器编排***在云边异构环境下不支持微服务架构应用服务质量感知的问题,采用微服务交互感知和异构节点单线程能力感知的调度和资源分配方法,扩展了容器编排***的微服务编排能力,提高了云边异构环境中的硬件资源利用率,降低整体服务延迟,提升服务质量。
为了解决上述技术问题,本发明采用的技术方案为:
一种面向云边异构环境的容器化微服务编排方法,包括:
1)针对待调度队列中的待调度微服务实例按照优先级进行排序;
2)选择优先级最高的待调度微服务实例作为被调度微服务实例;
3)针对被调度微服务实例,过滤集群中资源或能力不匹配的节点;
4)根据集群的网络拓扑结构、微服务交互关系图对集群中剩余的节点进行排序;
5)选择排序后的最优节点,部署被调度微服务实例并分配资源。
可选地,步骤1)中针对待调度队列中的待调度微服务实例按照优先级进行排序时,包括根据预设的微服务交互关系图判断待调度微服务实例与集群已有负载是否存在直接API调用,所述微服务交互关系图是一个有向无环图,在应用设计阶段确定,微服务交互关系图中节点表示微服务,边表示微服务之间API调用方向、边的权重指API调用产生的平均数据大小,所述集群已有负载指已完成调度的容器单元,针对任意两个待调度微服务实例1和待调度微服务实例2:如果待调度微服务实例1与集群已有负载存在API调用,待调度微服务实例2与集群已有负载不存在API调用,则待调度微服务实例1的优先级大于待调度微服务实例2的优先级;如果待调度微服务实例1和待调度微服务实例2都与集群已有负载不存在API调用,则判断待调度微服务实例1与待调度微服务实例2在微服务在交互关系图中相连的所有边的权重总和的大小,如果待调度微服务实例1对应的边总和大于待调度微服务实例2对应的边的总和,则待调度微服务实例1的优先级大于待调度微服务实例2的优先级;如果待调度微服务实例1和待调度微服务实例2都与集群已有负载存在API调用,则判断待调度微服务实例1与待调度微服务实例2在微服务交互关系图中与集群已有负载相连的边的权值总和,若待调度微服务实例1对应的权值总和大于待调度微服务实例2对应的权值总和,则待调度微服务实例1的优先级大于待调度微服务实例2的优先级。
可选地,步骤2)中选择优先级最高的待调度微服务实例作为被调度微服务实例,还包括判断被调度微服务实例是否满足调度条件,所述调度条件指是否存在优先级更高的微服务实例未输入待调度微服务实例队列,根据预设的微服务交互关系图与集群已有负载,判断集群已有负载中是否存在属于微服务交互关系图的微服务实例,若存在,且待调度微服务实例与集群中已有负载无API调用关系,说明存在优先级更高的微服务实例未输入待调度微服务实例队列,不满足调度条件,返回错误,调度流程结束,待调度微服务实例重新加入调度队列;否则进入步骤3)。
可选地,步骤3)中过滤集群中资源或能力不匹配的节点时,包括根据各容器的CPU资源配置数值过滤集群中单线程能力过低的节点的步骤,且单线程能力过低的节点的条件为:
上式中,Requests.cpu表示容器运行所需的最小资源数量,单位是CPU的数量,当Requests.cpu的数值小于1时,容器会按数值表示的比例分时使用CPU;kb表示参考节点的单线程能力,kj表示集群内任意第j个节点的单线程能力,表示容器运行所需的最小资源数量Requests.cpu的向上取整值。
可选地,所述集群内任意第j个节点的单线程能力kj以文本的形式加入节点信息中,且集群内任意第j个节点的单线程能力kj的估算步骤包括:首先选择具有多副本的微服务,这些副本执行相同的操作,分配相同大小的负载,并且分布于多个不同的节点;然后读取节点j上副本的CPU占用率Cj,所述CPU占用率表示使用CPU时间百分比,超过100%时表示使用多个CPU核心;在这些副本对应的节点中任意选择其中一个节点为参考节点,指定此参考节点的单线程能力k0为1或其它任意指定数值,其它节点的单线程能力kj的计算函数表达式为:
kj=C0/Cj·k0
上式中,C0为参考节点上副本的CPU占用率,Cj为节点j上副本的CPU占用率,k0为参考节点的单线程能力。
可选地,步骤3)中过滤集群中资源或能力不匹配的节点时,包括根据CPU、主存资源配置数值、节点剩余可分配资源和节点单线程能力过滤资源不足的节点的步骤:
3.1)遍历集群中所有节点,计算节点已分配的CPU资源和主存资源,针对每一个节点,读取运行于此节点上的所有容器单元,对于主存资源,直接求和,对于CPU资源,读取容器单元信息中的注释信息部分,若注释信息不为空,CPU资源直接累加,若注释信息为空,则读取容器单元信息中的标签kb和节点的单线程能力kj,CPU资源转换为容器运行所需的最小资源数量Requests.cpu乘以容器单元信息中的标签kb再除以节点的单线程能力kj,然后再累加,得到节点已分配主存、CPU资源;
3.2)读取待调度微服务实例的CPU资源配置Requests.cpu、主存资源配置Requests.mem、kb和目标节点的kj,分别累加每个容器的CPU、主存资源数值,然后将其中的CPU资源数值进行转换,转换过程为Requests.cpu=Requests.cpu·kb/kj
3.3)读取节点可分配CPU、主存资源的总量,若总量中的任何一种资源小于已分配资源数值加上待调度微服务实例的资源数值,则表明此节点资源不足、过滤此节点。
可选地,步骤4)包括:
4.1)根据预设的微服务交互关系图判断集群中是否存在已调度微服务实例与被调度微服务实例有API调用关系,若不存在,执行步骤4.2),计算被调度微服务实例在各节点时与集群中已有微服务实例进行API调用时产生的数据传输延迟L,已部署微服务实例集合表示为EPs,被调度微服务实例表示为CP,CP调用EPs中不同元素的数据传输延迟的最大值为LA,EPs中不同元素调用CP的数据传输延迟最大值为LB,数据传输延迟L估计值等于LA加上LB,根据数据传输延迟估计值对所有可用节点进行排序,延迟越低表示节点优先级越高;跳转执行步骤5);
4.2)根据节点剩余资源数量对节点进行排序:计算系数A和系数B,系数A等于被调度微服务实例请求的主存资源除以节点剩余主存资源,系数B等于被调度容器请求的CPU资源除以节点剩余CPU资源,所述节点剩余资源等于节点资源总量减去已分配资源数量,系数C等于系数A和系数B的较大值,根据系数C的大小对所有节点进行降序排序,系数C越小表示节点优先级越高。
可选地,还包括采用Etcd数据库保存有集群中所有已调度和待调度的容器单元的状态,是一个键-值key-value类型的缓存数据库,键key是容器单元的存储路径,值value是具体的存储对象,步骤5)中选择排序后的最优节点,部署被调度微服务实例并分配资源包括:5.1)根据被调度容器单元名计算对应的键key,通过键key从Etcd数据库中读取对应的Etcd容器单元对象后解码,更新容器单元对象中的CPU资源配置:每个容器的容器运行所需的最小资源数量Requests.cpu等于容器运行所需的最小资源数量Requests.cpu的原值乘以参考节点单线程能力kb再除以目标节点单线程能力kj,每个容器的限制CPU数量Limits.cpu数值等于限制CPU数量Limits.cpu的原值乘以参考节点单线程能力kb再除以目标节点的单线程能力kj;5.2)更新Etcd容器单元对象的节点名字段为目标节点的节点名,更新状态字段为已调度;5.3)向Etcd容器单元对象中添加注释,表示此容器单元由此调度器完成调度;5.4)编码Etcd容器单元对象,以相同的键key写入Etcd数据库,调度过程结束。
此外,本发明还提供一种面向云边异构环境的容器化微服务编排***,包括相互连接的微处理器和存储器,该微处理器被编程或配置以执行所述面向云边异构环境的容器化微服务编排方法的步骤。
此外,本发明还提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,且该计算机程序用于被计算机设备执行以实施所述面向云边异构环境的容器化微服务编排方法的步骤。
和现有技术相比,本发明具有下述优点:本发明针对已有容器编排***Kubernetes在云边异构环境中部署微服务应用时无法感知微服务交互和分配单线程能力异构CPU资源的问题,构建了微服务交互关系图、集群的网络拓扑图;在调度前,对待调度微服务实例队列进行排序,保证与集群中已有负载有API调用关系的微服务实例和具有高交互需求的微服务实例优先调度,保证具有API调用关系的微服务实例之间的交互具有更低的数据传输延迟;根据节点的单线程能力调度微服务实例,避免将微服务实例调度到单线程能力过低的节点上,根据节点的单线程能力动态分配CPU资源,提高了分配到单线程能力较低的节点上的微服务实例的性能,避免了因为微服务实例分配到不同节点上时表现出不同的性能的情况,提高了云边异构环境中的集群的资源利用率和微服务的性能,保证了服务质量。
附图说明
图1为本发明实施例中面向云边异构环境的***拓扑结构示意图。
图2为本发明实施例中面向云边异构环境的微服务编排方法流程示意图。
图3为本发明实施例中待调度微服务实例队列优先级大小比较步骤的流程图。
图4为本发明实施例中从待调度微服务实例队列选取待调度微服务实例步骤的流程图。
图5为本发明实施例中过滤集群中单线程能力过低节点步骤的流程图。
图6为本发明实施例中过滤集群资源不足节点步骤的流程图。
图7为本发明实施例中可用节点排序步骤的流程图。
图8为本发明实施例中根据预计数据传输延迟排序步骤的流程图。
图9为本发明实施例中根据节点剩余资源排序步骤的流程图。
图10为本发明实施例中微服务实例部署步骤的流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,下文将以现有容器编排***Kubernetes为例,对本发明面向云边异构环境的容器化微服务编排方法、***及介质进行进一步的详细说明。如图1所示,本实施例中的云边异构环境包括:
API服务:控制平面组件之一,所有组件通过API服务以HTTP REST(表述性状态传递,Representational State Transfer)API方式进行交互;
控制器管理器:控制平面组件之一,包含多种资源控制器,负责创建、删除各种资源,如容器单元副本控制器创建一定数量的相同容器单元;
其它调度器:控制平面组件之一,决定容器单元部署在哪一个节点之上,一个集群包含一个或多个不同的调度器,选择哪一个调度器来调度容器单元在对应的应用编排脚本中定义,此处指除了微服务调度器之外的所有调度器;
节点代理:运行于云工作节点,负责创建并管理容器单元实例;
边缘代理:节点代理的一种边缘实现,运行于边缘工作节点,负责与云控制平面通信,创建并管理容器单元实例,相比云节点代理提供了额外的边缘离线自治、边缘服务网格等边缘环境特有的功能;
Etcd数据:控制平面组件之一,一个键-值key-value类型的数据库,保存集群所有的状态;
节点状态监控组件:收集集群中各节点容器的CPU占用率信息,分客户端和服务端,客户端部署于每一个工作节点,服务端部署于云,客户端将收集的容器CPU占用率信息发送到服务端,服务端将信息汇总写入外部数据库;
外部数据库:存储集群中所有负载的运行状态监控数据,包括各容器某一时刻的CPU占用率、运行位置等;
节点能力分析组件:从外部数据库中读取运行于各节点的容器的CPU使用率数据,根据这些数据计算节点的单线程能力kj,然后将kj以节点标签的形式添加到集群的节点信息中;
微服务调度器:控制平面组件之一,决定微服务实例部署于哪一个节点之上,只负责微服务对应的容器单元调度,一个微服务实例指一个容器单元;
微服务部署组件:微服务部署的用户接口,用户通过微服务组件输入微服务交互关系图和集群网络拓扑图,微服务部署组件将其编码后写入Etcd数据库。
如图2所示,本实施例面向云边异构环境的容器化微服务编排方法包括:
1)针对待调度队列中的待调度微服务实例按照优先级进行排序;
2)选择优先级最高的待调度微服务实例作为被调度微服务实例;
3)针对被调度微服务实例,过滤集群中资源或能力不匹配的节点;
4)根据集群的网络拓扑结构、微服务交互关系图对集群中剩余的节点进行排序;
5)选择排序后的最优节点,部署被调度微服务实例并分配资源。
本实施例面向云边异构环境的容器化微服务编排方法包括针对待调度队列中的待调度微服务实例按照优先级进行排序;选择优先级最高的待调度微服务实例作为被调度微服务实例;针对被调度微服务实例过滤集群中资源或能力不匹配的节点后进行排序,选择最优节点部署被调度微服务实例并分配资源。本发明针对现有容器编排***在云边异构环境下不支持微服务架构应用服务质量感知的问题,采用微服务交互感知和异构节点单线程能力感知的调度和资源分配方法,扩展了容器编排***的微服务编排能力,提高了云边异构环境中的硬件资源利用率,降低整体服务延迟,提升服务质量。
本实施例中,步骤1)针对待调度队列中的待调度微服务实例按照优先级进行排序时,包括据微服务调度关系和集群已有微服务实例的分布状态排序,选择优先级最高的待调度微服务实例进入调度流程,其中,待调度微服务实例在容器云平台中指容器单元,容器单元包括一个或多个容器,一个微服务包含一个或多个微服务实例。
如图3所示,本实施例步骤1)中针对待调度队列中的待调度微服务实例按照优先级进行排序时,包括根据预设的微服务交互关系图判断待调度微服务实例与集群已有负载是否存在直接API调用,所述微服务交互关系图是一个有向无环图,微服务交互关系图中节点表示微服务,边表示微服务之间API调用方向、边的权重指API调用产生的平均数据大小,所述集群已有负载指已完成调度的容器单元,针对任意两个待调度微服务实例1和待调度微服务实例2:
如果待调度微服务实例1与集群已有负载存在API调用,待调度微服务实例2与集群已有负载不存在API调用,则待调度微服务实例1的优先级大于待调度微服务实例2的优先级;
如果待调度微服务实例1和待调度微服务实例2都与集群已有负载不存在API调用,则判断待调度微服务实例1与待调度微服务实例2在微服务在交互关系图中相连的所有边的权重总和的大小,如果待调度微服务实例1对应的边总和大于待调度微服务实例2对应的边的总和,则待调度微服务实例1的优先级大于待调度微服务实例2的优先级,所述微服务交互关系图中的边表示微服务之间的API调用方向和调用时需要传输的数据大小;
如果待调度微服务实例1和待调度微服务实例2都与集群已有负载存在API调用,则判断待调度微服务实例1与待调度微服务实例2在微服务交互关系图中与集群已有负载相连的边的权值总和,若待调度微服务实例1对应的权值总和大于待调度微服务实例2对应的权值总和,则待调度微服务实例1的优先级大于待调度微服务实例2的优先级。
经步骤1)对待调度微服务实例队列排序后,得到优先级最高的微服务实例。
本实施例中,步骤2)中选择优先级最高的待调度微服务实例作为被调度微服务实例,还包括判断被调度微服务实例是否满足调度条件,所述调度条件指是否存在优先级更高的微服务实例未输入待调度微服务实例队列,如图4所示,根据预设的微服务交互关系图与集群已有负载,判断集群已有负载中是否存在属于微服务交互关系图的微服务实例,若存在,且待调度微服务实例与集群中已有负载无API调用关系,说明存在优先级更高的微服务实例未输入待调度微服务实例队列,不满足调度条件,返回错误,调度流程结束,待调度微服务实例重新加入调度队列;否则进入步骤3)。
本实施例中,步骤3)中过滤集群中资源或能力不匹配的节点时,包括根据各容器的CPU资源配置数值过滤集群中单线程能力过低的节点的步骤,且单线程能力过低的节点的条件为:
上式中,Requests.cpu表示容器运行所需的最小资源数量,单位是CPU的数量,当Requests.cpu的数值小于1时,容器会按数值表示的比例分时使用CPU;kb表示参考节点的单线程能力,kj表示集群内任意第j个节点的单线程能力,表示容器运行所需的最小资源数量Requests.cpu的向上取整值。如图5所示,该步骤需要遍历遍历被调度微服务实例中所有的容器的CPU资源配置的最小值Requests.cpu并进行上述条件是否满足的判断,满足上述条件,则表示节点单线程能力过低,不能满足容器的运行需求,过滤此节点。其中,容器运行所需的最小资源数量Requests.cpu额单位是CPU的数量,当数值小于1时,容器会按数值表示的比例分时使用CPU。节点的单线程能力k是一个相对值,表示一个节点的单线程能力是单线程能力为1的节点的k倍,kb表示参考节点的单线程能力,微服务实例的CPU资源分配依据是参考节点,参考节点可以是集群中任何一个节点,也可以是集群外测试节点,若在配置中没有指定,默认值为1,kj表示集群内第j个节点的单线程能力。
本实施例中,集群内任意第j个节点的单线程能力kj以文本的形式加入节点信息中,且集群内任意第j个节点的单线程能力kj的估算步骤包括:首先选择具有多副本的微服务,这些副本执行相同的操作,分配相同大小的负载,并且分布于多个不同的节点;然后读取节点j上副本的CPU占用率Cj,所述CPU占用率表示使用CPU时间百分比,超过100%时表示使用多个CPU核心;在这些副本对应的节点中任意选择其中一个节点为参考节点,指定此参考节点的单线程能力k0为1或其它任意指定数值,其它节点的单线程能力kj的计算函数表达式为:
kj=C0/Cj·k0
上式中,C0为参考节点上副本的CPU占用率,Cj为节点j上副本的CPU占用率,k0为参考节点的单线程能力。
如图6所示,本实施例步骤3)中过滤集群中资源或能力不匹配的节点时,包括根据CPU、主存资源配置数值、节点剩余可分配资源和节点单线程能力过滤资源不足的节点的步骤:
3.1)遍历集群中所有节点,计算节点已分配的CPU资源和主存资源,针对每一个节点,读取运行于此节点上的所有容器单元,对于主存资源,直接求和,对于CPU资源,读取容器单元信息中的注释信息部分,若注释信息不为空,CPU资源直接累加,若注释信息为空,则读取容器单元信息中的标签kb和节点的单线程能力kj,CPU资源转换为容器运行所需的最小资源数量Requests.cpu乘以容器单元信息中的标签kb再除以节点的单线程能力kj,然后再累加,得到节点已分配主存、CPU资源;
3.2)读取待调度微服务实例的CPU资源配置Requests.cpu、主存资源配置Requests.mem、kb和目标节点的kj,分别累加每个容器的CPU、主存资源数值,然后将其中的CPU资源数值进行转换,转换过程为Requests.cpu=Requests.cpu·kb/kj
3.3)读取节点可分配CPU、主存资源的总量,若总量中的任何一种资源小于已分配资源数值加上待调度微服务实例的资源数值,则表明此节点资源不足、过滤此节点。
本实施例中,步骤3.1)中运行于节点上的所有容器单元信息缓存于调度器,调度过程中最优节点确定后,节点与容器单元绑定的过程总是成功的,为提高性能,在节点与容器单元绑定的过程之前,将由调度器成功调度的容器单元直接加入调度器的节点信息缓存中,用于涉及集群状态相关的调度步骤,包括待步骤1)中待调度微服务实例队列排序、步骤3)节点剩余可分配资源计算、步骤4)中获取集群已有负载分布信息,节点与容器单元绑定的过程则异步进行。
步骤4)用于对所有可用节点按照预计数据传输延迟和资源剩余量进行排序。如图7所示,本实施例中步骤4)包括:
4.1)根据预设的微服务交互关系图判断集群中是否存在已调度微服务实例与被调度微服务实例有API调用关系,若不存在,执行步骤4.2),如图8所示,计算被调度微服务实例在各节点时与集群中已有微服务实例进行API调用时产生的数据传输延迟L,已部署微服务实例集合表示为EPs,被调度微服务实例表示为CP,CP调用EPs中不同元素的数据传输延迟的最大值为LA,EPs中不同元素调用CP的数据传输延迟最大值为LB,数据传输延迟L估计值等于LA加上LB,根据数据传输延迟估计值对所有可用节点进行排序,延迟越低表示节点优先级越高;跳转执行步骤5);
4.2)如图9所示,根据节点剩余资源数量对节点进行排序:计算系数A和系数B,系数A等于被调度微服务实例请求的主存资源除以节点剩余主存资源,系数B等于被调度容器请求的CPU资源除以节点剩余CPU资源,所述节点剩余资源等于节点资源总量减去已分配资源数量,系数C等于系数A和系数B的较大值,根据系数C的大小对所有节点进行降序排序,系数C越小表示节点优先级越高。
本实施例中还包括采用Etcd数据库保存有集群中所有已调度和待调度的容器单元的状态,是一个键-值key-value类型的缓存数据库,键key是容器单元的存储路径,值value是具体的存储对象。在容器单元未完成调度前,Etcd中对应的容器单元对象节点名字段为空,容器单元与节点的绑定关键步骤是使用最优节点的节点名更新此字段。运行于工作节点的节点代理守护进程通过监测Etcd中容器单元对象的节点名字段的变化来判断是否创建容器单元。在完成节点排序步骤后进行节点绑定步骤时才获得被调度容器单元的目标节点,由于需要根据目标节点的单线程能力为容器单元分配CPU资源,所以绑定过程会更新Etcd数据库中容器单元的CPU资源配置数值,但绑定过程并不能更新调度器缓存中的容器单元信息,加入调度器缓存中的已调度容器单元信息的CPU资源配置数值仍是未更新的值,为与从API服务得到的已调度容器单元进行区分,在绑定过程向待调度容器单元对象中加入注释信息,注释信息不会影响容器单元的运行,其它不是由此调度器部署的容器单元则从API服务同步到调度器缓存,这些已调度容器单元信息与Etcd数据库中一致。
步骤5)用于通过调度流程得到最优节点后,在最优节点上部署微服务实例。如图10所示,本实施例步骤5)中选择排序后的最优节点,部署被调度微服务实例并分配资源包括:
5.1)根据被调度容器单元名计算对应的键key,通过键key从Etcd数据库中读取对应的Etcd容器单元对象后解码,更新容器单元对象中的CPU资源配置:每个容器的容器运行所需的最小资源数量Requests.cpu等于容器运行所需的最小资源数量Requests.cpu的原值乘以参考节点单线程能力kb再除以目标节点单线程能力kj,每个容器的限制CPU数量Limits.cpu数值等于限制CPU数量Limits.cpu的原值乘以参考节点单线程能力kb再除以目标节点的单线程能力kj
5.2)更新Etcd容器单元对象的节点名字段为目标节点的节点名,更新状态字段为已调度;
5.3)向Etcd容器单元对象中添加注释,表示此容器单元由此调度器完成调度;
5.4)编码Etcd容器单元对象,以相同的键key写入Etcd数据库,调度过程结束。
综上所述,本实施例方法包括构建微服务交互关系图、集群网络拓扑图和节点单线程能力信息库;根据预设的微服务交互关系图对待调度微服务实例队列进行优先级排序;根据被调度微服务实例的CPU资源配置过滤集群中单线程能力过低节点;根据被调度微服务实例的主存、CPU资源配置数值和节点单线程能力过滤集群中资源不足节点;根据节点网络拓扑图、微服务交互关系图和集群状态估计微服务实例交互延迟,根据交互延迟、节点剩余资源对所有可用节点排序,得到最优节点;根据最优节点的单线程能力为微服务实例部署微服务实例,分配计算资源。本发明针对现有容器编排***Kubernetes在云边异构环境下不支持微服务架构应用服务质量感知的问题,采用微服务交互感知和异构节点单线程能力感知的调度和资源分配方法,扩展了Kubernetes的微服务编排能力,提高了云边异构环境中的硬件资源利用率,降低整体服务延迟,提升服务质量。
此外,本实施例还提供一种面向云边异构环境的容器化微服务编排***,包括相互连接的微处理器和存储器,该微处理器被编程或配置以执行前述面向云边异构环境的容器化微服务编排方法的步骤。
此外,本实施例还提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,且该计算机程序用于被计算机设备执行以实施前述面向云边异构环境的容器化微服务编排方法的步骤。
本领域内的技术人员应明白,本申请的实施例可提供为方法、***、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可读存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。本申请是参照根据本申请实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (7)

1.一种面向云边异构环境的容器化微服务编排方法,其特征在于,包括:
1)针对待调度队列中的待调度微服务实例按照优先级进行排序;
2)选择优先级最高的待调度微服务实例作为被调度微服务实例;
3)针对被调度微服务实例,过滤集群中资源或能力不匹配的节点;所述过滤集群中资源或能力不匹配的节点时,包括根据各容器的CPU资源配置数值过滤集群中单线程能力过低的节点的步骤,且单线程能力过低的节点的条件为:
上式中,Requests.cpu表示容器运行所需的最小资源数量,单位是CPU的数量,当Requests.cpu的数值小于1时,容器会按数值表示的比例分时使用CPU;k b表示参考节点的单线程能力,k j表示集群内任意第j个节点的单线程能力,表示容器运行所需的最小资源数量Requests.cpu的向上取整值;
4)根据集群的网络拓扑结构、微服务交互关系图对集群中剩余的节点进行排序,包括:4.1)根据预设的微服务交互关系图判断集群中是否存在已调度微服务实例与被调度微服务实例有API调用关系,若不存在,执行步骤4.2),计算被调度微服务实例在各节点时与集群中已有微服务实例进行API调用时产生的数据传输延迟L,已部署微服务实例集合表示为EPs,被调度微服务实例表示为CP,CP调用EPs中不同元素的数据传输延迟的最大值为LA,EPs中不同元素调用CP的数据传输延迟最大值为LB,数据传输延迟L估计值等于LA加上LB,根据数据传输延迟估计值对所有可用节点进行排序,延迟越低表示节点优先级越高;跳转执行步骤5);4.2)根据节点剩余资源数量对节点进行排序:计算系数A和系数B,系数A等于被调度微服务实例请求的主存资源除以节点剩余主存资源,系数B等于被调度容器请求的CPU资源除以节点剩余CPU资源,所述节点剩余资源等于节点资源总量减去已分配资源数量,系数C等于系数A和系数B的较大值,根据系数C的大小对所有节点进行降序排序,系数C越小表示节点优先级越高;
5)选择排序后的最优节点,部署被调度微服务实例并分配资源;
步骤1)中针对待调度队列中的待调度微服务实例按照优先级进行排序时,包括根据预设的微服务交互关系图判断待调度微服务实例与集群已有负载是否存在直接API调用,所述微服务交互关系图是一个有向无环图,微服务交互关系图中节点表示微服务,边表示微服务之间API调用方向、边的权重指API调用产生的平均数据大小,所述集群已有负载指已完成调度的容器单元,针对任意两个待调度微服务实例1和待调度微服务实例2:如果待调度微服务实例1与集群已有负载存在API调用,待调度微服务实例2与集群已有负载不存在API调用,则待调度微服务实例1的优先级大于待调度微服务实例2的优先级;如果待调度微服务实例1和待调度微服务实例2都与集群已有负载不存在API调用,则判断待调度微服务实例1与待调度微服务实例2在微服务在交互关系图中相连的所有边的权重总和的大小,如果待调度微服务实例1对应的边总和大于待调度微服务实例2对应的边的总和,则待调度微服务实例1的优先级大于待调度微服务实例2的优先级;如果待调度微服务实例1和待调度微服务实例2都与集群已有负载存在API调用,则判断待调度微服务实例1与待调度微服务实例2在微服务交互关系图中与集群已有负载相连的边的权值总和,若待调度微服务实例1对应的权值总和大于待调度微服务实例2对应的权值总和,则待调度微服务实例1的优先级大于待调度微服务实例2的优先级。
2.根据权利要求1所述的面向云边异构环境的容器化微服务编排方法,其特征在于,步骤2)中选择优先级最高的待调度微服务实例作为被调度微服务实例,还包括判断被调度微服务实例是否满足调度条件,所述调度条件指是否存在优先级更高的微服务实例未输入待调度微服务实例队列,根据预设的微服务交互关系图与集群已有负载,判断集群已有负载中是否存在属于微服务交互关系图的微服务实例,若存在,且待调度微服务实例与集群中已有负载无API调用关系,说明存在优先级更高的微服务实例未输入待调度微服务实例队列,不满足调度条件,返回错误,调度流程结束,待调度微服务实例重新加入调度队列;否则进入步骤3)。
3.根据权利要求1所述的面向云边异构环境的容器化微服务编排方法,其特征在于,所述集群内任意第j个节点的单线程能力k j以文本的形式加入节点信息中,且集群内任意第j个节点的单线程能力k j的估算步骤包括:首先选择具有多副本的微服务,这些副本执行相同的操作,分配相同大小的负载,并且分布于多个不同的节点;然后读取节点j上副本的CPU占用率Cj,所述CPU占用率表示使用CPU时间百分比,超过100%时表示使用多个CPU核心;在这些副本对应的节点中任意选择其中一个节点为参考节点,指定此参考节点的单线程能力k 0为1或其它任意指定数值,其它节点的单线程能力k j的计算函数表达式为:
k j=C0/Cj·k 0
上式中,C0为参考节点上副本的CPU占用率,Cj为节点j上副本的CPU占用率,k 0为参考节点的单线程能力。
4.根据权利要求1所述的面向云边异构环境的容器化微服务编排方法,其特征在于,步骤3)中过滤集群中资源或能力不匹配的节点时,包括根据CPU、主存资源配置数值、节点剩余可分配资源和节点单线程能力过滤资源不足的节点的步骤:
3.1)遍历集群中所有节点,计算节点已分配的CPU资源和主存资源,针对每一个节点,读取运行于此节点上的所有容器单元,对于主存资源,直接求和,对于CPU资源,读取容器单元信息中的注释信息部分,若注释信息不为空,CPU资源直接累加,若注释信息为空,则读取容器单元信息中的标签k b和节点的单线程能力k j,CPU资源转换为容器运行所需的最小资源数量Requests.cpu乘以容器单元信息中的标签k b再除以节点的单线程能力k j,然后再累加,得到节点已分配主存、CPU资源;
3.2)读取待调度微服务实例的CPU资源配置Requests.cpu、主存资源配置Requests.mem、kb和目标节点的kj,分别累加每个容器的CPU、主存资源数值,然后将其中的CPU资源数值进行转换,转换过程为Requests.cpu=Requests.cpu·kb/kj
3.3)读取节点可分配CPU、主存资源的总量,若总量中的任何一种资源小于已分配资源数值加上待调度微服务实例的资源数值,则表明此节点资源不足、过滤此节点。
5.根据权利要求1所述的面向云边异构环境的容器化微服务编排方法,其特征在于,还包括采用Etcd数据库保存有集群中所有已调度和待调度的容器单元的状态,是一个键-值key-value类型的缓存数据库,键key是容器单元的存储路径,值value是具体的存储对象,步骤5)中选择排序后的最优节点,部署被调度微服务实例并分配资源包括:
5.1)根据被调度容器单元名计算对应的键key,通过键key从Etcd数据库中读取对应的Etcd容器单元对象后解码,更新容器单元对象中的CPU资源配置:每个容器的容器运行所需的最小资源数量Requests.cpu等于容器运行所需的最小资源数量Requests.cpu的原值乘以参考节点单线程能力k b再除以目标节点单线程能力k j,每个容器的限制CPU数量Limits.cpu数值等于限制CPU数量Limits.cpu的原值乘以参考节点单线程能力kb再除以目标节点的单线程能力k j
5.2)更新Etcd容器单元对象的节点名字段为目标节点的节点名,更新状态字段为已调度;
5.3)向Etcd容器单元对象中添加注释,表示此容器单元由此调度器完成调度;
5.4)编码Etcd容器单元对象,以相同的键key写入Etcd数据库,调度过程结束。
6.一种面向云边异构环境的容器化微服务编排***,包括相互连接的微处理器和存储器,其特征在于,该微处理器被编程或配置以执行权利要求1~5中任意一项所述面向云边异构环境的容器化微服务编排方法的步骤。
7.一种计算机可读存储介质,其特征在于,该计算机可读存储介质中存储有计算机程序,且该计算机程序用于被计算机设备执行以实施权利要求1~5中任意一项所述面向云边异构环境的容器化微服务编排方法的步骤。
CN202111463151.7A 2021-12-02 2021-12-02 面向云边异构环境的容器化微服务编排方法、***及介质 Active CN114138486B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111463151.7A CN114138486B (zh) 2021-12-02 2021-12-02 面向云边异构环境的容器化微服务编排方法、***及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111463151.7A CN114138486B (zh) 2021-12-02 2021-12-02 面向云边异构环境的容器化微服务编排方法、***及介质

Publications (2)

Publication Number Publication Date
CN114138486A CN114138486A (zh) 2022-03-04
CN114138486B true CN114138486B (zh) 2024-03-26

Family

ID=80387308

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111463151.7A Active CN114138486B (zh) 2021-12-02 2021-12-02 面向云边异构环境的容器化微服务编排方法、***及介质

Country Status (1)

Country Link
CN (1) CN114138486B (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114915663B (zh) * 2022-03-21 2024-06-18 北京沃东天骏信息技术有限公司 请求响应方法、装置、***、电子设备和介质
CN114866544B (zh) * 2022-04-02 2023-10-03 中国人民解放军国防科技大学 云边环境中面向cpu异构集群的容器化微服务负载均衡方法
CN114860401B (zh) * 2022-05-07 2023-10-03 中国电信股份有限公司 异构云桌面调度***、方法、服务***、装置及介质
CN115277863B (zh) * 2022-06-27 2024-05-14 中盈优创资讯科技有限公司 一种api路由的调度方法
CN115309501A (zh) * 2022-07-26 2022-11-08 天翼云科技有限公司 一种集群资源规划方法、设备、装置及介质
CN115426365A (zh) * 2022-08-17 2022-12-02 西安理工大学 一种基于泛容计算架构的集群调度方法
CN115442242A (zh) * 2022-08-29 2022-12-06 苏州空天信息研究院 一种基于重要性排序的工作流编排***及其方法
CN115114052B (zh) * 2022-08-30 2022-11-18 北京易诚互动网络技术股份有限公司 一种智能提供数据库微服务的方法和装置
CN115379000B (zh) * 2022-10-26 2023-03-24 小米汽车科技有限公司 服务平台的扩容方法、装置、电子设备以及存储介质
CN115801694A (zh) * 2022-11-16 2023-03-14 浪潮云信息技术股份公司 一种基于网络感知的Kubernetes调度器设计方法及***
CN116170518B (zh) * 2023-04-26 2023-07-18 北京太极信息***技术有限公司 一种国产芯片容器云跨架构管理的方法及设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108829509A (zh) * 2018-05-03 2018-11-16 山东汇贸电子口岸有限公司 基于国产cpu和操作***的分布式容器集群框架资源管理方法
CN112835714A (zh) * 2021-01-29 2021-05-25 中国人民解放军国防科技大学 云边环境中面向cpu异构集群的容器编排方法、***及介质

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108829509A (zh) * 2018-05-03 2018-11-16 山东汇贸电子口岸有限公司 基于国产cpu和操作***的分布式容器集群框架资源管理方法
CN112835714A (zh) * 2021-01-29 2021-05-25 中国人民解放军国防科技大学 云边环境中面向cpu异构集群的容器编排方法、***及介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Optimized container scheduling for data-intensive serverless edge computing;Thomas Rausch等;Future Generation Computer Systems;第114卷;259-271 *

Also Published As

Publication number Publication date
CN114138486A (zh) 2022-03-04

Similar Documents

Publication Publication Date Title
CN114138486B (zh) 面向云边异构环境的容器化微服务编排方法、***及介质
CN110297699B (zh) 调度方法、调度器、存储介质及***
CN110134495B (zh) 一种容器跨主机在线迁移方法、存储介质及终端设备
Jung et al. Synchronous parallel processing of big-data analytics services to optimize performance in federated clouds
CN104636204B (zh) 一种任务调度方法与装置
CN108762896A (zh) 一种基于Hadoop集群任务调度方法及计算机设备
Koole et al. Resource allocation in grid computing
KR101471749B1 (ko) 클라우드 서비스의 가상자원 할당을 위한 퍼지 로직 기반의 자원평가 장치 및 방법
CN110221920B (zh) 部署方法、装置、存储介质及***
CN109564528B (zh) 分布式计算中计算资源分配的***和方法
Xie et al. Pandas: robust locality-aware scheduling with stochastic delay optimality
CN109783225B (zh) 一种多租户大数据平台的租户优先级管理方法及***
CN115408100A (zh) 容器集群调度的方法、装置、设备及存储介质
Li et al. Enabling elastic stream processing in shared clusters
CN116340005B (zh) 容器集群的调度方法、装置、设备及存储介质
Komarasamy et al. A novel approach for Dynamic Load Balancing with effective Bin Packing and VM Reconfiguration in cloud
CN114168302A (zh) 任务调度方法、装置、设备及存储介质
Hu et al. Job scheduling without prior information in big data processing systems
US20210390405A1 (en) Microservice-based training systems in heterogeneous graphic processor unit (gpu) cluster and operating method thereof
Shu-Jun et al. Optimization and research of hadoop platform based on fifo scheduler
US20210397485A1 (en) Distributed storage system and rebalancing processing method
Pawar et al. A review on virtual machine scheduling in cloud computing
CN111506407B (zh) Pull模式与Push模式相结合的资源管理与作业调度方法、***
Fernández-Cerero et al. Quality of cloud services determined by the dynamic management of scheduling models for complex heterogeneous workloads
Miranda et al. Dynamic communication-aware scheduling with uncertainty of workflow applications in clouds

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
GR01 Patent grant
GR01 Patent grant