CN114205419B - 面向微服务多维扰动特征的数据中心请求调度系统及方法 - Google Patents
面向微服务多维扰动特征的数据中心请求调度系统及方法 Download PDFInfo
- Publication number
- CN114205419B CN114205419B CN202111524128.4A CN202111524128A CN114205419B CN 114205419 B CN114205419 B CN 114205419B CN 202111524128 A CN202111524128 A CN 202111524128A CN 114205419 B CN114205419 B CN 114205419B
- Authority
- CN
- China
- Prior art keywords
- micro
- service
- services
- disturbance
- resource
- 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
Links
Images
Classifications
-
- 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
- Multi Processors (AREA)
Abstract
一种面向微服务多维扰动特征的数据中心请求调度系统及方法,包括:微服务特征获取模块、微服务并行化模块和运行时优化模块,其中:微服务特征获取模块采集并刻画微服务的内部运行逻辑、微服务运行时间与资源供给关系以及微服务所处的网络条件三个方面的扰动特征;微服务并行化模块根据请求调用的微服务的扰动特征的互补性编排为最优的微服务并行化流水线各阶段;运行时优化模块解决微服务并行化流水线在实际运行时因扰动特征而造成的时间变化实时问题、资源变化实时问题和顺序变化实时问题;本发明通过采集并刻画不同微服务运行时的多维扰动特征并针对微服务运行时的多维扰动特征进行一种并行化的互补调度,搭建不同请求调用的不同微服务间的并行化流水线;本发明能够提高微服务架构应用请求调度的资源利用率和吞吐量。
Description
技术领域
本发明涉及的是一种云计算领域的技术,具体是一种面向微服务多维扰动特征的数据中心请求调度系统及方法。
背景技术
现有的针对数据中心应用的调度策略都不能实现对微服务架构应用组成的数据中心接收到请求的最优化调度,因为这些调度机制没有充分利用微服务架构独特的多维扰动特征,并且缺乏一个系统的视角;现有的调度没有办法获得微服务架构应用的如下内部扰动特征:1)微服务内部运行逻辑,内部运行逻辑的变动会影响微服务的运行时间;2)微服务运行时间与资源供给之间的细粒度扰动非线性关系;3)通信时间扰动,微服务之间的通信时间会受到多种因素影响而无规律波动;若不能考虑上述组成应用的微服务的多维扰动特征,系统将无法将该应用接收到的海量请求进行最优化的调度,造成数据中心服务器资源利用率和吞吐量下降。
发明内容
本发明针对现有技术仅根据用户提供的特征信息进行组合优化,无法准确根据微服务实时变化的特征,即对微服务的多维扰动特征进行采集并刻画后基于特征进行调度的缺陷,提出一种面向微服务多维扰动特征的数据中心请求调度系统及方法,通过采集并刻画不同微服务运行时的多维扰动特征并针对微服务运行时的多维扰动特征进行一种并行化的互补调度,搭建不同请求调用的不同微服务间的并行化流水线;本发明能够提高微服务架构应用请求调度的资源利用率和吞吐量。
本发明是通过以下技术方案实现的:
本发明涉及一种面向微服务多维扰动特征的数据中心请求调度系统,包括:微服务特征获取模块、微服务并行化模块和运行时优化模块,其中:微服务特征获取模块采集并刻画微服务的内部运行逻辑、微服务运行时间与资源供给关系以及微服务所处的网络条件三个方面的扰动特征;微服务并行化模块根据请求调用的微服务的扰动特征的互补性将不同的微服务编排为最优的微服务并行化流水线各阶段;运行时优化模块解决微服务并行化流水线在实际运行时因扰动特征而造成的运行时长的实时变化问题、资源占用的实时变化问题和执行顺序的实时变化问题。
所述的扰动特征是指:具有微服务标识的四元组[Mi(Ii,Ri,Si,Ni)],其中:I为微服务内部运行逻辑扰动,S为资源供给对于运行时间的扰动程度,R为微服务资源集中性,N为微服务所处的网络条件,Ni为所关注的第i个微服务,多维扰动特征的前两项能够从历史数据中采集刻画得到,第三项特征在运行时采集获取。
所述的微服务内部运行逻辑扰动I根据微服务运行时间的方差分为三种类型:低内部变化微服务、中内部变化微服务、高内部变化微服务;微服务资源集中性R分为三种类型:计算密集型微服务、内存密集型微服务、网络密集型微服务;资源供给对于运行时间的扰动程度S分为:低扰动敏感微服务、中扰动敏感微服务、高扰动敏感微服务;微服务所处的网络条件N是由微服务之间的往返时延变化情况决定。
所述的低、中、高内部变化微服务,具体为微服务在充足资源供给条件下运行时间的方差,其中:低内部变化微服务是指运行时间方差占平均运行时间的15%以下,中内部变化微服务是指运行时间方差占平均运行时间的15%到45%,高内部变化微服务是指运行时间方差占平均运行时间的45%以上。
所述的低、中、高扰动敏感微服务,具体为不同资源限制下运行时间的平均值和方差变化情况进行区分,其中:低扰动敏感微服务是指资源限制之后运行时间平均值和方差都不变、高扰动敏感微服务是指资源限制后运行时间的平均值和方差都变大
所述的计算密集型微服务、内存密集型微服务和网络密集型微服务分别是指:计算资源的使用率是内存和网络资源使用率的5倍以上,中扰动敏感微服务是指资源限制之后运行时间平均值变大,方差不变,内存资源的使用率是计算和网络资源使用率的5倍以上以及网络资源的使用率是计算和内存资源使用率的5倍以上。
所述的对于扰动特征的刻画是指:微服务特征获取模块将多维扰动特征归纳成具有微服务标识的四元组[Mi(Ii,Ri,Si,Ni)],之后该模块会根据微服务内部运行逻辑扰动I和资源供给对于运行时间的扰动程度S得到表征微服务资源使用与运行时间的四元组Mi(ucpu,umem,uio,t),该四元组以数组形式存储了第i个微服务的不同的资源使用与运行时间的对应关系。
所述的编排为最优的微服务并行化流水线是指:根据提取的微服务多维扰动特征以及微服务资源使用和运行时间的关系对请求调用的微服务进行调度,即根据不同微服务互补的资源集中性R和运行时间将请求调用的微服务编排为微服务并行化流水线的不同阶段,同时在调度时要考虑到同一请求的不同微服务之间的逻辑先后关系,具体为:同一请求的微服务是按照先后顺序依次调用执行的,不能仅根据互补性将请求后调用的微服务调度到前调用的微服务之前或者同时执行,但是不同请求调用的微服务能够交错或者同时执行以提高资源利用率。
所述的解决微服务并行化流水线在实际运行时因扰动特征而造成的运行时长的实时变化问题、资源占用的实时变化问题和执行顺序的实时变化问题是指:针对微服务并行化流水线在实际运行中因扰动特征而造成的运行时长指标、资源占用指标和执行顺序指标与调度结果不同的问题,采取对微服务的重排序方法和/或对分配资源的伸缩方法,确保微服务并行化流水线的运行符合运行时优化模块的最优调度结果。
技术效果
本发明整体解决了具有多维扰动特征的微服务架构应用由于请求调度引起资源竞争造成性能下降的问题,通过利用微服务架构应用独有的扰动特征优化海量请求调度的效率;与现有工作相比,该系统能够通过采集刻画不同微服务的多维扰动特征,更好的获取微服务的运行规律,并且根据扰动特征的互补性将不同请求调用的微服务编排为微服务并行化流水线的各个阶段,保证微服务架构应用接收到的请求能够按照最优的运行顺序执行,从而降低潜在的资源竞争引起的性能下降;经过实验证明,基于多维扰动特征的数据中心请求调度可以在资源利用率、吞吐量和尾部延迟三个方面比已有工作取得提升。
附图说明
图1为本发明系统示意图;
图2-4分别为微服务特征获取模块、微服务并行化模块和运行时优化模块示意图;
图5为实施例流程图;
图6-8为实施例效果示意图。
具体实施方式
如图1所示,为本实施例涉及的一种面向微服务多维扰动特征的数据中心请求调度系统,包括:微服务特征获取模块、微服务并行化模块和运行时优化模块。
如图2所示,所述的微服务特征获取模块为采集并刻画微服务的内部运行逻辑、微服务运行时间与资源供给关系以及微服务所处的网络条件三个方面的扰动特征,其中微服务内部运行逻辑扰动I由微服务在充足资源供给条件下运行时间的方差来表示,分为低内部变化微服务、中内部变化微服务、高内部变化微服务;微服务运行时间与资源供给关系分为两部分,首先根据微服务资源集中性R分为计算密集型微服务、内存密集型微服务、网络密集型微服务;其次通过在不同资源限制下运行时间的平均值和方差变化情况将扰动程度S区分为高扰动敏感微服务、中扰动敏感微服务、低扰动敏感微服务;微服务所处的网络条件由微服务之间的往返时延变化情况决定;微服务特征获取模块会将获取到的多维扰动特征归纳成具有微服务标识的四元组[Mi(Ii,Ri,Si,Ni)],其中Mi表示所关注的第i个微服务;之后会根据微服务内部运行逻辑扰动I和资源供给对于运行时间的扰动程度S得到表征微服务资源使用与运行时间的四元组Mi(ucpu,umem,uio,t),该四元组以数组形式存储了第i个微服务不同的资源使用与运行时间的对应关系。
如图3所示,所述的微服务并行化模块根据微服务特征获取模块获取的微服务多维扰动特征以及微服务资源时间关系数组对于请求等待队列中的请求进行调度;每一个请求调用多个微服务,对于每个调用的微服务进行调度时,微服务并行化模块会根据现在处于运行状态的微服务的运行时间和对于系统资源的占用情况预测未来系统中可用的资源种类及数量,之后启动不产生资源竞争的微服务搭建最优的微服务并行化流水线,从而在保证请求正常运行的同时最大程度地降低资源干扰及性能下降。
如图4所示,所述的运行时优化模块包括对微服务重排序和对分配资源的伸缩两种策略;该模块根据微服务并行化模块提供的最优微服务并行化流水线决策以及系统实际运行过程中遇到的实时问题,对于等待队列中的微服务进行重排序或者对于运行中微服务的已分配资源进行增加或减少从而得到确保微服务并行化流水线运行尽可能满足最优调度的结果。
如图5所示,为本实施例涉及一种基于上述系统的面向微服务多维扰动特征的数据中心请求调度方法,当用户向微服务架构应用组成的数据中心发送请求时,微服务架构应用使用本发明进行请求的调度和管理。
所述的调度方法,具体包括以下步骤:
步骤1,使用微服务特征获取模块采集并刻画微服务的多维扰动特征;所述的微服务特征获取模块是指,当微服务被用户请求触发时,微服务特征获取模块采集并刻画微服务三个方面的扰动特征:1)微服务的内部运行逻辑扰动I,根据微服务运行时间方差分为三种类型:低内部变化微服务、中内部变化微服务、高内部变化微服务2)微服务的运行时间与资源供给之间的扰动非线性关系,首先根据微服务的资源集中性R分为三种类型:计算密集型微服务、内存密集型微服务、网络密集型微服务,之后根据资源供给对于运行时间的扰动程度S分为:高扰动敏感微服务、中扰动敏感微服务、低扰动敏感微服务;3)微服务所处的网络条件N;多维扰动特征的前两项能够从历史数据中采集刻画得到,第三项特征在运行时采集获得;该模块将多维扰动特征归纳成具有微服务标识的四元组[Mi(Ii,Ri,Si,Ni)],之后该模块会根据微服务内部运行逻辑差别I和资源供给对于运行时间的扰动程度S得到表征微服务资源使用和运行时间的四元组Mi(ucpu,umem,uio,t),该四元组以数组形式存储了第i个微服务不同的资源使用与运行时间的对应关系。
1)当请求访问微服务架构应用时,微服务特征获取模块首先会从微服务软件层面获取微服务的内部运行逻辑扰动;获取微服务内部运行逻辑扰动的方法为分析其源代码后重复运行记录运行时间,从而根据是否存在运行时间方差分为三种类型:低内部变化微服务、中内部变化微服务、高内部变化微服务;并存储在一元组Ii<内部运行逻辑扰动>中;获取微服务内部运行逻辑扰动的操作只需要在微服务第一次调用阶段进行一次。
2)微服务特征获取模块从硬件层面获取微服务的运行时间与资源供给的关系;微服务特征获取模块使用perf命令对特定硬件的特定事件进行统计,事件包括:task-clock用来表述CPU利用率,cache-reference用来表示内存使用带宽以及block:block_rq_insert用来表示应用的IO带宽;微服务的资源集中性R将通过三种资源的相对关系得出,分为三种类型:计算密集型微服务、内存密集型微服务、网络密集型微服务。
3)微服务特征获取模块使用分布式日志系统从操作系统层面获取微服务的运行时间,该模块通过结合运行时间与使用资源获取微服务的资源限制对于运行时间的扰动程度S,并且分为三种类型:高扰动敏感微服务、中扰动敏感微服务、低扰动敏感微服务。
4)微服务特征获取模块使用分布式日志系统从操作系统层面获取微服务之间的通信时间,从而得到微服务所处的网络条件N。
微服务特征获取模块将收集到的三个层面的扰动特征归纳并存储为一个具有微服务标识的四元组[Mi(Ii,Ri,Si,Ni)]。
微服务特征获取模块根据得到的四元组中的微服务内部运行逻辑扰动I和资源供给对于运行时间的扰动程度S得到表征微服务资源使用与运行时间的四元组Mi(ucpu,umem,uio,t);该四元组的每个元素都是一个数组,用来表示不同的资源供给-运行时间情况。
步骤2,使用微服务并行化模块将请求调用的微服务按照扰动特征的互补性编排成为最优的微服务并行化流水线各阶段;所述的微服务并行化模块是指,当微服务特征获取模块获得具有微服务标识的四元组[Mi(Ii,Ri,Si,Ni)]和微服务资源使用和运行关系的四元组Mi(ucpu,umem,uio,t)后,微服务并行化模块将进一步根据资源和时间的互补关系将请求调用的不同微服务调度为微服务并行化流水线的不同阶段。
1)微服务并行化模块首先根据微服务使用资源的互补关系进行调度,将运行时占用不同种类资源(计算密集、内存密集、网络密集)的微服务编排在同一时间运行以提高系统的总体资源利用率。
2)微服务并行化模块其次根据微服务运行时间的互补关系进行调度,考虑到运行时间和通信时间的差异性以及不同微服务的内部变化程度I,对于每个等待队列中的请求所调用微服务Mi,根据其资源使用与运行关系的四元组Mi(ucpu,umem,uio,t)以及系统中正在运行微服务所占用的资源量的情况,比较在t时间段内是否系统中剩余资源大于ucpu,umem,uio,如果该请求所调用的微服务均可得到所需资源,则开始执行该请求;否则将调度等待队列中的下一个请求,从而减少系统运行时存在的资源竞争现象。
经过微服务并行化模块,能够将微服务架构应用接收到的请求所调用的微服务根据扰动特征调度到不同的机器,从而形成了微服务级别的并行化流水线。
步骤3,使用运行时优化模块解决微服务级别并行化流水线实际运行时因扰动特征而造成的实时问题;所述的运行时优化模块是指,当微服务并行化流水线遇到运行时长的实时变化问题、资源占用的实时变化问题、执行顺序的实时变化问题时,通过对微服务的重排序和对分配资源的伸缩进行使得请求的执行符合微服务级别并行化流水线的最优调度;
1)所述的运行时长的实时变化问题是指,在微服务并行化流水线运行过程中,由于微服务的内部运行逻辑的区别(如循环操作提前完成)以及资源限制对于运行时间的扰动,微服务的实际运行时间可能会与微服务特征获取模块所预计的时间不同的情况。
2)所述的资源占用的实时变化问题是指,在微服务并行化流水线运行过程中,由于微服务的资源需求与系统实际可供给资源的差距以及外部因素的扰动,会出现对于微服务的实际资源供给低于预计提供给微服务的资源的情况。
3)所述的执行顺序的实时变化问题是指,在微服务并行化流水线运行过程中,由于微服务所处的网络条件扰动引起通信时间的变化,原定被调用的微服务没有按时被调用,导致流水线无法按照微服务并行化模块调度的顺序执行的情况。
所述的对微服务的重排序是指,微服务并行化流水线的运行会与原本微服务并行化流水线调度的最优情况不同,运行时优化模块通过将等待队列中与当前运行微服务无依赖关系的微服务提前执行的方法提高机器的资源利用率和吞吐量。
所述的对分配资源的伸缩是指,机器的资源使用会与原本微服务并行化流水线调度的最优情况不同,并且等待队列中的微服务都与当前运行微服务存在依赖关系时,运行时优化模块结合不同微服务的扰动敏感程度S通过对系统中正在运行的微服务所占用的资源进行增加或者减少来提高机器的资源利用率。
借助运行时优化模块,能够尽最大努力解决微服务并行化流水线在实际运行时因扰动特征而造成的实时问题,从而尽可能满足微服务并行化流水线最优调度。
经过具体实际实验验证了本发明的效果;实验平台的CPU为Intel(R)Xeon(R)Gold5218@2.30GHz,微服务架构应用选择基准测试DeathStarBench和TrainTicket,请求选择上述两个基准测试中的发帖请求、寻找最低价格车票请求、基本搜索请求、读取主页时间线请求和读取用户时间线请求,实验比较的基线是先有的基于特征分析和优先级的请求调度器,最终本方法能够提高部署有微服务应用系统中的资源利用率达15%和吞吐量达17%,同时降低应用处理请求的尾部延迟达26%;可见本方法具有更高的资源利用率,更高的请求吞吐量以及更低的尾部延迟。
上述具体实施可由本领域技术人员在不背离本发明原理和宗旨的前提下以不同的方式对其进行局部调整,本发明的保护范围以权利要求书为准且不由上述具体实施所限,在其范围内的各个实现方案均受本发明之约束。
Claims (6)
1.一种面向微服务多维扰动特征的数据中心请求调度系统,其特征在于,包括:微服务特征获取模块、微服务并行化模块和运行时优化模块,其中:微服务特征获取模块采集并刻画微服务的内部运行逻辑、微服务运行时间与资源供给关系以及微服务所处的网络条件三个方面的扰动特征;微服务并行化模块根据请求调用的微服务的扰动特征的互补性编排为最优的微服务并行化流水线各阶段;运行时优化模块解决微服务并行化流水线在实际运行时因扰动特征而造成的运行时长的实时变化问题、资源占用的实时变化问题和执行顺序的实时变化问题;
所述的扰动特征是指:具有微服务标识的四元组[Mi(Ii,Ri,Si,Ni)],其中:I为微服务内部运行逻辑扰动,S为资源供给对于运行时间的扰动程度,R为微服务的资源集中性,N为微服务所处的网络条件,Mi为所关注的第i个微服务;
对于扰动特征的刻画是指:微服务特征获取模块将多维扰动特征归纳成具有微服务标识的四元组[Mi(Ii,Ri,Si,Ni)],之后该模块会根据微服务内部运行逻辑扰动I和资源供给对于运行时间的扰动程度S得到表征微服务资源使用与运行时间的四元组Mi(ucpu,umem,uio,t),该四元组以数组形式存储了不同的资源使用与运行时间的对应关系;
所述的微服务并行化模块根据请求调用的微服务的扰动特征的互补性编排为最优的微服务并行化流水线各阶段是指:当微服务特征获取模块获得具有微服务标识的四元组Mi(Ii,Ri,Si,Ni)和微服务资源使用和运行关系的四元组Mi(ucpu,umem,uio,t)后,微服务并行化模块将进一步根据资源和时间的互补关系将请求调用的不同微服务调度为微服务并行化流水线的不同阶段,具体包括:
1)微服务并行化模块首先根据微服务使用资源的互补关系进行调度,将运行时占用不同种类资源的微服务编排在同一时间运行以提高系统的总体资源利用率;
2)微服务并行化模块其次根据微服务运行时间的互补关系进行调度,考虑到运行时间和通信时间的差异性以及不同微服务的内部变化程度I,对于每个等待队列中的请求所调用微服务Mi,根据其资源使用与运行关系的四元组Mi(ucpu,umem,uio,t)以及系统中正在运行微服务所占用的资源量的情况,比较在t时间段内是否系统中剩余资源大于ucpu,umem,uio,如果该请求所调用的微服务均可得到所需资源,则开始执行该请求;否则将调度等待队列中的下一个请求,从而减少系统运行时存在的资源竞争现象;
所述的运行时优化模块解决微服务并行化流水线在实际运行时因扰动特征而造成的运行时长的实时变化问题、资源占用的实时变化问题和执行顺序的实时变化问题是指:当微服务并行化流水线遇到运行时长的实时变化问题、资源占用的实时变化问题、执行顺序的实时变化问题时,通过结合不同微服务扰动敏感程度对微服务的重排序和对分配资源的伸缩进行使得请求的执行符合微服务级别并行化流水线的最优调度;
所述的对微服务的重排序是指,微服务并行化流水线的运行会与原本微服务并行化流水线调度的最优情况不同,运行时优化模块通过将等待队列中与当前运行微服务无依赖关系的微服务提前执行的方法提高机器的资源利用率和吞吐量;
所述的对分配资源的伸缩是指,机器的资源使用会与原本微服务并行化流水线调度的最优情况不同,并且等待队列中的微服务都与当前运行微服务存在依赖关系时,运行时优化模块通过将系统中正在运行的微服务占用的资源进行增加或者减少来提高机器的资源利用率;
所述的运行时长的实时变化问题是指,在微服务并行化流水线运行过程中,由于微服务的内部运行逻辑差别扰动以及资源限制对于运行时间的扰动,微服务的实际运行时间与微服务特征获取模块所预计的时间不同的情况;
所述的资源占用的实时变化问题是指,在微服务并行化流水线运行过程中,由于微服务的资源需求与系统实际可供给资源的差距以及外部因素的扰动,会出现对于微服务的资源供给低于预计提供给微服务的资源的情况;
所述的执行顺序的实时变化问题是指,在微服务并行化流水线运行过程中,由于微服务所处的网络条件扰动引起通信时间的变化,原定被调用的微服务没有按时被调用,导致流水线无法按照微服务并行化模块调度的顺序执行的情况。
2.根据权利要求1所述的面向微服务多维扰动特征的数据中心请求调度系统,其特征是,所述的微服务的内部运行逻辑扰动I包括:低内部变化微服务、中内部变化微服务、高内部变化微服务;微服务资源集中性R包括:计算密集型微服务、内存密集型微服务、网络密集型微服务;资源供给对于运行时间的扰动程度S包括:高扰动敏感微服务、中扰动敏感微服务、低扰动敏感微服务;微服务所处的网络条件N是由微服务之间的往返时延获得;
低、中、高内部变化微服务,具体为微服务在充足资源供给条件下运行时间的方差,其中:低内部变化微服务是指运行时间方差占平均运行时间的15%以下,中内部变化微服务是指运行时间方差占平均运行时间的15%到45%,高内部变化微服务是指运行时间方差占平均运行时间的45%以上;
低、中、高扰动敏感微服务,具体为不同资源限制下运行时间的平均值和方差变化情况进行区分,其中:低扰动敏感微服务是指资源限制之后运行时间平均值和方差都不变、高扰动敏感微服务是指资源限制后运行时间的平均值和方差都变大;
所述的计算密集型微服务、内存密集型微服务和网络密集型微服务分别是指:计算资源的使用率是内存和网络资源使用率的5倍以上,中扰动敏感微服务是指资源限制之后运行时间平均值变大,方差不变,内存资源的使用率是计算和网络资源使用率的5倍以上以及网络资源的使用率是计算和内存资源使用率的5倍以上。
3.根据权利要求1所述的面向微服务多维扰动特征的数据中心请求调度系统,其特征是,所述的编排为最优的微服务并行化流水线是指:根据提取的微服务多维扰动特征以及微服务资源使用和运行时间的关系对请求调用的微服务进行调度,即根据不同微服务互补的资源集中性R和运行时间将请求调用的微服务编排为微服务并行化流水线的不同阶段,同时在调度时要考虑到同一请求的不同微服务之间的逻辑先后关系,具体为:同一请求的微服务是按照先后顺序依次调用执行的,不能仅根据互补性将请求后调用的微服务调度到前调用的微服务之前或者同时执行,但是不同请求调用的微服务能够交错或者同时执行以提高资源利用率。
4.根据权利要求1所述的面向微服务多维扰动特征的数据中心请求调度系统,其特征是,所述的解决微服务并行化流水线在实际运行时的实时问题是指:针对不同的实时问题采取对微服务的重排序以及对分配资源的伸缩两种方法确保微服务并行化流水线的运行符合运行时优化模块的最优调度结果。
5.一种根据权利要求1~4中任一所述面向微服务多维扰动特征的数据中心请求调度系统的调度方法,其特征在于,具体包括以下步骤:
步骤1,使用微服务特征获取模块采集并刻画微服务的多维扰动特征;所述的微服务特征获取模块是指,当微服务被用户请求触发时,微服务特征获取模块采集并刻画微服务三个方面的扰动特征,包括:
1)从历史数据中采集刻画得到的微服务的内部运行逻辑扰动I,根据微服务运行时间方差分为:低内部变化微服务、中内部变化微服务、高内部变化微服务;
2)从历史数据中采集刻画得到的微服务的运行时间与资源供给之间的扰动非线性关系,首先根据微服务的资源集中性R分为:计算密集型微服务、内存密集型微服务、网络密集型微服务,之后根据资源供给对于运行时间的扰动程度S分为:高扰动敏感微服务、中扰动敏感微服务、低扰动敏感微服务;
3)在运行时采集获得的微服务所处的网络条件N;
步骤2,使用微服务并行化模块将请求调用的微服务按照扰动特征的互补性编排成为最优的微服务并行化流水线各阶段;所述的微服务并行化模块是指,当微服务特征获取模块获得具有微服务标识的四元组Mi(Ii,Ri,Si,Ni)和微服务资源使用和运行关系的四元组Mi(ucpu,umem,uio,t)后,微服务并行化模块将进一步根据资源和时间的互补关系将请求调用的不同微服务调度为微服务并行化流水线的不同阶段;
步骤3,使用运行时优化模块解决微服务级别并行化流水线实际运行时因扰动特征而造成的实时问题;所述的运行时优化模块是指,当微服务并行化流水线遇到运行时长的实时变化问题、资源占用的实时变化问题、执行顺序的实时变化问题时,通过结合不同微服务扰动敏感程度对微服务的重排序和对分配资源的伸缩进行使得请求的执行符合微服务级别并行化流水线的最优调度;
所述的对微服务的重排序是指,微服务并行化流水线的运行会与原本微服务并行化流水线调度的最优情况不同,运行时优化模块通过将等待队列中与当前运行微服务无依赖关系的微服务提前执行的方法提高机器的资源利用率和吞吐量;
所述的对分配资源的伸缩是指,机器的资源使用会与原本微服务并行化流水线调度的最优情况不同,并且等待队列中的微服务都与当前运行微服务存在依赖关系时,运行时优化模块通过将系统中正在运行的微服务占用的资源进行增加或者减少来提高机器的资源利用率。
6.根据权利要求5所述的调度方法,其特征是,所述的步骤1,具体包括:
1)当请求访问微服务架构应用时,微服务特征获取模块首先会从微服务软件层面获取微服务的内部运行逻辑扰动;获取微服务内部运行逻辑扰动的方法为分析其源代码后重复运行记录运行时间,从而根据是否存在运行时间方差分为三种类型:低内部变化微服务、中内部变化微服务、高内部变化微服务;并存储在一元组Ii<内部运行逻辑扰动>中;获取微服务内部运行逻辑扰动的操作只需要在微服务第一次调用阶段进行一次;
2)微服务特征获取模块从硬件层面获取微服务的运行时间与资源供给的关系;微服务特征获取模块使用perf命令对特定硬件的特定事件进行统计,微服务的资源集中性R通过三种资源的相对关系得出;
所述的特定硬件的特定事件包括:task-clock用来表述CPU利用率,cache-reference用来表示内存使用带宽以及block:block_rq_insert用来表示应用的IO带宽;
所述的微服务的资源集中性R分为三种类型:计算密集型微服务、内存密集型微服务、网络密集型微服务;
3)微服务特征获取模块使用分布式日志系统从操作系统层面获取微服务的运行时间,该模块通过结合运行时间与使用资源获取微服务的资源限制对于运行时间的扰动程度S,并且分为三种类型:高扰动敏感微服务、中扰动敏感微服务、低扰动敏感微服务;
4)微服务特征获取模块使用分布式日志系统从操作系统层面获取微服务之间的通信时间,从而得到微服务所处的网络条件N。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111524128.4A CN114205419B (zh) | 2021-12-14 | 2021-12-14 | 面向微服务多维扰动特征的数据中心请求调度系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111524128.4A CN114205419B (zh) | 2021-12-14 | 2021-12-14 | 面向微服务多维扰动特征的数据中心请求调度系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114205419A CN114205419A (zh) | 2022-03-18 |
CN114205419B true CN114205419B (zh) | 2023-04-18 |
Family
ID=80653442
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111524128.4A Active CN114205419B (zh) | 2021-12-14 | 2021-12-14 | 面向微服务多维扰动特征的数据中心请求调度系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114205419B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109901922A (zh) * | 2019-03-05 | 2019-06-18 | 北京工业大学 | 一种面向多层服务的容器云资源调度优化方法 |
CN112506657A (zh) * | 2020-12-09 | 2021-03-16 | 上海交通大学 | 基于强化学习的面向微服务的资源管理系统 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060155432A1 (en) * | 2005-01-07 | 2006-07-13 | United Technologies Corporation | Methods and systems for monitoring atmospheric conditions, predicting turbulent atmospheric conditions and optimizing flight paths of aircraft |
CN117714527A (zh) * | 2017-07-28 | 2024-03-15 | 西门子股份公司 | 利用微服务的边缘设备和关联的网络 |
CN108365976B (zh) * | 2018-01-24 | 2021-06-25 | 北京奇虎科技有限公司 | 网络服务的优化方法及装置 |
US10917316B2 (en) * | 2019-05-31 | 2021-02-09 | International Business Machines Corporation | Constrained optimization of cloud micro services |
CN112148484B (zh) * | 2020-09-14 | 2024-02-23 | 北京大学 | 一种基于耦合度的微服务在线分配方法与系统 |
CN112799817A (zh) * | 2021-02-02 | 2021-05-14 | 中国科学院计算技术研究所 | 一种微服务资源调度系统和方法 |
-
2021
- 2021-12-14 CN CN202111524128.4A patent/CN114205419B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109901922A (zh) * | 2019-03-05 | 2019-06-18 | 北京工业大学 | 一种面向多层服务的容器云资源调度优化方法 |
CN112506657A (zh) * | 2020-12-09 | 2021-03-16 | 上海交通大学 | 基于强化学习的面向微服务的资源管理系统 |
Non-Patent Citations (1)
Title |
---|
徐琛杰 ; 周翔 ; 彭鑫 ; 赵文耘 ; .面向微服务系统的运行时部署优化.计算机应用与软件.2018,(10),全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN114205419A (zh) | 2022-03-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9165032B2 (en) | Allocation of resources for concurrent query execution via adaptive segmentation | |
CN112199150A (zh) | 一种基于微服务调用依赖感知的在线应用动态扩缩容方法 | |
Kumar et al. | Resource allocation for real-time tasks using cloud computing | |
CN105487930A (zh) | 一种基于Hadoop的任务优化调度方法 | |
CN110233802B (zh) | 一种构建一主链多侧链的区块链架构的方法 | |
Pan et al. | Congra: Towards efficient processing of concurrent graph queries on shared-memory machines | |
Liu et al. | Preemptive hadoop jobs scheduling under a deadline | |
CN114679451B (zh) | 面向边缘计算的服务调度系统及其调度方法 | |
CN112905339B (zh) | 任务调度执行方法、装置及系统 | |
US20070195356A1 (en) | Job preempt set generation for resource management | |
Ling et al. | Blastnet: Exploiting duo-blocks for cross-processor real-time dnn inference | |
US7386763B2 (en) | Proactive systemic scheduler for resource limited test systems | |
CN114662932A (zh) | 一种节点分级的工作流类定时任务调度方法 | |
CN113127173B (zh) | 一种异构感知的集群调度方法及装置 | |
Singh et al. | A comparative study of various scheduling algorithms in cloud computing | |
CN110084507A (zh) | 云计算环境下分级感知的科学工作流调度优化方法 | |
CN114205419B (zh) | 面向微服务多维扰动特征的数据中心请求调度系统及方法 | |
CN113792079B (zh) | 数据查询方法、装置、计算机设备和存储介质 | |
CN109324886A (zh) | 集群资源调度方法和装置 | |
Wan et al. | Mobile resource aware scheduling for mobile edge environment | |
CN115373836A (zh) | 计算网络、算力度量方法、调度装置及相关产品 | |
Megow | Coping with incomplete information in scheduling—stochastic and online models | |
Gao et al. | Minimizing financial cost of scientific workflows under deadline constraints in multi-cloud environments | |
CN110580192B (zh) | 一种基于服务特征的混部场景中容器i/o隔离性优化方法 | |
Liu et al. | Finish them on the fly: An incentive mechanism for real-time spatial crowdsourcing |
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 |