CN108287748B - 一种虚拟机与容器并行调度方法 - Google Patents
一种虚拟机与容器并行调度方法 Download PDFInfo
- Publication number
- CN108287748B CN108287748B CN201711016508.0A CN201711016508A CN108287748B CN 108287748 B CN108287748 B CN 108287748B CN 201711016508 A CN201711016508 A CN 201711016508A CN 108287748 B CN108287748 B CN 108287748B
- Authority
- CN
- China
- Prior art keywords
- cpu
- virtual machine
- container
- bound
- 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.)
- 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
- 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 (5)
1.一种虚拟机与容器并行调度方法,其特征在于:所述的方法是设定虚拟机与容器的CPU占用比例和弹性策略;并监视其CPU利用情况;当触发设定的策略时,对虚拟机或容器的CPU比例进行调整;
所述的方法包括如下步骤:
步骤1:初始化虚拟机与容器占用物理节点CPU比例;
步骤2:按照比例将创建的虚拟机及已经运行的虚拟机运行在绑定CPU集合上,同时将容器绑定在剩下的CPU集合上;
步骤3:监视虚拟机所运行的CPU集合平均利用率,设置弹性策略;
步骤4:当虚拟机绑定的CPU集合平均利用率大于设置最大参数时,停止部分容器,缩小容器绑定的CPU集合,将空余的CPU资源纳入虚拟机绑定的CPU集合,同时调整虚拟机绑定新的CPU集合;
步骤5:当虚拟机绑定的CPU集合平均利用率小于设置最小参数时,调整虚拟机绑定的CPU集合,空余出CPU资源,并将空余出来的CPU资源纳入容器绑定的CPU集合,同时启动更多的容器任务。
2.根据权利要求1所述的方法,其特征在于:
所述的物理节点,是指用于创建容器及虚拟机的计算节点;
所述的CPU比例,是将每个物理节点包含的多个线程核按照一定的比例划分给虚拟机和容器;所述比例可以为1∶1。
3.根据权利要求1所述的方法,其特征在于:
所述的CPU集合,是物理节点上的线程核;物理节点上的每个线程核设有编号,48线程核的,在物理节点上是从0-47编号;
所述的虚拟机运行在绑定CPU集合上,即所有在这个物理节点上创建的虚拟机在使用CPU资源的时候,都只使用已经划分到虚拟机绑定的CPU集合上。
4.根据权利要求2所述的方法,其特征在于:
所述的CPU集合,是物理节点上的线程核;物理节点上的每个线程核设有编号,48线程核的,在物理节点上是从0-47编号;
所述的虚拟机运行在绑定CPU集合上,即所有在这个物理节点上创建的虚拟机在使用CPU资源的时候,都只使用已经划分到虚拟机绑定的CPU集合上。
5.根据权利要求1至4任一项所述的方法,其特征在于:
所述的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 CN108287748A (zh) | 2018-07-17 |
CN108287748B true 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) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113849259A (zh) * | 2020-06-28 | 2021-12-28 | 华为技术有限公司 | 一种虚拟机和容器混合调度系统、方法、调度器及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010056748A1 (en) * | 2008-11-11 | 2010-05-20 | Netapp, Inc. | Cloning virtual machines |
CN105635336A (zh) * | 2015-12-31 | 2016-06-01 | 北京轻元科技有限公司 | 一种动态自适应的混合云网络管理方法 |
CN106293945A (zh) * | 2016-08-11 | 2017-01-04 | 浪潮(北京)电子信息产业有限公司 | 一种跨虚拟机的资源感知方法及系统 |
CN107209682A (zh) * | 2014-12-05 | 2017-09-26 | 亚马逊技术有限公司 | 资源调整的自动管理 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6394455B2 (ja) * | 2015-03-24 | 2018-09-26 | 富士通株式会社 | 情報処理システム、管理装置およびプログラム |
CN104881325B (zh) * | 2015-05-05 | 2018-09-21 | 中国联合网络通信集团有限公司 | 一种资源调度方法和资源调度系统 |
-
2017
- 2017-10-25 CN CN201711016508.0A patent/CN108287748B/zh active Active
Patent Citations (4)
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 | 亚马逊技术有限公司 | 资源调整的自动管理 |
CN105635336A (zh) * | 2015-12-31 | 2016-06-01 | 北京轻元科技有限公司 | 一种动态自适应的混合云网络管理方法 |
CN106293945A (zh) * | 2016-08-11 | 2017-01-04 | 浪潮(北京)电子信息产业有限公司 | 一种跨虚拟机的资源感知方法及系统 |
Non-Patent Citations (1)
Title |
---|
容器技术及其在OpenStack云平台的应用;沈雪晴,等;;《电气应用》;20151231(第增刊期);562-565 * |
Also Published As
Publication number | Publication date |
---|---|
CN108287748A (zh) | 2018-07-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3073373B1 (en) | Method for interruption affinity binding of virtual network interface card, and computer device | |
US9389903B2 (en) | Method, system and apparatus for creating virtual machine | |
US20150286494A1 (en) | Virtual machine specification adjustment method and apparatus | |
CN107222531B (zh) | 一种容器云资源调度方法 | |
US20150040131A1 (en) | Central processing unit resource allocation method and computing node | |
CN111450524B (zh) | 云游戏中的信息处理方法、装置、云游戏服务器及介质 | |
CN103634379B (zh) | 一种分布式存储空间的管理方法和分布式存储系统 | |
CN108462656B (zh) | 基于容器的业务融合部署的资源调度方法及装置 | |
CN111399970B (zh) | 一种预留资源管理方法、装置和存储介质 | |
CN105550040B (zh) | 基于kvm平台的虚拟机cpu资源预留算法 | |
CN112148489A (zh) | 游戏资源调度方法、装置、设备及存储介质 | |
CN113821308B (zh) | 片上系统、虚拟机任务处理方法及设备、存储介质 | |
WO2015032201A1 (zh) | 虚拟机放置方法和装置 | |
CN109522090A (zh) | 资源调度方法及装置 | |
CN109582436A (zh) | 基于容器集群平台的细粒度抢占式资源调度系统及方法 | |
CN109739634A (zh) | 一种原子任务执行方法及装置 | |
CN116185554A (zh) | 一种配置装置、调度装置及配置方法和调度方法 | |
CN108287748B (zh) | 一种虚拟机与容器并行调度方法 | |
CN107306230B (zh) | 一种网络资源部署的方法、装置、控制器及核心网设备 | |
CN104598304B (zh) | 用于作业执行中的调度的方法和装置 | |
US20190347123A1 (en) | Acceleration Capacity Adjustment Method and Apparatus for Adjusting Acceleration Capacity of Virtual Machine | |
CN106775925B (zh) | 一种虚拟机cpu的限额处理方法和装置 | |
CN113778627A (zh) | 一种创建云资源的调度方法 | |
WO2020108537A1 (zh) | 一种基于软件定义的虚拟网络资源分配系统 | |
CN113822485B (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 |