WO2023165056A1 - 一种基于凸优化的混合容器云调度系统 - Google Patents

一种基于凸优化的混合容器云调度系统 Download PDF

Info

Publication number
WO2023165056A1
WO2023165056A1 PCT/CN2022/100965 CN2022100965W WO2023165056A1 WO 2023165056 A1 WO2023165056 A1 WO 2023165056A1 CN 2022100965 W CN2022100965 W CN 2022100965W WO 2023165056 A1 WO2023165056 A1 WO 2023165056A1
Authority
WO
WIPO (PCT)
Prior art keywords
container
scheduling
target node
indicates
node
Prior art date
Application number
PCT/CN2022/100965
Other languages
English (en)
French (fr)
Inventor
张卫平
丁烨
米小武
李显阔
Original Assignee
环球数科集团有限公司
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 环球数科集团有限公司 filed Critical 环球数科集团有限公司
Publication of WO2023165056A1 publication Critical patent/WO2023165056A1/zh

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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • 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
    • 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]

Definitions

  • the present disclosure relates to the field of container cloud, in particular to a hybrid container cloud scheduling system based on convex optimization.
  • a container is a lighter and more flexible virtualization processing method than a virtual machine. It packages everything needed by an application.
  • the container includes all codes, various dependencies and even the operating system, which makes the application
  • the program can run almost anywhere, so its birth solves an important problem: how to ensure the correct operation of the application program from one environment to another environment, the container running in the cloud is called the container cloud, because the container cloud A large amount of data is designed.
  • a scheduling system is needed to schedule the containers in different cloud nodes.
  • the purpose of the present invention is to propose a hybrid container cloud scheduling system based on convex optimization for the existing deficiencies.
  • the present invention adopts following technical scheme:
  • a hybrid container cloud scheduling system based on convex optimization including a container monitoring module, an optimization processing module, a scheduling module and a public-private conversion module, the container monitoring module is used to monitor the running status of the container in the public cloud, and the optimization processing module An optimization scheme is obtained based on the processing of the running state of the container in the public cloud, the scheduling module transfers the container in the public cloud according to the optimization scheme, and the public-private conversion module is used to process the container conversion application submitted by the user, and through the The scheduling module deploys containers in public clouds and private clouds;
  • the optimization processing module selects the first target node that needs to be scheduled for containers and the second target node that receives the scheduling container in the public cloud, and based on convex optimization, the application program in the scheduling container is placed on the second target node Allocate in the public cloud, so that the public cloud is in a stable running state;
  • the optimization processing module is by calculating the adjustable index Adi of the node when selecting the first target node:
  • n is the number of nodes in the public cloud
  • Sri is the running status value of the i-th node
  • the corresponding node is the first target node
  • the optimization processing module selects the second target node and distributes the application program, it establishes the target function :
  • m is the number of second target nodes to be selected, Indicates the total CPU value of the i-th candidate second target node, Indicates the total memory value of the i-th candidate second target node, Indicates the total remaining CPU value of the i-th candidate second target node, Indicates the total remaining memory value of the i-th candidate second target node, Indicates the CPU usage values of all applications assigned to the second target node to be selected, Indicates the memory usage values of all applications assigned to the second target node to be selected, U is the matching vector of the application program and the second target node to be selected;
  • the optimization processing module establishes a constraint function set:
  • the optimization processing module calculates and obtains the objective function under the premise of satisfying the constraint function set condition
  • the largest matching vector U, the candidate second target node allocated to the application program in the matching vector is the official second target node, and the scheduling module performs scheduling based on the matching vector U;
  • a node in the public cloud contains multiple containers, and each container runs multiple applications, and the optimization processing module selects a container or some applications in the container from the first target node The program is scheduled;
  • the optimization processing module calculates the scheduling priority Pri of the i-th container in the first target node:
  • the optimization processing module selects the container with the highest scheduling priority as the scheduling object
  • the scheduling applications received by the public-private conversion module are divided into two types, one is scheduling from the public cloud to the private cloud, and the scheduling module directly performs scheduling after passing the review, and the other is scheduling from the private cloud to the public cloud.
  • the cloud performs scheduling.
  • the optimization processing module needs to calculate and process to obtain the matching vector U, and then the scheduling module performs scheduling.
  • the system automatically schedules the containers by monitoring the running status of each node container in the public cloud in real time, so that the containers in the entire public cloud can run stably.
  • the scheduled nodes are selected based on the resource utilization rate.
  • the node that receives the scheduling container is selected based on resource usage, and the application program in the scheduling container is allocated according to convex optimization, so that the allocation plan can be found faster and more effectively, and the scheduling efficiency is improved.
  • This system also combines public cloud and Private cloud can perform data scheduling between public cloud and private cloud according to user's needs.
  • Fig. 1 is a schematic diagram of the overall structural framework of the present invention
  • Fig. 2 is a schematic diagram of the relationship between nodes, containers and applications in the public cloud of the present invention
  • Fig. 3 is the schematic diagram that puts into application program in the result pool of the present invention.
  • FIG. 4 is a schematic flow diagram of selecting a container to be scheduled or an application program in the container in the first target node of the present invention
  • Fig. 5 is a schematic diagram of two modes of public-private conversion in the present invention.
  • This embodiment provides a hybrid container cloud scheduling system based on convex optimization, combined with Figure 1, including a container monitoring module, an optimization processing module, a scheduling module and a public-private conversion module, the container monitoring module is used to monitor containers in the public cloud
  • the running state of the container in the public cloud is obtained by the optimization processing module based on the running state processing of the container in the public cloud.
  • the scheduling module transfers the container in the public cloud according to the optimization plan.
  • the public-private conversion module is used to process container conversion application, and deploy the container in the public cloud and private cloud through the scheduling module;
  • the optimization processing module selects the first target node that needs to be scheduled for containers and the second target node that receives the scheduling container in the public cloud, and based on convex optimization, the application program in the scheduling container is placed on the second target node Allocate in the public cloud, so that the public cloud is in a stable running state;
  • the optimization processing module is by calculating the adjustable index Adi of the node when selecting the first target node:
  • n is the number of nodes in the public cloud
  • Sri is the running status value of the i-th node
  • the corresponding node is the first target node
  • the optimization processing module selects the second target node and distributes the application program, it establishes the target function :
  • m is the number of second target nodes to be selected, Indicates the total CPU value of the i-th candidate second target node, Indicates the total memory value of the i-th candidate second target node, Indicates the total remaining CPU value of the i-th candidate second target node, Indicates the total remaining memory value of the i-th candidate second target node, Indicates the CPU usage values of all applications assigned to the second target node to be selected, Indicates the memory usage values of all applications assigned to the second target node to be selected, U is the matching vector of the application program and the second target node to be selected;
  • the optimization processing module establishes a constraint function set:
  • the optimization processing module calculates and obtains the objective function under the premise of satisfying the constraint function set condition
  • the largest matching vector U, the candidate second target node allocated to the application program in the matching vector is the official second target node, and the scheduling module performs scheduling based on the matching vector U;
  • the calculation formula for the running status value of a node in the public cloud is:
  • a node in the public cloud contains multiple containers, and each container runs multiple applications, and the optimization processing module selects a container or some applications in the container from the first target node for scheduling ;
  • the optimization processing module selects the container with the highest scheduling priority as the scheduling object
  • the scheduling application received by the public-private conversion module is divided into two categories, one is scheduling from the public cloud to the private cloud, which is directly scheduled by the scheduling module after passing the review, and the other is scheduling from the private cloud to the public cloud , after passing the review, the optimization processing module needs to calculate and process to obtain the matching vector U, and then the scheduling module performs scheduling.
  • This embodiment includes all the content of Embodiment 1, and provides a hybrid container cloud scheduling system based on convex optimization, including a container monitoring module, an optimization processing module, a scheduling module, and a public-private conversion module.
  • the container monitoring module is used to monitor The running state of the container in the public cloud
  • the optimization processing module obtains an optimization scheme based on the running state processing of the container in the public cloud
  • the scheduling module transfers the container in the public cloud according to the optimization scheme
  • the public-private conversion module It is used to process the container conversion application submitted by the user, and transfer the container in the public cloud and the private cloud through the scheduling module;
  • the container monitoring module will Collect CPU and memory resource data used by each application program during operation, summarize the CPU and memory resource data used on each container, and send the summarized data to the optimization processing module;
  • the optimization processing module performs optimization analysis after receiving the summary data sent by multiple nodes
  • the optimization processing module calculates the running state value Sr of each node:
  • the optimization processing module sorts all nodes according to their running status values from high to low, and uses Indicates the operating status value of the i-th node, and then calculates the adjustment index Adi of the i-th node in the entire public cloud by the following formula:
  • n is the number of nodes in the public cloud
  • the container in the corresponding node or the application program in the container needs to be scheduled, and these nodes are called the first target node;
  • the optimization processing module selects the container or the application in the container that needs to be scheduled in the first target node through the following steps;
  • the optimization processing module calculates the scheduling priority Pri of the i-th container:
  • Step S7 is repeated until all application programs are judged;
  • the optimization processing module selects a suitable node from all nodes other than the first target node to receive the container or application package that needs to be scheduled, and these nodes are called the second target node;
  • the optimization processing module adopts a convex optimization method to select, and assigns each application program in the container or application package to be scheduled to one of the second target nodes, and the optimization process
  • the module builds the objective function :
  • m is the number of second target nodes to be selected, Indicates the total CPU value of the i-th candidate second target node, Indicates the total memory value of the i-th candidate second target node, Indicates the total remaining CPU value of the i-th candidate second target node, Indicates the total remaining memory value of the i-th candidate second target node, Indicates the CPU usage values of all applications assigned to the second target node to be selected, Indicates the memory usage values of all applications assigned to the second target node to be selected, U is the matching vector of the application program and the second target node to be selected;
  • the optimization processing module establishes a constraint function set:
  • the optimization processing module calculates and obtains the matching vector U that maximizes the objective function under the premise of satisfying the condition of the constraint function set, and the candidate second objective node assigned to the application program in the matching vector is called the formal second objective node.
  • the optimization processing module sends the matching vector U to the scheduling module, and the scheduling module schedules the container or application program in the application package that needs to be scheduled according to the matching vector;
  • the public-private conversion module receives the scheduling application sent by the user.
  • the scheduling module When the scheduling application is to schedule data from the public cloud to the private cloud, after passing the user's review, the scheduling module directly performs the scheduling application according to the scheduling application.
  • Scheduling when the scheduling application is to schedule data from the private cloud to the public cloud, after passing the review of the user, the optimization processing module first selects an appropriate second target according to the CPU usage and memory usage of the scheduling data node, the scheduling module executes scheduling again.

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

本发明提供了一种基于凸优化的混合容器云调度系统,包括容器监控模块、优化处理模块、调度模块和公私转换模块,所述容器监控模块用于监控容器在公有云中的运行状态,所述优化处理模块基于公有云中容器的运行状态处理得到优化方案,所述调度模块根据所述优化方案将容器在公有云中进行调动,所述公私转换模块用于处理用户提交的容器转换申请,并通过所述调度模块将容器在公有云和私有云中进行调动。本系统能够对公有云中的容器进行动态调度,保障公有云的稳定性,在调度过程中,采用了凸优化的方式,能够更快地找到合适的调度方案。

Description

一种基于凸优化的混合容器云调度系统 技术领域
本公开涉及容器云领域,具体涉及一种基于凸优化的混合容器云调度系统。
背景技术
容器是一种相比于虚拟机更轻量级,更灵活的虚拟化处理方式,它将一个应用程序所需的一切打包在一起,容器包括所有代码,各种依赖甚至操作系统,这让应用程序几乎在任何地方都可以运行,因此它的诞生,解决了一个重要问题:如何确保应用程序从一个环境移动到另一个环境的正确运行,在云中运行的容器称为容器云,由于容器云设计了大量的数据,为了保证容器云的稳定运行,需要一种调度系统将容器在不同的云节点中进行调度,
现在已经开发出了很多容器调度系统,经过我们大量的检索与参考,发现现有的授权系统有如公开号为KR101784681B1,KR101807806B1、CN106506655B和KR100443450B1所公开的系统,通过创建一个容器镜像,用于创建容器组;容器组是以同一个镜像创建的容器集合;然后按照调度、拓展策略,由调度器进行调度、拓展。但该系统在具体进行调度的时候无法快速有效的找到最佳的调度方案,从而影响了调度效率。
技术解决方案
本发明的目的在于,针对所存在的不足,提出了一种基于凸优化的混合容器云调度系统,
本发明采用如下技术方案:
一种基于凸优化的混合容器云调度系统,包括容器监控模块、优化处理模块、调度模块和公私转换模块,所述容器监控模块用于监控容器在公有云中的运行状态,所述优化处理模块基于公有云中容器的运行状态处理得到优化方案,所述调度模块根据所述优化方案将容器在公有云中进行调动,所述公私转换模块用于处理用户提交的容器转换申请,并通过所述调度模块将容器在公有云和私有云中进行调动;
所述优化处理模块在公有云中选择出需要进行容器调度的第一目标节点和接收调度容器的第二目标节点,并基于凸优化的方式将调度容器中的应用程序在所述第二目标节点中进行分配,使得公有云处于稳定的运行状态;
所述优化处理模块在选择所述第一目标节点时通过计算节点的待调指数Adi:
其中,n为公有云中节点的数量,Sri为第i个节点的运行状态值;
当所述待调指数小于阈值时,对应的节点为第一目标节点;
所述优化处理模块在选择第二目标节点并分配应用程序时,建立目标函数
其中,m为待选第二目标节点的数量, 表示第i个待选第二目标节点的CPU总量值, 表示第i个待选第二目标节点的内存总量值, 表示第i个待选第二目标节点的剩余CPU总量值, 表示第i个待选第二目标节点的剩余内存总量值, 表示该待选第二目标节点分配到的所有应用程序的CPU使用量值, 表示该待选第二目标节点分配到的所有应用程序的内存使用量值,U为应用程序与待选第二目标节点的匹配向量;
所述优化处理模块建立约束函数集:
所述优化处理模块在满足约束函数集条件的前提下计算得到使目标函数 最大的匹配向量U,匹配向量中分配到应用程序的待选第二目标节点节点为正式的第二目标节点,所述调度模块基于匹配向量U进行调度;
进一步的,公有云中节点的运行状态值的计算公式为:
其中, 表示该节点中的CPU使用率, 表示该节点中的内存使用率;
进一步的,公有云中的一个节点中含有多个容器,每个容器内运行有多个应用程序,所述优化处理模块在所述第一目标节点中选出一个容器或该容器中的部分应用程序进行调度;
进一步的,所述优化处理模块计算出第一目标节点中第i个容器的调度优先度Pri:
其中, 为第i个容器在该第一目标节点中的CPU使用率, 为第i个容器在该第一目标节点中的内存使用率;
所述优化处理模块选择调度优先度最大的容器作为调度对象;
进一步的,所述公私转换模块接收的调度申请分为两类,一类是从公有云向私有云进行调度,在通过审核后由所述调度模块直接进行调度,另一类是私有云向公有云进行调度,在通过审核后,需要所述优化处理模块计算处理得到匹配向量U,再由所述调度模块进行调度。
有益效果
本系统通过实时监控公有云中各节点容器运行的状态,自动地对容器进行调度,使整个公有云中的容器能够稳定地运行,在调度过程中,通过资源使用率来选择被调度的节点,通过资源使用量来选择接收调度容器的节点,并依据凸优化来分配调度容器中的应用程序,使得能够更快更有效地找到分配方案执行,提高了调度效率,本系统还结合了公有云和私有云,能够根据用户的需求在公有云与私有云之间进行数据调度。
为使能更进一步了解本发明的特征及技术内容,请参阅以下有关本发明的详细说明与附图,然而所提供的附图仅用于提供参考与说明,并非用来对本发明加以限制。
附图说明
图1为本发明整体结构框架示意图;
图2为本发明公有云中节点、容器和应用程序的关系示意图;
图3为本发明结果池中放入应用程序的示意图;
图4为本发明第一目标节点中选择需调度的容器或容器内的应用程序的流程示意图;
图5为本发明公私转换的两种模式示意图。
本发明的实施方式
以下是通过特定的具体实施例来说明本发明的实施方式,本领域技术人员可由本说明书所公开的内容了解本发明的优点与效果。本发明可通过其他不同的具体实施例加以施行或应用,本说明书中的各项细节也可基于不同观点与应用,在不悖离本发明的精神下进行各种修饰与变更。另外,本发明的附图仅为简单示意说明,并非依实际尺寸的描绘,事先声明。以下的实施方式将进一步详细说明本发明的相关技术内容,但所公开的内容并非用以限制本发明的保护范围。
实施例一。
本实施例提供了一种基于凸优化的混合容器云调度系统,结合图1,包括容器监控模块、优化处理模块、调度模块和公私转换模块,所述容器监控模块用于监控容器在公有云中的运行状态,所述优化处理模块基于公有云中容器的运行状态处理得到优化方案,所述调度模块根据所述优化方案将容器在公有云中进行调动,所述公私转换模块用于处理用户提交的容器转换申请,并通过所述调度模块将容器在公有云和私有云中进行调动;
所述优化处理模块在公有云中选择出需要进行容器调度的第一目标节点和接收调度容器的第二目标节点,并基于凸优化的方式将调度容器中的应用程序在所述第二目标节点中进行分配,使得公有云处于稳定的运行状态;
所述优化处理模块在选择所述第一目标节点时通过计算节点的待调指数Adi:
其中,n为公有云中节点的数量,Sri为第i个节点的运行状态值;
当所述待调指数小于阈值时,对应的节点为第一目标节点;
所述优化处理模块在选择第二目标节点并分配应用程序时,建立目标函数
其中,m为待选第二目标节点的数量, 表示第i个待选第二目标节点的CPU总量值, 表示第i个待选第二目标节点的内存总量值, 表示第i个待选第二目标节点的剩余CPU总量值, 表示第i个待选第二目标节点的剩余内存总量值, 表示该待选第二目标节点分配到的所有应用程序的CPU使用量值, 表示该待选第二目标节点分配到的所有应用程序的内存使用量值,U为应用程序与待选第二目标节点的匹配向量;
所述优化处理模块建立约束函数集:
所述优化处理模块在满足约束函数集条件的前提下计算得到使目标函数 最大的匹配向量U,匹配向量中分配到应用程序的待选第二目标节点节点为正式的第二目标节点,所述调度模块基于匹配向量U进行调度;
公有云中节点的运行状态值的计算公式为:
其中, 表示该节点中的CPU使用率, 表示该节点中的内存使用率;
公有云中的一个节点中含有多个容器,每个容器内运行有多个应用程序,所述优化处理模块在所述第一目标节点中选出一个容器或该容器中的部分应用程序进行调度;
所述优化处理模块计算出第一目标节点中第i个容器的调度优先度Pri:
其中, 为第i个容器在该第一目标节点中的CPU使用率, 为第i个容器在该第一目标节点中的内存使用率;
所述优化处理模块选择调度优先度最大的容器作为调度对象;
所述公私转换模块接收的调度申请分为两类,一类是从公有云向私有云进行调度,在通过审核后由所述调度模块直接进行调度,另一类是私有云向公有云进行调度,在通过审核后,需要所述优化处理模块计算处理得到匹配向量U,再由所述调度模块进行调度。
实施例二。
本实施例包含了实施例一的全部内容,提供了一种基于凸优化的混合容器云调度系统,包括容器监控模块、优化处理模块、调度模块和公私转换模块,所述容器监控模块用于监控容器在公有云中的运行状态,所述优化处理模块基于公有云中容器的运行状态处理得到优化方案,所述调度模块根据所述优化方案将容器在公有云中进行调动,所述公私转换模块用于处理用户提交的容器转换申请,并通过所述调度模块将容器在公有云和私有云中进行调动;
结合图2,在公有云中设有多个节点,每个节点上装有多个容器,不同的容器能够提供不同的运行环境,每个容器上运行有多个应用程序,所述容器监控模块将采集每个应用程序在运行时所使用的CPU和内存资源数据,并将每个容器上使用的CPU和内存资源数据进行汇总,并将汇总数据发送给所述优化处理模块;
所述优化处理模块接收多个节点上发送的汇总数据后进行优化分析;
所述优化处理模块计算每个节点的运行状态值Sr:
其中, 表示该节点中的CPU使用率, 表示该节点中的内存使用率;
所述优化处理模块将所有节点根据其运行状态值从高到低排序,并用 表示第i个节点的运行状态值,然后通过下式计算整个公有云中第i个节点的待调指数Adi:
其中,n为公有云中节点的数量;
当所述待调指数小于阈值时,对应节点中的容器或者容器中的应用程序需进行调度,将这些节点称为第一目标节点;
由上述公式的性质可知,当某个节点不需要调度,则排在其后面的节点也无需进行调度;
结合图3和图4,所述优化处理模块通过如下步骤来选择第一目标节点中需要调度的容器或容器中的应用程序;
S1、将所述第一目标节点中以容器为单位统计其CPU的使用率和内存的使用率,并用 表示第i个容器的该节点中的CPU使用率,用 表示第i个容器的内存使用率;
S2、所述优化处理模块计算第i个容器的调度优先度Pri:
S3、选择调度优先度最大的容器;
S4、判断该容器是否需要整体调度,判断标准如下:
其中, 为比例系数;
当同时满足上述两个不等式时,将对应的容器整体调度并结束该过程,否则跳至步骤S5;
S5、将步骤S3中选择的容器中的每个应用程序计算其使用综合值Zh:
其中, 表示对应的应用程序的CPU使用率, 表示对应的应用程序的内存使用率;
S6、将所有应用程序根据综合值Zh从高到低排序,并设置一个结果池用于放置需要调度的应用程序;
S7、按序获取应用程序的使用数据,根据下述进行判断:
其中, 表示结果池中所有应用程序的CPU使用率总和, 表示结果池中所有应用程序的内存使用率总和;
当同时满足这两个不等式时,将该应用程序放入结果池中;
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为应用程序与待选第二目标节点的匹配向量;
    所述优化处理模块建立约束函数集:
    所述优化处理模块在满足约束函数集条件的前提下计算得到使目标函数 最大的匹配向量U,匹配向量中分配到应用程序的待选第二目标节点为正式的第二目标节点,所述调度模块基于匹配向量U进行调度;
    其中,公有云中节点的运行状态值的计算公式为:
    其中, 表示该节点中的CPU使用率, 表示该节点中的内存使用率;
    所述优化处理模块通过如下步骤来选择第一目标节点中需要调度的容器或容器中的应用程序;
    S1、将所述第一目标节点中以容器为单位统计其CPU的使用率和内存的使用率,并用 表示第t个容器的该节点中的CPU使用率,用 表示第t个容器的内存使用率;
    S2、所述优化处理模块计算第t个容器的调度优先度Prt:
    S3、选择调度优先度最大的容器;
    S4、判断该容器是否需要整体调度,判断标准如下:
    其中, 为比例系数;
    当同时满足上述两个不等式时,将对应的容器整体调度并结束该过程,否则跳至步骤S5;
    S5、将步骤S3中选择的容器中的每个应用程序计算其使用综合值Zh:
    其中, 表示对应的应用程序的CPU使用率, 表示对应的应用程序的内存使用率;
    S6、将所有应用程序根据综合值Zh从高到低排序,并设置一个结果池用于放置需要调度的应用程序;
    S7、按序获取应用程序的使用数据,根据下述进行判断:
    其中, 表示结果池中所有应用程序的CPU使用率总和, 表示结果池中所有应用程序的内存使用率总和;
    当同时满足这两个不等式时,将该应用程序放入结果池中;
    S8、重复步骤S7,直至所有应用程序判断完毕;
    S9、将结果池中的所有应用程序打包作为需要调度的整体。
  2. 如权利要求1所述的一种基于凸优化的混合容器云调度系统,其特征在于,公有云中的一个节点中含有多个容器,每个容器内运行有多个应用程序,所述优化处理模块在所述第一目标节点中选出一个容器或该容器中的部分应用程序进行调度。
  3. 如权利要求2所述的一种基于凸优化的混合容器云调度系统,其特征在于,所述公私转换模块接收的调度申请分为两类,一类是从公有云向私有云进行调度,在通过审核后由所述调度模块直接进行调度,另一类是私有云向公有云进行调度,在通过审核后,需要所述优化处理模块计算处理得到匹配向量U,再由所述调度模块进行调度。
PCT/CN2022/100965 2022-03-03 2022-06-24 一种基于凸优化的混合容器云调度系统 WO2023165056A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202210200963.0 2022-03-03
CN202210200963.0A CN114265704B (zh) 2022-03-03 2022-03-03 一种基于凸优化的混合容器云调度系统

Publications (1)

Publication Number Publication Date
WO2023165056A1 true WO2023165056A1 (zh) 2023-09-07

Family

ID=80833912

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2022/100965 WO2023165056A1 (zh) 2022-03-03 2022-06-24 一种基于凸优化的混合容器云调度系统

Country Status (2)

Country Link
CN (1) CN114265704B (zh)
WO (1) WO2023165056A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114265704B (zh) * 2022-03-03 2022-05-17 环球数科集团有限公司 一种基于凸优化的混合容器云调度系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160142253A1 (en) * 2014-11-14 2016-05-19 International Business Machines Corporation Application placement through multiple allocation domain agents and flexible cloud scheduler framework
CN106506655A (zh) * 2016-11-18 2017-03-15 国云科技股份有限公司 一种适用于云平台的容器组调度方法
CN106506244A (zh) * 2016-12-20 2017-03-15 郑州云海信息技术有限公司 一种混合云的统一监管装置
CN107317836A (zh) * 2017-05-16 2017-11-03 北京交通大学 一种混合云环境下时间可感知的请求调度方法
CN111190688A (zh) * 2019-12-19 2020-05-22 西安交通大学 一种面向云数据中心的Docker迁移方法及系统
CN114265704A (zh) * 2022-03-03 2022-04-01 环球数科集团有限公司 一种基于凸优化的混合容器云调度系统

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10613961B2 (en) * 2018-02-05 2020-04-07 Red Hat, Inc. Baselining for compute resource allocation
CN109639791A (zh) * 2018-12-06 2019-04-16 广东石油化工学院 一种容器环境下云工作流调度方法及系统
CN109714400B (zh) * 2018-12-12 2020-09-22 华南理工大学 一种面向容器集群的能耗优化资源调度系统及其方法
WO2021095943A1 (ko) * 2019-11-15 2021-05-20 대구대학교 산학협력단 서비스 프로파일을 고려한 컨테이너의 배치 방법

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160142253A1 (en) * 2014-11-14 2016-05-19 International Business Machines Corporation Application placement through multiple allocation domain agents and flexible cloud scheduler framework
CN106506655A (zh) * 2016-11-18 2017-03-15 国云科技股份有限公司 一种适用于云平台的容器组调度方法
CN106506244A (zh) * 2016-12-20 2017-03-15 郑州云海信息技术有限公司 一种混合云的统一监管装置
CN107317836A (zh) * 2017-05-16 2017-11-03 北京交通大学 一种混合云环境下时间可感知的请求调度方法
CN111190688A (zh) * 2019-12-19 2020-05-22 西安交通大学 一种面向云数据中心的Docker迁移方法及系统
CN114265704A (zh) * 2022-03-03 2022-04-01 环球数科集团有限公司 一种基于凸优化的混合容器云调度系统

Also Published As

Publication number Publication date
CN114265704A (zh) 2022-04-01
CN114265704B (zh) 2022-05-17

Similar Documents

Publication Publication Date Title
CN105718479B (zh) 跨idc大数据处理架构下执行策略生成方法、装置
CN107038069B (zh) Hadoop平台下动态标签匹配DLMS调度方法
US8812639B2 (en) Job managing device, job managing method and job managing program
CN103605567B (zh) 面向实时性需求变化的云计算任务调度方法
US8881168B2 (en) Scheduling a parallel job in a system of virtual containers
CN109582448B (zh) 一种面向关键度和时效性的边缘计算任务调度方法
WO2017045211A1 (zh) 一种多服务质量约束的云计算任务调度方法
CN103699446A (zh) 基于量子粒子群优化算法的多目标工作流动态调度方法
CN104536804A (zh) 面向关联任务请求的虚拟资源调度系统及调度和分配方法
CN103401939A (zh) 一种采用混合调度策略的负载均衡方法
CN105373426B (zh) 一种基于Hadoop的车联网内存感知实时作业调度方法
CN103297499A (zh) 一种基于云平台的调度方法及系统
Singh et al. Run-time mapping of multiple communicating tasks on MPSoC platforms
Yang et al. Balancing job performance with system performance via locality-aware scheduling on torus-connected systems
CN104881322A (zh) 一种基于装箱模型的集群资源调度方法及装置
CN106095582A (zh) 云平台的任务执行方法
WO2023165056A1 (zh) 一种基于凸优化的混合容器云调度系统
Raj et al. Effective cost mechanism for cloudlet retransmission and prioritized VM scheduling mechanism over broker virtual machine communication framework
CN108427602A (zh) 一种分布式计算任务的协同调度方法及装置
CN106095581A (zh) 一种私有云条件下的网络存储虚拟化调度方法
CN117349026B (zh) 一种用于aigc模型训练的分布式算力调度系统
CN102184124B (zh) 任务调度方法及系统
CN111782627B (zh) 面向广域高性能计算环境的任务与数据协同调度方法
Abba et al. Deadline based performance evaluation of job scheduling algorithms
CN108304253A (zh) 基于缓存感知和数据本地性的map任务调度方法

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22929491

Country of ref document: EP

Kind code of ref document: A1