CN112783649A - 一种面向云计算的交互感知的容器化微服务资源调度方法 - Google Patents

一种面向云计算的交互感知的容器化微服务资源调度方法 Download PDF

Info

Publication number
CN112783649A
CN112783649A CN202110066625.8A CN202110066625A CN112783649A CN 112783649 A CN112783649 A CN 112783649A CN 202110066625 A CN202110066625 A CN 202110066625A CN 112783649 A CN112783649 A CN 112783649A
Authority
CN
China
Prior art keywords
micro
service
node
services
interaction
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.)
Granted
Application number
CN202110066625.8A
Other languages
English (en)
Other versions
CN112783649B (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.)
Suzhou Bona Xundong Software Co ltd
Original Assignee
Suzhou Bona Xundong Software Co ltd
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 Suzhou Bona Xundong Software Co ltd filed Critical Suzhou Bona Xundong Software Co ltd
Priority to CN202110066625.8A priority Critical patent/CN112783649B/zh
Publication of CN112783649A publication Critical patent/CN112783649A/zh
Application granted granted Critical
Publication of CN112783649B publication Critical patent/CN112783649B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/5083Techniques for rebalancing the load in a distributed system
    • 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/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
    • 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/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • 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/505Allocation 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 load
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)

Abstract

发明涉及一种面向云计算的交互感知的容器化微服务资源调度方法。本发明根据负载测试脚本生成负载以监测微服务间的调用行为,表示为微服务交互图;使用顶点权重表示微服务的资源需求,边权重表示微服务间的交互次数,表示为微服务交互因子;使用0/1线性约束的二次规划建模微服务到可用节点的映射,以在资源容量限制下最小化微服务间的通信开销;将满足资源需求的微服务部署到集群中的可用节点,并部署依赖该微服务的微服务实例到该节点。通过将相互作用的微服务优先部署在相同节点上,最大限度减少部署应用程序的物理节点之间的通信开销,以达到最小化请求处理响应时间的目标。

Description

一种面向云计算的交互感知的容器化微服务资源调度方法
技术领域
本发明涉及一种面向云计算的交互感知的容器化微服务资源调度方法,属于软件技术领域。
背景技术
云计算已经成为商业、医疗和教育等领域的技术解决方案,提供了可以通过网络访问计算、存储等资源池的方式。托管在云计算环境中的应用程序已经成为人类日常生活不可或缺的部分。云计算范式以云服务的形式扩展功能,这些云服务可以组合成云应用程序。云服务按照面向服务架构的原则构建,将应用程序设计为几个相互作用的独立微服务单元的组合。云模式依赖虚拟化技术托管各种应用程序和服务,提供虚拟机托管云中的应用程序。由于基于虚拟机技术的性能开销,云提供商采用了轻量级虚拟化技术,将其所提供的服务托管在容器中,容器为在云中托管和运行微服务提供了可用的选择。资源管理是容器化云计算系统的关键问题,通过容器编排引擎控制和协调跨不同节点容器的操作处理任务。
云数据中心中将微服务容器分配给不同节点,分配任务操作决定了微服务软件应用的执行效率,低效分配策略可能会导致响应时间增加和吞吐量降低,从而影响用户体验。考虑资源需求和其他关键因素的资源管理技术对于确保微服务应用程序高效运行至关重要。确定分配给即将到来的微服务应用程序的正确资源量是复杂的任务,每个微服务都托管在独立容器中,该容器需要映射到合适的物理节点。文献(X.Wan,X.Guan,T.Wang,G.Bai,B.-Y.Choi,Application deployment using microservice and docker containers:framework and optimization,J.Netw.Comput.Appl.,119(2018),97–109.)分析Docker的特点,根据微服务应用的资源需求以及云数据中心的可用资源描述应用部署问题,提出了通信效率框架和次优算法来确定容器的放置和任务分配策略。文献(T.Zheng,X.Zheng,Y.Zhang,Y.Deng,E.Dong,R.Zhang,X.Liu,Smartvm:a SLA-aware microservicedeployment framework,World Wide Web,22(1)(2019),275–293.)提出了面向微服务软件架构,支持业务服务级别协议的部署框架,以简化构建和部署动态可伸缩微服务过程,从而以较低开销应对流量峰值。文献(Y.Tao,X.Wang,X.Xu,Y.Chen,Dynamic resourceallocation algorithm for container-based service computing,in:2017IEEE 13thInternational Symposium on Autonomous Decentralized System(ISADS),IEEE,2017,pp.61–67.)提出了基于模糊推理系统的调度算法,通过模糊推理系统评估节点的状态来进行容器资源的全局分配。上述研究工作没有考虑微服务之间的交互模式,而交互操作和交互实体的频率会严重影响通信开销,是决定特定于微服务的响应时间值的重要因素。
发明内容
本发明的目的:在云计算环境下,将容器化微服务资源分配问题建模为规划问题,通过将相互作用的微服务优先部署在相同节点上,最大限度减少部署应用程序的物理节点之间的通信开销,以达到最小化请求处理响应时间的目标。
本发明的原理:微服务资源分配问题可以形式化为二元规划问题,限定对计算和内存资源的约束条件。将系统建模为无向加权图以表示微服务的交互行为,以加权交互图的形式描述微服务之间的交互模式,包括交互频率和交互组件的特征,将相互作用的微服务优先部署在相同节点上。
本发明技术解决方案为一种面向云计算的交互感知的容器化微服务资源调度方法,其特点在于实现步骤如下:
第一步,生成微服务交互图:获取开发人员编写的应用的负载测试脚本并生成负载,监测微服务间的调用行为并表示为微服务交互图。开发人员为应用提供负载测试脚本,对基于微服务软件架构的应用程序进行负载测试,监测各种微服务之间的交互调用行为,将其表示为微服务交互图。微服务应用软件由众多微服务构成,相互交互以处理从用户接收的请求,微服务之间的交互可以用无向图的形式表示。交互图G是由<V,T,E,D>表示的无向完全加权图。其中,V表示微服务组成的顶点集合;T表示由V中与定点相关联的权重集合,权重表示为<vcpu_req,vmem_req>,即与顶点相关联的计算和内存资源需求;E表示微服务交互所形成的边集合;D表示边权重dij集合,即微服务顶点i和微服务顶点j之间交互的数量,即两个方向上交互次数的总和。
第二步,计算微服务交互因子:在所述微服务交互图中,使用顶点权重表示微服务的资源需求,边权重表示微服务间的交互次数,所述交互次数为微服务交互因子。计算微服务之间的交互次数,由交互图中边的权重来表示,计算每对微服务的相互作用的系数。频繁交互的微服务尽可能放置在相同或相邻物理节点,以确保不同物理节点之间的通信最小化,从而减少请求处理所带来的延迟。将两个节点vi和vj之间的相互作用量化定义为交互因子cij,其中,微服务vi部署在主机hz和微服务vj部署在节点hw。如果hz和hw是不同的节点,则cij=0;否则,cij=dij/2,即相互作用成本在调用双向中平均分配。因此,交互因子值取决于交互的数量,以及托管这些微服务的物理节点位置。
第三步,建模微服务放置策略:得到所述交互因子后,使用0/1线性约束的二次规划建模微服务到可用节点的映射,以在资源容量限制下最小化微服务间的通信开销。云数据中心具有n个物理主机,表示为H={h1,h2,…,hi,…,hn},其中,hi表示单个主机。每个主机特征表示为元组<cpu,mem>,表示物理主机上的处理核心数量和内存单元数量。应用程序由不同的微服务组成,微服务在物理机器中托管的容器上运行。属于同一个应用程序的微服务可以相互作用,处理用户提交的服务请求,因此,属于不同应用程序的微服务相互作用形成了微服务生态系统。数据中心中的每个主机将资源分配给进程使用,分配过程中需要考虑剩余资源或剩余资源能力。F表示具有足够剩余资源容量的可用节点集。每个节点上的剩余CPU和内存容量分别表示为hi cpu_res和hi mem_res,而CPU和内存利用率分别表示为hi cpu_util和hi mem_util,那么,hi u_res=hi u(1-hi u_util),u∈{cpu,mem}。每个微服务都分配给满足微服务资源要求的可用主机,微服务分配策略决定了部署微服务的数据中心主机,以及主机上放置的微服务。将微服务分配给数据中心主机的问题,可以建模为(0/1)线性约束的二次规划问题,用于确定微服务请求到可行节点的映射。目标是在资源容量限制下,最小化交互的总成本,问题的决策变量表示模块所分配到的节点。如果vi分配在节点hz上,则
Figure BDA0002904462350000031
为1,否则为0。
Minimize
Figure BDA0002904462350000032
其中,
Figure BDA0002904462350000033
Figure BDA0002904462350000034
优化问题旨在减少节点间通信,从而减少用户经历的延迟时间,约束条件给出了对处理和存储器的约束,放置在主机上的所有微服务请求的资源总和不得超过总剩余资源容量,同时,确保每个微服务都放置在系统中唯一的一台主机上。
第四步,部署微服务实例:将满足资源需求,可用于部署微服务的节点加入到节点集合中,并按照微服务资源需求量以及节点剩余资源数量,依次将微服务部署到节点。
(1)将该集合中的元素按照可用计算能力、可用内存空间和边权重以非递增顺序排列;
(2)对于第一个边,如果第一个节点可以满足两个微服务组合的计算和内存要求,则将两个连接的微服务放在同一个节点;
(3)遍历与已经在当前节点上分配的微服务交互的微服务,在节点上可用处理和内存资源的约束条件下,将尽可能多的相关微服务放在相同节点上;
(4)在每个节点上,当所有依赖的微服务分配完成,如果当前节点能够满足处理和内存要求,无依赖的剩余微服务放置在当前节点,以确保节点资源利用率最大化;
(5)将微服务放置在当前节点上时,会执行重新检查以确保是否需要进行重新分配。
当做出分配决定时,当前节点上的剩余容量就会更新,将该节点上的可用资源中减去所请求的资源,剩余资源容量更新以反映当前的资源分配;如果更新后的剩余资源容量不足以满足微服务的最小资源需求,选择排序列表中的下一个节点;
(6)当没有更多的微服务需要放置,或者没有更多的可用节点用来容纳微服务时,确定分配策略;
(7)数组索引给出了微服务标识符,索引值表示微服务分配到的物理节点。如果该索引值为0,则没有可用节点能够分配,微服务继续在调度队列中等待,直到节点变得可用。
本发明与现有技术相比具有如下优点:在云计算环境下,将容器化微服务资源分配问题建模为规划问题,通过将相互作用的微服务优先部署在相同节点上,最大限度减少部署应用程序的物理节点之间的通信开销,以达到最小化请求处理响应时间的目标。
附图说明
图1为交互感知的容器化微服务资源调度框架。
具体实施方式
以下结合具体实施例和附图对本发明进行详细说明,如图1所示,本发明实施例方法流程:
应用程序开发人员设计由不同微服务组成的应用,将不同的微服务及其实例提交到云数据中心。云提供商为基于微服务的应用程序提供了扩展服务和基础设施的管理功能。服务管理能力主要关注用户和微服务之间的接口活动,包括路由、服务发现等。基础设施管理能力主要关注微服务和底层基础设施之间的映射活动。在微服务生态系统中,应用程序开发人员提交构成应用程序的微服务,云提供商考虑每个微服务的资源需求,以得出应用程序的最佳放置或部署策略,各种微服务被分配给数据中心中合适的物理节点以满足微服务的资源需求。在物理节点上运行的一组相关微服务形成一个Pod(一组容器的集合,在Pod里面的容器共享网络/存储),以作为资源管理的基本单元,一旦部署操作完成,微服务容器就会启动。微服务容器处于“运行”状态后,云平台接收用户对微服务的请求,识别微服务实例和承载微服务实例的节点,请求转发到相应节点,处理完请求后,将结果返回发起请求的用户。
微服务生命周期可以分为开发和运行等两个阶段,运行阶段包括服务管理和基础设施管理。本发明的微服务部署方法属于基础设施管理,开发者提交不同类型的微服务,每个微服务都有多个实例,云提供商将这些实例视为不同的模块进行调度,其框架如图1所示。实施运行环境将基于容器的集群管理平台(Kubernetes,K8S)集群作为基础架构,集群根据应用请求数量自动伸缩。集群由3到10个工作节点组成,每个工作节点分配2个虚拟中央处理器(central processing unit,CPU)和7.5GB的内存。每个节点运行节点代理(kubelet)服务以管理在节点上托管的容器,主节点上运行的调度器在容器中部署应用程序。应用容器引擎(Docker)容器封装了应用程序模块,容器配置有与应用程序部署文件中的规范相对应的资源要求和限制。使用Jaeger、Prometheus和Grafana开源监控工具,通过收集日志和其他指标来支持基于微服务的系统的日志记录和监控。其中,Jaeger是微服务执行跟踪工具,用于提取微服务容器的运行时指标,Prometheus用于收集微服务生命周期中的其他时间序列指标,Grafana根据Prometheus搜集的监测数据提供数据可视化能力。微服务调度包括以下具体步骤:
(1)生成微服务交互图:获取开发人员编写的应用的负载测试脚本并生成负载,监测微服务间的调用行为并表示为微服务交互图。本实施例中,通过对基于微服务的应用程序进行负载测试,并捕获各种微服务组件之间的交互。开发人员向应用程序提供负载测试脚本,然后使用该负载测试脚本来捕获微服务之间的交互信息,并表示为交互图形式。微服务应用由众多微服务构成,这些微服务相互交互以处理从用户接收的请求,微服务之间的交互表示为无向图加权图G=<V,T,E,D>,其中,V表示微服务组成的顶点集合;T表示由V中与顶点相关联的权重集合,权重表示为<vcpu_req,vmem_req>,即vcpu_req表示与该顶点相关联的计算资源需求,vmem_req表示与所述顶点相关联的内存资源需求;E表示微服务交互的边集合;D表示边权重dij集合,即微服务i和微服务j之间的调用数量,即两个方向上交互次数的总和。
(2)计算微服务交互因子:在微服务交互图中,使用顶点权重表示微服务的资源需求,边权重表示微服务间的交互次数即微服务交互因子。本实施例中,微服务交互因子计算方法包括:计算微服务组件之间的交互次数,由微服务交互图中的边权重来表示该交互次数,然后计算每对微服务间的相互作用系数,将两个节点vi和vj之间的交互行为定义为交互因子cij,其中,微服务vi部署在主机hz,微服务vj部署在节点hw,如果hz和hw是不同的节点则cij=0,否则cij=dij/2。
(3)微服务放置策略建模,即调度引擎:得到交互因子后,使用0/1线性约束的二次规划建模微服务到可用节点的映射,以在资源容量限制下最小化微服务间的通信开销。本实施例中,使用求解器应用调度策略求解二次规划问题,以制定资源分配方案,即建模微服务放置策略。微服务放置策略建模方法包括:云数据中心具有n个可用物理主机,表示为{h1,h2,…,hi,…,hn},其中,hi表示单个主机,每个主机特征表示为元组<cpu,mem>,表示物理主机上的处理核心数量和内存空间;每个节点上剩余的CPU和内存容量为,hi u_res=hi u(1-hi u_util),u∈{cpu,mem},其中,hi u_util表示当前CPU和内存利用率;将微服务放置到数据中心主机的问题,建模为0/1线性约束的二次规划问题:Minimize
Figure BDA0002904462350000061
其中,
Figure BDA0002904462350000062
Figure BDA0002904462350000063
如果微服务vi分配在节点hz上,则
Figure BDA0002904462350000064
为1,否则为0。
(4)部署微服务实例:将满足资源需求的微服务部署到集群中的可用节点,并部署依赖该微服务的微服务实例到该可用节点。当获得调度策略,部署微服务实例的模块即部署模块在相应的物理节点上启动分配的微服务组件,其相关信息也输入到注册服务中,以确保微服务是可发现的,具体部署微服务实例,包括以下操作步骤:
1)将云数据中心中可用于部署微服务的节点加入到节点集合中,并按照可用计算资源、可用内存空间和边权重以非递增顺序排列;
2)对于微服务应用中的第一个边,如果节点列表中的第一个节点可以满足两个交互微服务的计算和内存资源需求,则将这两个微服务放在同一个节点;
3)遍历与在节点上部署微服务交互的微服务,在节点可用计算和内存资源约束条件下,将多个微服务放在相同节点;
4)在每个节点上,当所有依赖的微服务分配完成,在当前节点能够满足计算和内存需求的条件下,将无依赖的剩余微服务放置在当前节点,并更新节点的可用资源数量;
5)如果更新后的剩余资源量不足以满足剩余微服务的资源需求,则选择节点排序列表中的下一个节点,按照微服务资源需求降序依次部署;
6)当没有更多的微服务需要放置,或者没有更多的可用节点用来部署微服务时,微服务实例部署操作终止;
7)为每个微服务设置索引值,表示微服务分配到的物理节点,如果索引值为0,则没有可用节点能够分配,微服务继续在调度队列中等待,直到节点变得可用。

Claims (5)

1.一种面向云计算的交互感知的容器化微服务资源调度方法,其步骤包括:
1)生成微服务交互图:获取开发人员编写的应用的负载测试脚本并生成负载,监测微服务间的调用行为并表示为微服务交互图;
2)计算微服务交互因子:在所述微服务交互图中,使用顶点权重表示微服务的资源需求,边权重表示微服务间的交互次数,所述交互次数为微服务交互因子;
3)建模微服务放置策略:得到所述交互因子后,使用0/1线性约束的二次规划建模微服务到可用节点的映射,以在资源容量限制下最小化微服务间的通信开销;
4)部署微服务实例:将满足资源需求的微服务部署到集群中的可用节点,并部署依赖所述微服务的微服务实例到所述可用节点。
2.如权利要求1所述的方法,其特征在于,微服务交互图生成方法为:
微服务应用由众多微服务构成,这些微服务相互交互以处理从用户接收的请求,微服务之间的交互表示为无向图加权图G=<V,T,E,D>,其中,V表示微服务组成的顶点集合;T表示由V中与顶点相关联的权重集合,权重表示为<vcpu_req,vmem_req>,vcpu_req表示与所述顶点相关联的计算资源需求,vmem_req表示与所述顶点相关联的内存资源需求;E表示微服务交互的边集合;D表示边权重dij集合,dij表示微服务i和微服务j之间的调用数量,所述调用数量是指微服务i和微服务j在两个方向上交互次数的总和。
3.如权利要求2所述的方法,其特征在于,微服务交互因子计算方法为:
将两个节点vi和vj之间的交互行为定义为所述交互因子cij,其中,微服务vi部署在主机hz,微服务vj部署在节点hw,如果hz和hw是不同的节点则cij=0,否则cij=dij/2。
4.如权利要求3所述的方法,其特征在于,微服务放置策略建模方法为:
1)云数据中心具有n个可用物理主机,表示为{h1,h2,…,hi,…,hn},其中,hi表示单个主机,每个主机特征表示为元组<cpu,mem>,表示物理主机上的处理核心数量和内存空间;每个节点上剩余的CPU和内存容量为,hi u_res=hi u(1-hi u_util),u∈{cpu,mem},其中,hi u_util表示当前CPU和内存利用率;
2)将微服务放置到数据中心主机的问题,建模为0/1线性约束的二次规划问题:
Figure FDA0002904462340000011
其中,
Figure FDA0002904462340000012
Figure FDA0002904462340000013
如果微服务vi分配在节点hz上,则
Figure FDA0002904462340000014
为1,否则为0。
5.如权利要求4所述的方法,其特征在于,所述微服务实例部署方法为:
1)将所述云数据中心中可用于部署微服务的节点加入到节点集合中,并按照可用计算资源、可用内存空间和边权重以非递增顺序排列;
2)对于微服务应用中的第一个边,如果节点列表中的第一个节点可以满足两个交互微服务的计算和内存资源需求,则将这两个微服务放在同一个节点;
3)遍历与在节点上部署微服务交互的微服务,在节点可用计算和内存资源约束条件下,将多个微服务放在相同节点;
4)在每个节点上,当所有依赖的微服务分配完成,在当前节点能够满足计算和内存需求的条件下,将无依赖的剩余微服务放置在当前节点,并更新节点的可用资源数量;
5)如果更新后的剩余资源量不足以满足剩余微服务的资源需求,则选择节点排序列表中的下一个节点,按照微服务资源需求降序依次部署;
6)当没有更多的微服务需要放置,或者没有更多的可用节点用来部署微服务时,微服务实例部署操作终止;
7)为每个微服务设置索引值,表示微服务分配到的物理节点,如果该索引值为0,则没有可用节点能够分配,微服务继续在调度队列中等待,直到节点变得可用。
CN202110066625.8A 2021-01-19 2021-01-19 一种面向云计算的交互感知的容器化微服务资源调度方法 Active CN112783649B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110066625.8A CN112783649B (zh) 2021-01-19 2021-01-19 一种面向云计算的交互感知的容器化微服务资源调度方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110066625.8A CN112783649B (zh) 2021-01-19 2021-01-19 一种面向云计算的交互感知的容器化微服务资源调度方法

Publications (2)

Publication Number Publication Date
CN112783649A true CN112783649A (zh) 2021-05-11
CN112783649B CN112783649B (zh) 2024-03-01

Family

ID=75757510

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110066625.8A Active CN112783649B (zh) 2021-01-19 2021-01-19 一种面向云计算的交互感知的容器化微服务资源调度方法

Country Status (1)

Country Link
CN (1) CN112783649B (zh)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113268251A (zh) * 2021-05-25 2021-08-17 中国联合网络通信集团有限公司 微服务的部署方法及其设备、计算机存储介质
CN113596110A (zh) * 2021-07-08 2021-11-02 交通银行股份有限公司太平洋信用卡中心 一种面向异构云的云原生微服务平台
CN113703945A (zh) * 2021-08-31 2021-11-26 平安普惠企业管理有限公司 微服务集群的调度方法、装置、设备及存储介质
CN114024782A (zh) * 2022-01-10 2022-02-08 苏州博纳讯动软件有限公司 基于三层安全隧道技术的云与边缘、边缘与边缘组网系统
CN114816272A (zh) * 2022-06-23 2022-07-29 江苏博云科技股份有限公司 Kubernetes环境下的磁盘管理系统
CN114928633A (zh) * 2022-05-16 2022-08-19 江苏赞奇科技股份有限公司 一种基于复杂云应用环境的高效控制方法及系统
CN115190121A (zh) * 2022-05-25 2022-10-14 上海交通大学 基于跨地域的微服务过量负载调度系统、方法及设备
CN115190010A (zh) * 2022-07-01 2022-10-14 北京友友天宇系统技术有限公司 基于软件服务依赖关系的分布推荐方法和装置
CN115277862A (zh) * 2022-06-21 2022-11-01 阿里巴巴(中国)有限公司 基于容器的资源调度方法及装置
CN116192962A (zh) * 2023-02-27 2023-05-30 中国人民解放军国防科技大学 一种面向云边端计算的通信聚合方法及系统
CN116881571A (zh) * 2023-07-27 2023-10-13 广东麦视互联网科技有限公司 基于微服务的数据挖掘方法及系统
CN117349036A (zh) * 2023-12-06 2024-01-05 湖北省楚天云有限公司 微服务实例部署方法、系统、设备及存储介质
CN117692503A (zh) * 2024-02-04 2024-03-12 国网湖北省电力有限公司信息通信公司 动态微服务图部署和概率请求路由的联合优化方法及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019024445A1 (zh) * 2017-07-31 2019-02-07 上海交通大学 地理分布交互服务云资源协同优化方法
CN111027736A (zh) * 2019-07-30 2020-04-17 中国人民解放军国防科技大学 多目标优化下的微服务组合部署与调度方法
US10776172B1 (en) * 2019-12-31 2020-09-15 Oath Inc. Cost optimized services for dynamic service levels

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019024445A1 (zh) * 2017-07-31 2019-02-07 上海交通大学 地理分布交互服务云资源协同优化方法
CN111027736A (zh) * 2019-07-30 2020-04-17 中国人民解放军国防科技大学 多目标优化下的微服务组合部署与调度方法
US10776172B1 (en) * 2019-12-31 2020-09-15 Oath Inc. Cost optimized services for dynamic service levels

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
徐琛杰;周翔;彭鑫;赵文耘;: "面向微服务系统的运行时部署优化", 计算机应用与软件, no. 10 *

Cited By (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113268251A (zh) * 2021-05-25 2021-08-17 中国联合网络通信集团有限公司 微服务的部署方法及其设备、计算机存储介质
CN113596110A (zh) * 2021-07-08 2021-11-02 交通银行股份有限公司太平洋信用卡中心 一种面向异构云的云原生微服务平台
CN113596110B (zh) * 2021-07-08 2023-12-15 交通银行股份有限公司太平洋信用卡中心 一种面向异构云的云原生微服务平台
CN113703945A (zh) * 2021-08-31 2021-11-26 平安普惠企业管理有限公司 微服务集群的调度方法、装置、设备及存储介质
CN113703945B (zh) * 2021-08-31 2024-02-20 深圳市兴海物联科技有限公司 微服务集群的调度方法、装置、设备及存储介质
CN114024782A (zh) * 2022-01-10 2022-02-08 苏州博纳讯动软件有限公司 基于三层安全隧道技术的云与边缘、边缘与边缘组网系统
CN114024782B (zh) * 2022-01-10 2022-04-12 江苏博云科技股份有限公司 基于三层安全隧道技术的云与边缘、边缘与边缘组网系统
CN114928633B (zh) * 2022-05-16 2024-04-16 江苏赞奇科技股份有限公司 一种基于复杂云应用环境的高效控制方法及系统
CN114928633A (zh) * 2022-05-16 2022-08-19 江苏赞奇科技股份有限公司 一种基于复杂云应用环境的高效控制方法及系统
CN115190121B (zh) * 2022-05-25 2023-11-17 上海交通大学 基于跨地域的微服务过量负载调度系统、方法及设备
CN115190121A (zh) * 2022-05-25 2022-10-14 上海交通大学 基于跨地域的微服务过量负载调度系统、方法及设备
CN115277862A (zh) * 2022-06-21 2022-11-01 阿里巴巴(中国)有限公司 基于容器的资源调度方法及装置
CN114816272B (zh) * 2022-06-23 2022-09-06 江苏博云科技股份有限公司 Kubernetes环境下的磁盘管理系统
CN114816272A (zh) * 2022-06-23 2022-07-29 江苏博云科技股份有限公司 Kubernetes环境下的磁盘管理系统
CN115190010A (zh) * 2022-07-01 2022-10-14 北京友友天宇系统技术有限公司 基于软件服务依赖关系的分布推荐方法和装置
CN116192962B (zh) * 2023-02-27 2023-11-14 中国人民解放军国防科技大学 一种面向云边端计算的通信聚合方法及系统
CN116192962A (zh) * 2023-02-27 2023-05-30 中国人民解放军国防科技大学 一种面向云边端计算的通信聚合方法及系统
CN116881571A (zh) * 2023-07-27 2023-10-13 广东麦视互联网科技有限公司 基于微服务的数据挖掘方法及系统
CN116881571B (zh) * 2023-07-27 2024-01-12 广东麦视互联网科技有限公司 基于微服务的数据挖掘方法及系统
CN117349036A (zh) * 2023-12-06 2024-01-05 湖北省楚天云有限公司 微服务实例部署方法、系统、设备及存储介质
CN117349036B (zh) * 2023-12-06 2024-04-05 湖北省楚天云有限公司 微服务实例部署方法、系统、设备及存储介质
CN117692503A (zh) * 2024-02-04 2024-03-12 国网湖北省电力有限公司信息通信公司 动态微服务图部署和概率请求路由的联合优化方法及系统
CN117692503B (zh) * 2024-02-04 2024-04-26 国网湖北省电力有限公司信息通信公司 动态微服务图部署和概率请求路由的联合优化方法及系统

Also Published As

Publication number Publication date
CN112783649B (zh) 2024-03-01

Similar Documents

Publication Publication Date Title
CN112783649B (zh) 一种面向云计算的交互感知的容器化微服务资源调度方法
Carrión Kubernetes scheduling: Taxonomy, ongoing issues and challenges
Kaur et al. Container-as-a-service at the edge: Trade-off between energy efficiency and service availability at fog nano data centers
Joseph et al. IntMA: Dynamic interaction-aware resource allocation for containerized microservices in cloud environments
Tao et al. Dynamic resource allocation algorithm for container-based service computing
CN115134371A (zh) 包含边缘网络算力资源的调度方法、系统、设备及介质
CN109614227A (zh) 任务资源调配方法、装置、电子设备及计算机可读介质
Han et al. Refining microservices placement employing workload profiling over multiple kubernetes clusters
Al-Sinayyid et al. Job scheduler for streaming applications in heterogeneous distributed processing systems
Sánchez et al. Agent-based platform to support the execution of parallel tasks
Turin et al. A formal model of the kubernetes container framework
Mishra et al. A meta-heuristic based multi objective optimization for load distribution in cloud data center under varying workloads
Chen et al. Task partitioning and offloading in IoT cloud-edge collaborative computing framework: a survey
Petrosyan et al. Serverless high-performance computing over cloud
Mendes et al. Oversubscribing micro-clouds with energy-aware containers scheduling
CN114490049A (zh) 在容器化边缘计算中自动分配资源的方法及系统
Nascimento et al. Distributed and dynamic self‐scheduling of parallel MPI Grid applications
Lyu et al. A heterogeneous cloud-edge collaborative computing architecture with affinity-based workflow scheduling and resource allocation for internet-of-things applications
Malathy et al. Performance improvement in cloud computing using resource clustering
Deng et al. Cloud-native computing: A survey from the perspective of services
Filippini et al. SPACE4AI-R: a runtime management tool for AI applications component placement and resource scaling in computing continua
Khiat et al. MFHS: A modular scheduling framework for heterogeneous system
Prakash et al. An efficient workflow scheduling approach in cloud computing
Kumari et al. Advanced fusion ACO approach for memory optimization in cloud computing environment
Mushtaq et al. The Response Rank based Fault-tolerant Task Scheduling for Cloud System

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
CB02 Change of applicant information

Address after: 7-9f, creative industry park, 328 Xinghu street, Suzhou Industrial Park, Suzhou City, Jiangsu Province, 215213

Applicant after: Jiangsu Boyun Technology Co.,Ltd.

Address before: 7-9f, creative industry park, 328 Xinghu street, Suzhou Industrial Park, Suzhou City, Jiangsu Province, 215213

Applicant before: SUZHOU BONA XUNDONG SOFTWARE Co.,Ltd.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant