CN108287748A - 一种虚拟机与容器并行调度方法 - Google Patents
一种虚拟机与容器并行调度方法 Download PDFInfo
- Publication number
- CN108287748A CN108287748A CN201711016508.0A CN201711016508A CN108287748A CN 108287748 A CN108287748 A CN 108287748A CN 201711016508 A CN201711016508 A CN 201711016508A CN 108287748 A CN108287748 A CN 108287748A
- Authority
- CN
- China
- Prior art keywords
- cpu
- virtual machine
- container
- binding
- physical node
- 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
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
- 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- 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/45562—Creating, deleting, cloning virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明涉及云计算技术领域,特别是指一种虚拟机与容器并行调度方法。本发明所述的方法是设定虚拟机与容器的CPU占用比例和弹性策略;并监视其CPU利用情况;当触发设定的策略时,对虚拟机或容器的CPU比例进行调整。本发明方法提高了计算资源利用率、安全性和容器的计算性能;可以用于虚拟机与容器的计算资源管理。
Description
技术领域
本发明涉及云计算技术领域,特别是指一种虚拟机与容器并行调度方法。
背景技术
随着云计算技术的发展,以Docker(一个开源的应用容器引擎)为代表的容器技术一度被认为是虚拟化技术的替代品,然而这两种技术之间并不是不可调和的。随着容器技术的逐渐成熟,容器和虚拟机并存已经成为一种必然。而由于容器本身隔离性问题,很多公有云厂家目前是将容器创建在虚拟机里面的,用于隔绝对其他虚拟机造成影响,这些方式存在以下弊端:
(1)比较呆板,公有云将容器创建在虚拟机上的方式,缺乏调度,只是单纯的为用户提供容器服务,无法有效提高物理资源利用率。
(2)性能较差,容器创建在虚拟机上,然后虚拟机在创建在物理节点上,性能上削弱了一层。
为解决以上问题,需要有一种虚拟机与容器安全并行调度策略,让用户既能安全的同时使用虚拟机与容器,又能提高物理资源利用率的解决方案。
发明内容
本发明解决的技术问题在于提供一种虚拟机与容器并行调度方法,解决传统方法存在的不足,为用户提供一种既能安全的同时使用虚拟机与容器,又能提高物理资源利用率的解决方案。
本发明解决上述技术问题的技术方案是:
所述的方法是设定虚拟机与容器的CPU占用比例和弹性策略;并监视其CPU利用情况;当触发设定的策略时,对虚拟机或容器的CPU比例进行调整。
所述的方法包括如下步骤:
步骤1:初始化虚拟机与容器占用物理节点CPU比例;
步骤2:按照比例将创建的虚拟机及已经运行的虚拟机运行在绑定CPU集合上,同时将容器绑定在剩下的CPU集合上;
步骤3:监视虚拟机所运行的CPU集合平均利用率,设置弹性策略;
步骤4:当虚拟机绑定的CPU集合平均利用率大于设置最大参数时,停止部分容器,缩小容器绑定的CPU集合,将空余的CPU资源纳入虚拟机绑定的CPU集合,同时调整虚拟机绑定新的CPU集合;
步骤5:当虚拟机绑定的CPU集合平均利用率小于设置最小参数时,调整虚拟机绑定的CPU集合,空余出CPU资源,并将空余出来的CPU资源纳入容器绑定的CPU集合,同时启动更多的容器任务。
所述的物理节点,是指用于创建容器及虚拟机的计算节点;
所述的CPU比例,是将每个物理节点包含的多个线程核按照一定的比例划分给虚拟机和容器;所述比例可以为1∶1。
所述的CPU集合,是物理节点上的线程核;物理节点上的每个线程核设有编号,48线程核的,在物理节点上是从0-47编号。
所述的虚拟机运行在绑定CPU集合上,即所有在这个物理节点上创建的虚拟机在使用CPU资源的时候,都只使用已经划分到虚拟机绑定的CPU集合上。
所述的CPU集合平均利用率,即每颗CPU的利用率相加除以CPU集合个数;
所述的弹性策略,是用于调整CPU集合的策略;当虚拟机绑定的CPU集合平均利用率大于设置最大参数时,停止部分容器,缩小容器绑定的CPU集合,将空余的CPU资源纳入虚拟机绑定的CPU集合,同时调整虚拟机绑定新的CPU集合;当虚拟机绑定的CPU集合平均利用率小于设置最小参数时,调整虚拟机绑定的CPU集合,空余出CPU资源,并将空余出来的CPU资源纳入容器绑定的CPU集合,同时启动更多的容器任务;
所述的最大参数,即设置弹性策略时,当CPU平均利用率大于某一数值时,需要作出调整的参数;
所述的最小参数,即设置弹性策略时,当CPU平均利用率小于某一数值时,需要作出调整的参数。
本发明方法提高了计算资源利用率,特别是针对虚拟机运行在线业务,容器运行离线业务的场景;将容器创建在物理机上,减少了容器作为虚拟机隔离的资源损耗。本发明方法安全性好,通过隔离虚拟机与容器对应CPU的方式,让虚拟机与容器能安全的运行在同一计算节点上。本发明方法提高了容器的计算性能,容器直接创建在物理机上的性能很明显大于容器创建在虚拟机上的性能。
附图说明
下面结合附图对本发明进一步说明:
图1为本发明的流程图;
图2为本发明实施框架图。
具体实施方式
为使本发现的目的、技术方案和优点更加清楚,下面将结合附图并以实际实施案例作进一步详细解说,如图1、2所示,具体实施过程如下:
本实施方案基于Linux操作系统,采用KVM虚拟化。
1、初始化虚拟机与容器占用物理节点CPU比例;
所述的物理节点,这里是指用于创建容器及虚拟机的计算节点。
所述的CPU比例,每个物理节点都包含多个线程核,这里是将多个线程核按照一定的比例划分给虚拟机和容器,比如物理节点有48个线程核,这里划分1:1比例,那虚拟机与容器各占24线程核。
调用设置比例方法setConfiguration,传递参数如下:
/*
*vmratio虚拟机比例
*containerratio容器比例
*/
2、按照比例将创建的虚拟机及已经运行的虚拟机运行在绑定CPU集合上,同时将容器绑定在剩下的CPU集合上;
所述的CPU集合,是物理节点上的线程核,一般物理节点上的每个线程核是有编号的,如48线程核的,在物理节点上是从0-47编号。
所述的虚拟机运行在绑定CPU集合上,即所有在这个物理节点上创建的虚拟机在使用CPU资源的时候,都只使用已经划分到虚拟机绑定的CPU集合上。
在Linux系统里面,无论是虚拟机还是容器都以进程方式体现在系统里面,通过top命令就可以看出当前虚拟机及容器的进程编号。
可以通过taskset命令修改进程的“CPU亲和力”。
比如把CPU#1 #2 #3分配给PID为2345的虚拟机进程:
#taskset-cp 1,2,3 2345
3、监视虚拟机所运行的CPU集合平均利用率,设置弹性策略;
所述的CPU集合平均利用率,即每颗CPU的利用率相加除以CPU集合个数。
所述的弹性策略,是用于调整CPU集合的策略,比如当虚拟机绑定的CPU集合平均利用率大于设置最大参数时,停止部分容器,缩小容器绑定的CPU集合,将空余的CPU资源纳入虚拟机绑定的CPU集合,同时调整虚拟机绑定新的CPU集合;比如当虚拟机绑定的CPU集合平均利用率小于设置最小参数时,调整虚拟机绑定的CPU集合,空余出CPU资源,并将空余出来的CPU资源纳入容器绑定的CPU集合,同时启动更多的容器任务。
所述的最大参数,即设置弹性策略时,当CPU平均利用率大于某一数值时,需要作出调整的参数。
所述的最小参数,即设置弹性策略时,当CPU平均利用率小于某一数值时,需要作出调整的参数。
Claims (6)
1.一种虚拟机与容器并行调度方法,其特征在于:所述的方法是设定虚拟机与容器的CPU占用比例和弹性策略;并监视其CPU利用情况;当触发设定的策略时,对虚拟机或容器的CPU比例进行调整。
2.根据权利要求1所述的方法,其特征在于:所述的方法包括如下步骤:
步骤1:初始化虚拟机与容器占用物理节点CPU比例;
步骤2:按照比例将创建的虚拟机及已经运行的虚拟机运行在绑定CPU集合上,同时将容器绑定在剩下的CPU集合上;
步骤3:监视虚拟机所运行的CPU集合平均利用率,设置弹性策略;
步骤4:当虚拟机绑定的CPU集合平均利用率大于设置最大参数时,停止部分容器,缩小容器绑定的CPU集合,将空余的CPU资源纳入虚拟机绑定的CPU集合,同时调整虚拟机绑定新的CPU集合;
步骤5:当虚拟机绑定的CPU集合平均利用率小于设置最小参数时,调整虚拟机绑定的CPU集合,空余出CPU资源,并将空余出来的CPU资源纳入容器绑定的CPU集合,同时启动更多的容器任务。
3.根据权利要求2所述的方法,其特征在于:
所述的物理节点,是指用于创建容器及虚拟机的计算节点;
所述的CPU比例,是将每个物理节点包含的多个线程核按照一定的比例划分给虚拟机和容器;所述比例可以为1∶1。
4.根据权利要求2所述的方法,其特征在于:
所述的CPU集合,是物理节点上的线程核;物理节点上的每个线程核设有编号,48线程核的,在物理节点上是从0-47编号。
所述的虚拟机运行在绑定CPU集合上,即所有在这个物理节点上创建的虚拟机在使用CPU资源的时候,都只使用已经划分到虚拟机绑定的CPU集合上。
5.根据权利要求3所述的方法,其特征在于:
所述的CPU集合,是物理节点上的线程核;物理节点上的每个线程核设有编号,48线程核的,在物理节点上是从0-47编号。
所述的虚拟机运行在绑定CPU集合上,即所有在这个物理节点上创建的虚拟机在使用CPU资源的时候,都只使用已经划分到虚拟机绑定的CPU集合上。
6.根据权利要求2至5任一项所述的方法,其特征在于:
所述的CPU集合平均利用率,即每颗CPU的利用率相加除以CPU集合个数;
所述的弹性策略,是用于调整CPU集合的策略;当虚拟机绑定的CPU集合平均利用率大于设置最大参数时,停止部分容器,缩小容器绑定的CPU集合,将空余的CPU资源纳入虚拟机绑定的CPU集合,同时调整虚拟机绑定新的CPU集合;当虚拟机绑定的CPU集合平均利用率小于设置最小参数时,调整虚拟机绑定的CPU集合,空余出CPU资源,并将空余出来的CPU资源纳入容器绑定的CPU集合,同时启动更多的容器任务;
所述的最大参数,即设置弹性策略时,当CPU平均利用率大于某一数值时,需要作出调整的参数;
所述的最小参数,即设置弹性策略时,当CPU平均利用率小于某一数值时,需要作出调整的参数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711016508.0A CN108287748B (zh) | 2017-10-25 | 2017-10-25 | 一种虚拟机与容器并行调度方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711016508.0A CN108287748B (zh) | 2017-10-25 | 2017-10-25 | 一种虚拟机与容器并行调度方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108287748A true CN108287748A (zh) | 2018-07-17 |
CN108287748B CN108287748B (zh) | 2021-10-22 |
Family
ID=62831706
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711016508.0A Active CN108287748B (zh) | 2017-10-25 | 2017-10-25 | 一种虚拟机与容器并行调度方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108287748B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022001353A1 (zh) * | 2020-06-28 | 2022-01-06 | 华为技术有限公司 | 一种虚拟机和容器混合调度系统、方法、调度器及装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010056748A1 (en) * | 2008-11-11 | 2010-05-20 | Netapp, Inc. | Cloning virtual machines |
CN104881325A (zh) * | 2015-05-05 | 2015-09-02 | 中国联合网络通信集团有限公司 | 一种资源调度方法和资源调度系统 |
CN105635336A (zh) * | 2015-12-31 | 2016-06-01 | 北京轻元科技有限公司 | 一种动态自适应的混合云网络管理方法 |
US20160283261A1 (en) * | 2015-03-24 | 2016-09-29 | Fujitsu Limited | Information processing system, managing device, and computer readable medium |
CN106293945A (zh) * | 2016-08-11 | 2017-01-04 | 浪潮(北京)电子信息产业有限公司 | 一种跨虚拟机的资源感知方法及系统 |
CN107209682A (zh) * | 2014-12-05 | 2017-09-26 | 亚马逊技术有限公司 | 资源调整的自动管理 |
-
2017
- 2017-10-25 CN CN201711016508.0A patent/CN108287748B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010056748A1 (en) * | 2008-11-11 | 2010-05-20 | Netapp, Inc. | Cloning virtual machines |
CN107209682A (zh) * | 2014-12-05 | 2017-09-26 | 亚马逊技术有限公司 | 资源调整的自动管理 |
US20160283261A1 (en) * | 2015-03-24 | 2016-09-29 | Fujitsu Limited | Information processing system, managing device, and computer readable medium |
CN104881325A (zh) * | 2015-05-05 | 2015-09-02 | 中国联合网络通信集团有限公司 | 一种资源调度方法和资源调度系统 |
CN105635336A (zh) * | 2015-12-31 | 2016-06-01 | 北京轻元科技有限公司 | 一种动态自适应的混合云网络管理方法 |
CN106293945A (zh) * | 2016-08-11 | 2017-01-04 | 浪潮(北京)电子信息产业有限公司 | 一种跨虚拟机的资源感知方法及系统 |
Non-Patent Citations (1)
Title |
---|
沈雪晴,等;: "容器技术及其在OpenStack云平台的应用", 《电气应用》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022001353A1 (zh) * | 2020-06-28 | 2022-01-06 | 华为技术有限公司 | 一种虚拟机和容器混合调度系统、方法、调度器及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN108287748B (zh) | 2021-10-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11082298B2 (en) | Controller-based datacenter network bandwidth policy sharing | |
US9489222B2 (en) | Techniques for workload balancing among a plurality of physical machines | |
CN104079503B (zh) | 一种资源分配方法及装置 | |
CN111078363B (zh) | 一种虚拟机的numa节点调度方法、装置、设备及介质 | |
EP2725862A1 (en) | Resource allocation method and resource management platform | |
CN106445675B (zh) | 一种b2b平台分布式应用调度与资源分配方法 | |
US10630600B2 (en) | Adaptive network input-output control in virtual environments | |
US20160092257A1 (en) | Centralized controller for distributing network policies of virtual machines in a datacenter | |
CN107301093B (zh) | 一种管理资源的方法和装置 | |
CN104021040A (zh) | 基于时间约束条件下的云计算关联任务调度方法和装置 | |
US8352950B2 (en) | Algorithm to share physical processors to maximize processor cache usage and topologies | |
CN105893113A (zh) | 虚拟机的管理系统及管理方法 | |
CN107122233A (zh) | 一种面向tsn业务的多vcpu自适应实时调度方法 | |
CN108170517A (zh) | 一种容器分配方法、装置、服务器及介质 | |
WO2023221844A1 (zh) | 资源调度方法、设备及存储介质 | |
CN111767146A (zh) | 一种基于网络重配置的分布式机器学习系统加速方法 | |
CN109960591A (zh) | 一种面向租户资源侵占的云应用资源动态调度的方法 | |
CN105045667B (zh) | 一种用于虚拟机vCPU调度的资源池管理方法 | |
CN102609307A (zh) | 多核多线程双操作系统网络设备及其控制方法 | |
CN114968601A (zh) | 一种按比例预留资源的ai训练作业的调度方法和调度系统 | |
CN113672391B (zh) | 一种基于Kubernetes的并行计算任务调度方法与系统 | |
CN108279967A (zh) | 一种虚拟机与容器混合调度方法 | |
CN108287748A (zh) | 一种虚拟机与容器并行调度方法 | |
CN106775925B (zh) | 一种虚拟机cpu的限额处理方法和装置 | |
CN117369990A (zh) | 一种算力资源调度方法及装置、系统、设备、存储介质 |
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: 523808 19th floor, Cloud Computing Center, Chinese Academy of Sciences, No.1 Kehui Road, Songshanhu high tech Industrial Development Zone, Dongguan City, Guangdong Province Applicant after: G-CLOUD TECHNOLOGY Co.,Ltd. Address before: 523808 No. 14 Building, Songke Garden, Songshan Lake Science and Technology Industrial Park, Dongguan City, Guangdong Province Applicant before: G-CLOUD TECHNOLOGY Co.,Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |