CN114265704B - 一种基于凸优化的混合容器云调度系统 - Google Patents
一种基于凸优化的混合容器云调度系统 Download PDFInfo
- Publication number
- CN114265704B CN114265704B CN202210200963.0A CN202210200963A CN114265704B CN 114265704 B CN114265704 B CN 114265704B CN 202210200963 A CN202210200963 A CN 202210200963A CN 114265704 B CN114265704 B CN 114265704B
- Authority
- CN
- China
- Prior art keywords
- container
- scheduling
- target node
- node
- module
- 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
-
- 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
-
- 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
-
- 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
Abstract
本发明提供了一种基于凸优化的混合容器云调度系统,包括容器监控模块、优化处理模块、调度模块和公私转换模块,所述容器监控模块用于监控容器在公有云中的运行状态,所述优化处理模块基于公有云中容器的运行状态处理得到优化方案,所述调度模块根据所述优化方案将容器在公有云中进行调动,所述公私转换模块用于处理用户提交的容器转换申请,并通过所述调度模块将容器在公有云和私有云中进行调动。本系统能够对公有云中的容器进行动态调度,保障公有云的稳定性,在调度过程中,采用了凸优化的方式,能够更快地找到合适的调度方案。
Description
技术领域
本公开涉及容器云领域,具体涉及一种基于凸优化的混合容器云调度系统。
背景技术
容器是一种相比于虚拟机更轻量级,更灵活的虚拟化处理方式,它将一个应用程序所需的一切打包在一起,容器包括所有代码,各种依赖甚至操作系统,这让应用程序几乎在任何地方都可以运行,因此它的诞生,解决了一个重要问题:如何确保应用程序从一个环境移动到另一个环境的正确运行,在云中运行的容器称为容器云,由于容器云设计了大量的数据,为了保证容器云的稳定运行,需要一种调度系统将容器在不同的云节点中进行调度,
现在已经开发出了很多容器调度系统,经过我们大量的检索与参考,发现现有的授权系统有如公开号为KR101784681B1,KR101807806B1、CN106506655B和KR100443450B1所公开的系统,通过创建一个容器镜像,用于创建容器组;容器组是以同一个镜像创建的容器集合;然后按照调度、拓展策略,由调度器进行调度、拓展。但该系统在具体进行调度的时候无法快速有效的找到最佳的调度方案,从而影响了调度效率。
发明内容
本发明的目的在于,针对所存在的不足,提出了一种基于凸优化的混合容器云调度系统,
本发明采用如下技术方案:
一种基于凸优化的混合容器云调度系统,包括容器监控模块、优化处理模块、调度模块和公私转换模块,所述容器监控模块用于监控容器在公有云中的运行状态,所述优化处理模块基于公有云中容器的运行状态处理得到优化方案,所述调度模块根据所述优化方案将容器在公有云中进行调动,所述公私转换模块用于处理用户提交的容器转换申请,并通过所述调度模块将容器在公有云和私有云中进行调动;
所述优化处理模块在公有云中选择出需要进行容器调度的第一目标节点和接收调度容器的第二目标节点,并基于凸优化的方式将调度容器中的应用程序在所述第二目标节点中进行分配,使得公有云处于稳定的运行状态;
所述优化处理模块在选择所述第一目标节点时通过计算节点的待调指数Adi:
其中,n为公有云中节点的数量,Sri为第i个节点的运行状态值;
当所述待调指数小于阈值时,对应的节点为第一目标节点;
其中,m为待选第二目标节点的数量,表示第i个待选第二目标节点的CPU总量值,表示第i个待选第二目标节点的内存总量值,表示第i个待选第二目标节点的剩余CPU总量值,表示第i个待选第二目标节点的剩余内存总量值,表示该待选第二目标节点分配到的所有应用程序的CPU使用量值,表示该待选第二目标节点分配到的所有应用程序的内存使用量值,U为应用程序与待选第二目标节点的匹配向量;
所述优化处理模块建立约束函数集:
进一步的,公有云中节点的运行状态值的计算公式为:
进一步的,公有云中的一个节点中含有多个容器,每个容器内运行有多个应用程序,所述优化处理模块在所述第一目标节点中选出一个容器或该容器中的部分应用程序进行调度;
进一步的,所述优化处理模块计算出第一目标节点中第i个容器的调度优先度Pri:
所述优化处理模块选择调度优先度最大的容器作为调度对象;
进一步的,所述公私转换模块接收的调度申请分为两类,一类是从公有云向私有云进行调度,在通过审核后由所述调度模块直接进行调度,另一类是私有云向公有云进行调度,在通过审核后,需要所述优化处理模块计算处理得到匹配向量U,再由所述调度模块进行调度。
本发明所取得的有益效果是:
本系统通过实时监控公有云中各节点容器运行的状态,自动地对容器进行调度,使整个公有云中的容器能够稳定地运行,在调度过程中,通过资源使用率来选择被调度的节点,通过资源使用量来选择接收调度容器的节点,并依据凸优化来分配调度容器中的应用程序,使得能够更快更有效地找到分配方案执行,提高了调度效率,本系统还结合了公有云和私有云,能够根据用户的需求在公有云与私有云之间进行数据调度。
为使能更进一步了解本发明的特征及技术内容,请参阅以下有关本发明的详细说明与附图,然而所提供的附图仅用于提供参考与说明,并非用来对本发明加以限制。
附图说明
图1为本发明整体结构框架示意图;
图2为本发明公有云中节点、容器和应用程序的关系示意图;
图3为本发明结果池中放入应用程序的示意图;
图4为本发明第一目标节点中选择需调度的容器或容器内的应用程序的流程示意图;
图5为本发明公私转换的两种模式示意图。
具体实施方式
以下是通过特定的具体实施例来说明本发明的实施方式,本领域技术人员可由本说明书所公开的内容了解本发明的优点与效果。本发明可通过其他不同的具体实施例加以施行或应用,本说明书中的各项细节也可基于不同观点与应用,在不悖离本发明的精神下进行各种修饰与变更。另外,本发明的附图仅为简单示意说明,并非依实际尺寸的描绘,事先声明。以下的实施方式将进一步详细说明本发明的相关技术内容,但所公开的内容并非用以限制本发明的保护范围。
实施例一。
本实施例提供了一种基于凸优化的混合容器云调度系统,结合图1,包括容器监控模块、优化处理模块、调度模块和公私转换模块,所述容器监控模块用于监控容器在公有云中的运行状态,所述优化处理模块基于公有云中容器的运行状态处理得到优化方案,所述调度模块根据所述优化方案将容器在公有云中进行调动,所述公私转换模块用于处理用户提交的容器转换申请,并通过所述调度模块将容器在公有云和私有云中进行调动;
所述优化处理模块在公有云中选择出需要进行容器调度的第一目标节点和接收调度容器的第二目标节点,并基于凸优化的方式将调度容器中的应用程序在所述第二目标节点中进行分配,使得公有云处于稳定的运行状态;
所述优化处理模块在选择所述第一目标节点时通过计算节点的待调指数Adi:
其中,n为公有云中节点的数量,Sri为第i个节点的运行状态值;
当所述待调指数小于阈值时,对应的节点为第一目标节点;
其中,m为待选第二目标节点的数量,表示第i个待选第二目标节点的CPU总量值,表示第i个待选第二目标节点的内存总量值,表示第i个待选第二目标节点的剩余CPU总量值,表示第i个待选第二目标节点的剩余内存总量值,表示该待选第二目标节点分配到的所有应用程序的CPU使用量值,表示该待选第二目标节点分配到的所有应用程序的内存使用量值,U为应用程序与待选第二目标节点的匹配向量;
所述优化处理模块建立约束函数集:
公有云中节点的运行状态值的计算公式为:
公有云中的一个节点中含有多个容器,每个容器内运行有多个应用程序,所述优化处理模块在所述第一目标节点中选出一个容器或该容器中的部分应用程序进行调度;
所述优化处理模块计算出第一目标节点中第i个容器的调度优先度Pri:
所述优化处理模块选择调度优先度最大的容器作为调度对象;
所述公私转换模块接收的调度申请分为两类,一类是从公有云向私有云进行调度,在通过审核后由所述调度模块直接进行调度,另一类是私有云向公有云进行调度,在通过审核后,需要所述优化处理模块计算处理得到匹配向量U,再由所述调度模块进行调度。
实施例二。
本实施例包含了实施例一的全部内容,提供了一种基于凸优化的混合容器云调度系统,包括容器监控模块、优化处理模块、调度模块和公私转换模块,所述容器监控模块用于监控容器在公有云中的运行状态,所述优化处理模块基于公有云中容器的运行状态处理得到优化方案,所述调度模块根据所述优化方案将容器在公有云中进行调动,所述公私转换模块用于处理用户提交的容器转换申请,并通过所述调度模块将容器在公有云和私有云中进行调动;
结合图2,在公有云中设有多个节点,每个节点上装有多个容器,不同的容器能够提供不同的运行环境,每个容器上运行有多个应用程序,所述容器监控模块将采集每个应用程序在运行时所使用的CPU和内存资源数据,并将每个容器上使用的CPU和内存资源数据进行汇总,并将汇总数据发送给所述优化处理模块;
所述优化处理模块接收多个节点上发送的汇总数据后进行优化分析;
所述优化处理模块计算每个节点的运行状态值Sr:
所述优化处理模块将所有节点根据其运行状态值从高到低排序,并用Sri表示第i个节点的运行状态值,然后通过下式计算整个公有云中第i个节点的待调指数Adi:
其中,n为公有云中节点的数量;
当所述待调指数小于阈值时,对应节点中的容器或者容器中的应用程序需进行调度,将这些节点称为第一目标节点;
由上述公式的性质可知,当某个节点不需要调度,则排在其后面的节点也无需进行调度;
结合图3和图4,所述优化处理模块通过如下步骤来选择第一目标节点中需要调度的容器或容器中的应用程序;
S2、所述优化处理模块计算第i个容器的调度优先度Pri:
S3、选择调度优先度最大的容器;
S4、判断该容器是否需要整体调度,判断标准如下:
当同时满足上述两个不等式时,将对应的容器整体调度并结束该过程,否则跳至步骤S5;
S5、将步骤S3中选择的容器中的每个应用程序计算其使用综合值Zh:
S6、将所有应用程序根据综合值Zh从高到低排序,并设置一个结果池用于放置需要调度的应用程序;
S7、按序获取应用程序的使用数据,根据下述进行判断:
当同时满足这两个不等式时,将该应用程序放入结果池中;
S8、重复步骤S7,直至所有应用程序判断完毕;
S9、将结果池中的所有应用程序打包作为需要调度的整体;
所述优化处理模块在非第一目标节点中的所有节点中选择出合适的节点用于接收需要调度的容器或应用程序包,这些节点称为第二目标节点;
其中,m为待选第二目标节点的数量,表示第i个待选第二目标节点的CPU总量值,表示第i个待选第二目标节点的内存总量值,表示第i个待选第二目标节点的剩余CPU总量值,表示第i个待选第二目标节点的剩余内存总量值,表示该待选第二目标节点分配到的所有应用程序的CPU使用量值,表示该待选第二目标节点分配到的所有应用程序的内存使用量值,U为应用程序与待选第二目标节点的匹配向量;
所述优化处理模块建立约束函数集:
所述优化处理模块在满足约束函数集条件的前提下计算得到使目标函数最大的匹配向量U,匹配向量中分到到应用程序的待选第二目标节点节点称为正式的第二目标节点,所述优化处理模块将匹配向量U发送至所述调度模块,所述调度模块依据匹配向量对需要调度的容器或应用程序包中的应用程序进行调度;
结合图5,所述公私转换模块接收用户发送的调度申请,当所述调度申请是从公有云中调度数据至私有云时,在通过对用户的审核后,所述调度模块直接依据调度申请进行调度,当所述调度申请是从私有云调度数据至公有云时,在通过对用户的审核后,所述优化处理模块先根据需调度数据的CPU使用量和内存使用量选择合适的第二目标节点,所述调度模块再执行调度。
以上所公开的内容仅为本发明的优选可行实施例,并非因此局限本发明的保护范围,所以凡是运用本发明说明书及附图内容所做的等效技术变化,均包含于本发明的保护范围内,此外,随着技术发展其中的元素可以更新的。
Claims (3)
1.一种基于凸优化的混合容器云调度系统,其特征在于,包括容器监控模块、优化处理模块、调度模块和公私转换模块,所述容器监控模块用于监控容器在公有云中的运行状态,所述优化处理模块基于公有云中容器的运行状态处理得到优化方案,所述调度模块根据所述优化方案将容器在公有云中进行调动,所述公私转换模块用于处理用户提交的容器转换申请,并通过所述调度模块将容器在公有云和私有云中进行调动;
所述优化处理模块在公有云中选择出需要进行容器调度的第一目标节点和接收调度容器的第二目标节点,并基于凸优化的方式将调度容器中的应用程序在所述第二目标节点中进行分配,使得公有云处于稳定的运行状态;
所述优化处理模块在选择所述第一目标节点时通过计算节点的待调指数Adi:
其中,n为公有云中节点的数量,Sri为第i个节点的运行状态值,Srj为第j个节点的运行状态值;
当所述待调指数小于阈值时,对应的节点为第一目标节点;
其中,m为待选第二目标节点的数量,表示第k个待选第二目标节点的CPU总量值,表示第k个待选第二目标节点的内存总量值,表示第k个待选第二目标节点的剩余CPU总量值,表示第k个待选第二目标节点的剩余内存总量值,表示该待选第二目标节点分配到的所有应用程序的CPU使用量值,表示该待选第二目标节点分配到的所有应用程序的内存使用量值,U为应用程序与待选第二目标节点的匹配向量;
所述优化处理模块建立约束函数集:
其中,公有云中节点的运行状态值的计算公式为:
所述优化处理模块通过如下步骤来选择第一目标节点中需要调度的容器或容器中的应用程序;
S2、所述优化处理模块计算第t个容器的调度优先度Prt:
S3、选择调度优先度最大的容器;
S4、判断该容器是否需要整体调度,判断标准如下:
当同时满足上述两个不等式时,将对应的容器整体调度并结束该过程,否则跳至步骤S5;
S5、将步骤S3中选择的容器中的每个应用程序计算其使用综合值Zh:
S6、将所有应用程序根据综合值Zh从高到低排序,并设置一个结果池用于放置需要调度的应用程序;
S7、按序获取应用程序的使用数据,根据下述进行判断:
当同时满足这两个不等式时,将该应用程序放入结果池中;
S8、重复步骤S7,直至所有应用程序判断完毕;
S9、将结果池中的所有应用程序打包作为需要调度的整体。
2.如权利要求1所述的一种基于凸优化的混合容器云调度系统,其特征在于,公有云中的一个节点中含有多个容器,每个容器内运行有多个应用程序,所述优化处理模块在所述第一目标节点中选出一个容器或该容器中的部分应用程序进行调度。
3.如权利要求2所述的一种基于凸优化的混合容器云调度系统,其特征在于,所述公私转换模块接收的调度申请分为两类,一类是从公有云向私有云进行调度,在通过审核后由所述调度模块直接进行调度,另一类是私有云向公有云进行调度,在通过审核后,需要所述优化处理模块计算处理得到匹配向量U,再由所述调度模块进行调度。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210200963.0A CN114265704B (zh) | 2022-03-03 | 2022-03-03 | 一种基于凸优化的混合容器云调度系统 |
PCT/CN2022/100965 WO2023165056A1 (zh) | 2022-03-03 | 2022-06-24 | 一种基于凸优化的混合容器云调度系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210200963.0A CN114265704B (zh) | 2022-03-03 | 2022-03-03 | 一种基于凸优化的混合容器云调度系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114265704A CN114265704A (zh) | 2022-04-01 |
CN114265704B true CN114265704B (zh) | 2022-05-17 |
Family
ID=80833912
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210200963.0A Active CN114265704B (zh) | 2022-03-03 | 2022-03-03 | 一种基于凸优化的混合容器云调度系统 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN114265704B (zh) |
WO (1) | WO2023165056A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114265704B (zh) * | 2022-03-03 | 2022-05-17 | 环球数科集团有限公司 | 一种基于凸优化的混合容器云调度系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106506244A (zh) * | 2016-12-20 | 2017-03-15 | 郑州云海信息技术有限公司 | 一种混合云的统一监管装置 |
CN109639791A (zh) * | 2018-12-06 | 2019-04-16 | 广东石油化工学院 | 一种容器环境下云工作流调度方法及系统 |
CN109714400A (zh) * | 2018-12-12 | 2019-05-03 | 华南理工大学 | 一种面向容器集群的能耗优化资源调度系统及其方法 |
CN111190688A (zh) * | 2019-12-19 | 2020-05-22 | 西安交通大学 | 一种面向云数据中心的Docker迁移方法及系统 |
WO2021095943A1 (ko) * | 2019-11-15 | 2021-05-20 | 대구대학교 산학협력단 | 서비스 프로파일을 고려한 컨테이너의 배치 방법 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9800465B2 (en) * | 2014-11-14 | 2017-10-24 | International Business Machines Corporation | Application placement through multiple allocation domain agents and flexible cloud scheduler framework |
CN106506655B (zh) * | 2016-11-18 | 2019-04-26 | 国云科技股份有限公司 | 一种适用于云平台的容器组调度方法 |
CN107317836A (zh) * | 2017-05-16 | 2017-11-03 | 北京交通大学 | 一种混合云环境下时间可感知的请求调度方法 |
US10613961B2 (en) * | 2018-02-05 | 2020-04-07 | Red Hat, Inc. | Baselining for compute resource allocation |
CN114265704B (zh) * | 2022-03-03 | 2022-05-17 | 环球数科集团有限公司 | 一种基于凸优化的混合容器云调度系统 |
-
2022
- 2022-03-03 CN CN202210200963.0A patent/CN114265704B/zh active Active
- 2022-06-24 WO PCT/CN2022/100965 patent/WO2023165056A1/zh unknown
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106506244A (zh) * | 2016-12-20 | 2017-03-15 | 郑州云海信息技术有限公司 | 一种混合云的统一监管装置 |
CN109639791A (zh) * | 2018-12-06 | 2019-04-16 | 广东石油化工学院 | 一种容器环境下云工作流调度方法及系统 |
CN109714400A (zh) * | 2018-12-12 | 2019-05-03 | 华南理工大学 | 一种面向容器集群的能耗优化资源调度系统及其方法 |
WO2021095943A1 (ko) * | 2019-11-15 | 2021-05-20 | 대구대학교 산학협력단 | 서비스 프로파일을 고려한 컨테이너의 배치 방법 |
CN111190688A (zh) * | 2019-12-19 | 2020-05-22 | 西安交通大学 | 一种面向云数据中心的Docker迁移方法及系统 |
Non-Patent Citations (1)
Title |
---|
基于模拟退火算法的粒子群优化算法在容器调度中的应用;刘哲源等;《计算机测量与控制》;20211231;第29卷(第12期);第177-183页 * |
Also Published As
Publication number | Publication date |
---|---|
WO2023165056A1 (zh) | 2023-09-07 |
CN114265704A (zh) | 2022-04-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Arabnejad et al. | A budget constrained scheduling algorithm for workflow applications | |
Regnier et al. | Run: Optimal multiprocessor real-time scheduling via reduction to uniprocessor | |
Carpenter et al. | A Categorization of Real-Time Multiprocessor Scheduling Problems and Algorithms. | |
Shi et al. | Scheduling workflow applications on processors with different capabilities | |
Ansell et al. | Whittle's index policy for a multi-class queueing system with convex holding costs | |
JP4185103B2 (ja) | 実行可能プログラムをスケジューリングするためのシステム及び方法 | |
US20140059054A1 (en) | Parallel generation of topics from documents | |
Rizvi et al. | Cost and makespan aware workflow scheduling in IaaS clouds using hybrid spider monkey optimization | |
Kruatrachue | Static task scheduling and grain packing in parallel processing systems | |
CN103699446A (zh) | 基于量子粒子群优化算法的多目标工作流动态调度方法 | |
CN114265704B (zh) | 一种基于凸优化的混合容器云调度系统 | |
Arabnejad et al. | Multi-QoS constrained and profit-aware scheduling approach for concurrent workflows on heterogeneous systems | |
CN104793993B (zh) | 基于Levy飞行的人工蜂群粒子群算法的云计算任务调度方法 | |
CN108427602B (zh) | 一种分布式计算任务的协同调度方法及装置 | |
Williams et al. | Flow decomposition with subpath constraints | |
CN109684088A (zh) | 云平台资源约束的遥感大数据快速处理任务调度方法 | |
Moulik et al. | COST: A cluster-oriented scheduling technique for heterogeneous multi-cores | |
CN102184124B (zh) | 任务调度方法及系统 | |
Abrishami et al. | Scheduling in hybrid cloud to maintain data privacy | |
Bai et al. | LPOD: A local path based optimized scheduling algorithm for deadline-constrained big data workflows in the cloud | |
Wu et al. | Latency modeling and minimization for large-scale scientific workflows in distributed network environments | |
Perotin et al. | Risk-aware scheduling algorithms for variable capacity resources | |
Kaur et al. | Genetic algorithm solution for scheduling jobs in multiprocessor environment | |
CN107589985B (zh) | 一种面向大数据平台的两阶段作业调度方法及系统 | |
Sun et al. | Dynamic task flow scheduling for heterogeneous distributed computing: algorithm and strategy |
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 |