CN111367632A - 一种基于周期特征的容器云调度方法 - Google Patents
一种基于周期特征的容器云调度方法 Download PDFInfo
- Publication number
- CN111367632A CN111367632A CN202010095211.3A CN202010095211A CN111367632A CN 111367632 A CN111367632 A CN 111367632A CN 202010095211 A CN202010095211 A CN 202010095211A CN 111367632 A CN111367632 A CN 111367632A
- Authority
- CN
- China
- Prior art keywords
- container
- resource
- node
- period
- scheduling
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/4557—Distribution of virtual machine instances; Migration and load balancing
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明涉及一种基于周期特征的容器云调度方法,属于云计算技术领域,包括以下步骤:S1:周期性地采集容器的系统资源使用量,构建在线容器时域及频域资源模型,分析获取容器资源的周期特征;S2:依据容器资源的周期特征,建立分布式BFD调度策略进行容器分配,为每个容器获取资源利用率最高节点;S3:在部署节点预创建新容器,并切换流量至新容器完成容器迁移。本发明对容器调度时分析容器周期特征,利用周期特征进行容器组合调度,能在保证容器QoS的同时提高容器云平台的资源利用率;周期特征分析过程用户无需干预,具有很好的用户友好性;使用基于分布式BFD的调度系统提高集群调度响应性。
Description
技术领域
本发明属于云计算技术领域,涉及一种基于周期特征的容器云调度方法。
背景技术
容器技术包含应用打包、应用运行环境打包、应用资源限制、资源隔离等技术,通过容器技术对整个运行时进行封装打包能在不同环境中快速部署、运行应用。与传统的虚拟机技术相比,容器之间共享宿主机内核,提升了性能以及资源的利用效率。开发人员可以轻松地将其生产环境复制为可立即运行的容器应用程序,同时运维人员也可以使用开发人员提供的容器进行直接部署,降低了开发、测试、生产环境不同带来的沟通成本。
容器云的核心功能是将合适的资源分配给容器,即对容器进行调度。容器云管理大量的主机资源,能处理容器跨主机通信、高可用、监控等功能。调度器是容器云集群管理系统中的核心模块,其负责对每个主机的资源进行收集、统计,当有新容器任务需要调度的时候将会对需要调度的容器任务的需求特征以及全局主机资源信息进行实时的评估和分析将容器放置到合适的主机上,这个过程为完成一次调度的核心过程。现有的容器云以使用调度策略有LeastRequestedPriority,即主机资源利用率低的主机被分配容器的分数高,同时还有BalancedResourceAllocation,优先选择资源使用最均衡的节点。这两个法则目的是提升集群的整体资源利用效率以及资源的负载均衡。
然而现在资源调度策略是根据客户自定义的申请的需求或者容器使用的峰值进行资源分配,带来的问题有:
1.大部分客户对资源需求并不能准确对容器的资源使用峰值进行判断,只能尽可能地申请更多资源,导致资源浪费。
2.容器对资源的需求是动态变化的而不是一直是峰值状态,这样会导致大量的资源闲置。
3.调度器进行资源超卖时没有考虑容器历史值仅使用优先级处理资源冲突会导致低优先级容器QoS的下降,并随着资源超卖比例的增加而加剧。
发明内容
有鉴于此,本发明的目的在于提供一种基于周期特征的容器云调度方法,在时域与频域上对容器的历史资源使用量进行建模分析,得出资源使用量的周期特征;并根据容器的周期特征通过分布式BFD调度系统将容器调度到容器加入后使用率最高的节点上,以此组合资源周期具有互补性的容器;并在容器迁移的过程时等待新容器服务就绪后进行流量切换,保证容器QoS同时并提高集群的资源利用率。
为达到上述目的,本发明提供如下技术方案:
一种基于周期特征的容器云调度方法,包括以下步骤:
S1:周期性地采集容器的系统资源使用量,构建在线容器时域及频域资源模型,分析获取容器资源的周期特征;
S2:依据容器资源的周期特征,建立分布式BFD(Best Fit Decreasing)调度策略进行容器分配,为每个容器获取资源利用率最高节点;
S3:在部署节点预创建新容器,并切换流量至新容器完成容器迁移。
进一步,步骤S1中具体包括以下步骤:
S11:部署数据采集器定时通过读取cgroup伪文件的方式采集每个容器的CPU、内存负载信息,并存储于时间序列数据库内,采集间隙固为τ0,资源负载表达式为Cir(n),其中i为容器全局逻辑id,r为资源类型;
S12:构建在线容器时域及频域资源模型,对负载序列进行频域分析,求出容器负载各周期功率并使用显著周期阈值筛选出所有显著周期p′,得到候选周期集合Sir:Sir={p:Wir(p)>Yir},其中Yir为容器i中资源r的负载的显著周期的功率阈值,公式为:
Wir(p)为容器i资源r周期p的功率,公式为:
S13:计算所有候选周期的得分Fir(p)分值,Fir(p)为容器i中资源r周期p的得分,计算公式为:
S14:将所有周期按照Fir(p)的高低进行排序,筛选出得分最高的一个周期作为容器i资源r的特征周期p0,并以最新采集的3个周期资源负载的平均值作为容器i资源r的代表序列Pir(n)。
进一步,步骤S2具体包括以下步骤:
S21:K个分布式调度器组成分布式BFD(BestFitDecreasing)调度系统,每个调度器负责1/K个集群节点的资源利用率Rjr计算任务,K个调度器计算各节点的资源利用率Rjr后,由最后一个调度器对所有结果进行集合,并从高到低排序得到集合R′jr,其中所述Rjr表示节点j中资源r的资源利用率,其计算方法为:
S22:从集合R′jr选出第一个能满足容器i0资源的节点j0作为最佳节点j,其判断公式为:
进一步,步骤S3具体目的是把容器i0迁移到节点j0上,迁移过程采用先创建新容器再停止旧容器的方式以降低容器服务中断时间提高服务质量,所述步骤S3具体包括:
S31:将容器i0迁移到节点j0上时,首先判断容器i0是否已经在j0上运行,若是则容器i0已经处于最佳位置无需进行迁移;
S32:在节点j0上下载容器i0的镜像并且创建新容器i'0,循环检测新容器的服务探针,服务就绪后修改容器i0服务路由将流量导入新容器i'0,完成迁移过程。
本发明的有益效果在于:本发明对容器调度时分析容器周期特征,利用周期特征进行容器组合调度,能在保证容器QoS的同时提高容器云平台的资源利用率;周期特征分析过程用户无需干预,具有很好的用户友好性;使用基于分布式BFD的调度系统提高集群调度响应性。
本发明的其他优点、目标和特征在某种程度上将在随后的说明书中进行阐述,并且在某种程度上,基于对下文的考察研究对本领域技术人员而言将是显而易见的,或者可以从本发明的实践中得到教导。本发明的目标和其他优点可以通过下面的说明书来实现和获得。
附图说明
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作优选的详细描述,其中:
图1为本发明所述基于周期特征的容器云调度方法总体框架图;
图2为本发明所述基于周期特征的容器云调度方法流程示意图。
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
其中,附图仅用于示例性说明,表示的仅是示意图,而非实物图,不能理解为对本发明的限制;为了更好地说明本发明的实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;对本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。
本发明实施例的附图中相同或相似的标号对应相同或相似的部件;在本发明的描述中,需要理解的是,若有术语“上”、“下”、“左”、“右”、“前”、“后”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此附图中描述位置关系的用语仅用于示例性说明,不能理解为对本发明的限制,对于本领域的普通技术人员而言,可以根据具体情况理解上述术语的具体含义。
本发明提出的一种基于周期特征的容器云调度方法是在接收一个任务时候,先按原有的调度策略将任务运行,然后由资源数据收集模块将任务容器的cpu、内存资源使用情况进行收集,并且存储到远程时序数据库中。
基于如图1所示的系统框架,本发明提供一种基于周期特征的容器云调度方法,如图2所示,包括以下步骤:
步骤101,接收输入容器,容器将首先按容器云平台默认调度方法调度在节点上运行;
步骤102,在每个机器节点(node)上部署数据采集器,定时通过读取cgroup伪文件的方式采集每个容器的CPU、内存资源数据,将数据上传至pushgateway,时序数据库prometheus将定时使用pull的方式从pushgateway上读取并存储容器资源数据,采集间隙固为τ0,资源负载表达式为Cir(n),其中i为容器全局逻辑id,r为资源类型;
步骤103,在频域上对任务资源需求进行周期分析,首先根据任务ID从时序数据库取出容器i资源需求数据,求出容器i中资源r的显著周期的功率阈值Yir:
步骤104,使用阈值筛选出所有显著周期p′,得到候选周期集合Sir:Sir=(p:Wir(p)>Yir},其中Wir(p)为容器i资源r周期p的功率,公式为:
步骤106,通过分值计算公式计算所有候选周期的得分Fir(p)分值,其中分别表示周期p在采样长度为N的情况下频域、时域得分权重系数,由实验得出;按照得分的高低进行排序,筛选出得分最高的一个周期作为容器i资源r的特征周期p0。
步骤108,K个分布式调度器组成分布式BFD(BestFitDecreasing)调度系统,每个调度器负责1/K个集群节点的资源利用率Rjr计算任务,Rjr表示节点j中资源r的资源利用率,其计算方法为:
步骤109,将容器i0迁移到节点j0上时,判断容器i0是否已经在j0上运行,若是则容器i0已经处于最佳位置无需进行迁转到步骤111。
步骤110,进行容器迁移,在节点j0上下载容器i0的镜像并且创建新容器i′0,等待新容器就绪。修改容器i0服务路由将流量导入新容器i′0,完成迁移过程。
步骤111,判断系统是否需要结束,否则重复进行以上步骤,通过持续将容器组合到最高利用率节点上使集群内所有资源利用率达到最高。
最后说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本技术方案的宗旨和范围,其均应涵盖在本发明的权利要求范围当中。
Claims (4)
1.一种基于周期特征的容器云调度方法,其特征在于:包括以下步骤:
S1:周期性地采集容器的系统资源使用量,构建在线容器时域及频域资源模型,分析获取容器资源的周期特征;
S2:依据容器资源的周期特征,建立分布式BFD调度策略进行容器分配,为每个容器获取资源利用率最高节点;
S3:在部署节点预创建新容器,并切换流量至新容器完成容器迁移。
2.根据权利要求1所述的基于周期特征的容器云调度方法,其特征在于:步骤S1中具体包括以下步骤:
S11:部署数据采集器定时采集每个容器的CPU、内存负载信息,并存储于时间序列数据库内,采集间隙固为τ0,资源负载表达式为Cir(n),其中i为容器全局逻辑id,r为资源类型;
S12:构建在线容器时域及频域资源模型,对负载序列进行频域分析,求出容器负载各周期功率并筛选出所有显著周期p′,得到候选周期集合Sir:Sir={p:Wir(p)>Yir},其中Yir为容器i中资源r的负载的显著周期的功率阈值,Wir(p)为容器i资源r周期p的功率;
S13:计算所有候选周期的得分Fir(p)分值,Fir(p)为容器i中资源r周期p的得分,计算公式为:
S14:将所有周期按照Fir(p)的高低进行排序,筛选出得分最高的一个周期作为容器i资源r的特征周期p0,并以最新采集的3个周期资源负载的平均值作为容器i资源r的代表序列Pir(n)。
4.根据权利要求1所述的基于周期特征的容器云调度方法,其特征在于:所述步骤S3具体包括以下步骤:
S31:将容器i0迁移到节点j0上时,首先判断容器i0是否已经在j0上运行,若是则容器i0已经处于最佳位置无需进行迁移;
S32:在节点j0上下载容器i0的镜像并且创建新容器i′0,循环检测新容器的服务探针,服务就绪后修改容器i0服务路由将流量导入新容器i′0,完成迁移过程。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010095211.3A CN111367632B (zh) | 2020-02-14 | 2020-02-14 | 一种基于周期特征的容器云调度方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010095211.3A CN111367632B (zh) | 2020-02-14 | 2020-02-14 | 一种基于周期特征的容器云调度方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111367632A true CN111367632A (zh) | 2020-07-03 |
CN111367632B CN111367632B (zh) | 2023-04-18 |
Family
ID=71208063
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010095211.3A Active CN111367632B (zh) | 2020-02-14 | 2020-02-14 | 一种基于周期特征的容器云调度方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111367632B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111953567A (zh) * | 2020-08-14 | 2020-11-17 | 苏州浪潮智能科技有限公司 | 一种配置多集群管理软件参数的方法、系统、设备及介质 |
CN112181605A (zh) * | 2020-10-27 | 2021-01-05 | 北京城市网邻信息技术有限公司 | 负载均衡方法、装置、电子设备和计算机可读介质 |
CN114637576A (zh) * | 2022-03-22 | 2022-06-17 | 支付宝(杭州)信息技术有限公司 | 用于生成容器分配方案的方法及装置 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050240926A1 (en) * | 2004-04-08 | 2005-10-27 | Yi-Cheng Liu | Process scheduling system and method |
CN107045455A (zh) * | 2017-06-19 | 2017-08-15 | 华中科技大学 | 一种基于负载预测的Docker Swarm集群资源调度优化方法 |
CN107562545A (zh) * | 2017-09-11 | 2018-01-09 | 南京奥之云信息技术有限公司 | 一种基于Docker技术的容器调度方法 |
CN108093046A (zh) * | 2017-12-18 | 2018-05-29 | 江苏润和软件股份有限公司 | 一种基于前馈控制的云应用容器资源调度方法 |
CN108182105A (zh) * | 2017-12-12 | 2018-06-19 | 苏州大学 | 基于Docker容器技术的局部动态迁移方法及控制系统 |
CN108829494A (zh) * | 2018-06-25 | 2018-11-16 | 杭州谐云科技有限公司 | 基于负载预测的容器云平台智能资源优化方法 |
CN109495398A (zh) * | 2017-09-11 | 2019-03-19 | 中国移动通信集团浙江有限公司 | 一种容器云的资源调度方法及设备 |
CN109918198A (zh) * | 2019-02-18 | 2019-06-21 | 中国空间技术研究院 | 一种基于用户特征预测的仿真云平台负载调度系统及方法 |
US20190317817A1 (en) * | 2018-04-12 | 2019-10-17 | Vmware, Inc. | Methods and systems to proactively manage usage of computational resources of a distributed computing system |
-
2020
- 2020-02-14 CN CN202010095211.3A patent/CN111367632B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050240926A1 (en) * | 2004-04-08 | 2005-10-27 | Yi-Cheng Liu | Process scheduling system and method |
CN107045455A (zh) * | 2017-06-19 | 2017-08-15 | 华中科技大学 | 一种基于负载预测的Docker Swarm集群资源调度优化方法 |
CN107562545A (zh) * | 2017-09-11 | 2018-01-09 | 南京奥之云信息技术有限公司 | 一种基于Docker技术的容器调度方法 |
CN109495398A (zh) * | 2017-09-11 | 2019-03-19 | 中国移动通信集团浙江有限公司 | 一种容器云的资源调度方法及设备 |
CN108182105A (zh) * | 2017-12-12 | 2018-06-19 | 苏州大学 | 基于Docker容器技术的局部动态迁移方法及控制系统 |
CN108093046A (zh) * | 2017-12-18 | 2018-05-29 | 江苏润和软件股份有限公司 | 一种基于前馈控制的云应用容器资源调度方法 |
US20190317817A1 (en) * | 2018-04-12 | 2019-10-17 | Vmware, Inc. | Methods and systems to proactively manage usage of computational resources of a distributed computing system |
CN108829494A (zh) * | 2018-06-25 | 2018-11-16 | 杭州谐云科技有限公司 | 基于负载预测的容器云平台智能资源优化方法 |
CN109918198A (zh) * | 2019-02-18 | 2019-06-21 | 中国空间技术研究院 | 一种基于用户特征预测的仿真云平台负载调度系统及方法 |
Non-Patent Citations (1)
Title |
---|
CHUNHUI GUO,XIAYU HUA,HAOWU,ET.AL: "Best-Harmonically-Fit Periodic Task Assignment Algorithm on Multiple Periodic Resources" * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111953567A (zh) * | 2020-08-14 | 2020-11-17 | 苏州浪潮智能科技有限公司 | 一种配置多集群管理软件参数的方法、系统、设备及介质 |
CN112181605A (zh) * | 2020-10-27 | 2021-01-05 | 北京城市网邻信息技术有限公司 | 负载均衡方法、装置、电子设备和计算机可读介质 |
CN114637576A (zh) * | 2022-03-22 | 2022-06-17 | 支付宝(杭州)信息技术有限公司 | 用于生成容器分配方案的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111367632B (zh) | 2023-04-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3847549B1 (en) | Minimizing impact of migrating virtual services | |
CN110737529B (zh) | 一种面向短时多变大数据作业集群调度自适应性配置方法 | |
CN106776005B (zh) | 一种面向容器化应用的资源管理系统及方法 | |
CN108829494B (zh) | 基于负载预测的容器云平台智能资源优化方法 | |
CN111367632B (zh) | 一种基于周期特征的容器云调度方法 | |
US10031774B2 (en) | Scheduling multi-phase computing jobs | |
WO2020024442A1 (zh) | 资源分配方法、装置、计算机设备及计算机可读存储介质 | |
US20060112388A1 (en) | Method for dynamic scheduling in a distributed environment | |
CN110008024B (zh) | 一种多维约束下基于延迟决策的容器调度方法以及装置 | |
Chen et al. | Deep learning research and development platform: Characterizing and scheduling with qos guarantees on gpu clusters | |
CN105373432B (zh) | 一种基于虚拟资源状态预测的云计算资源调度方法 | |
CN113110914A (zh) | 一种基于微服务架构的物联网平台构建方法 | |
US10216543B2 (en) | Real-time analytics based monitoring and classification of jobs for a data processing platform | |
CN105607952B (zh) | 一种虚拟化资源的调度方法及装置 | |
CN112416585A (zh) | 面向深度学习的gpu资源管理与智能化调度方法 | |
CN115134371A (zh) | 包含边缘网络算力资源的调度方法、系统、设备及介质 | |
CN112579273A (zh) | 任务调度方法及装置、计算机可读存储介质 | |
CN105740059B (zh) | 一种面向可分割任务的粒子群调度方法 | |
JP2012099109A (ja) | 分散コンピューティング環境におけるソフトウェアの解析の効率的な並列化のための動的且つ知的な部分的計算管理 | |
Ghasemzadeh et al. | Deadline-budget constrained scheduling algorithm for scientific workflows in a cloud environment | |
CN116467076A (zh) | 一种基于集群可用资源的多集群调度方法及系统 | |
Vashistha et al. | A literature review and taxonomy on workload prediction in cloud data center | |
CN104346220B (zh) | 一种任务调度方法与系统 | |
CN109614210B (zh) | 基于能耗感知的Storm大数据节能调度方法 | |
Lu et al. | InSTechAH: Cost-effectively autoscaling smart computing hadoop cluster in private cloud |
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 |