CN108287748B - 一种虚拟机与容器并行调度方法 - Google Patents

一种虚拟机与容器并行调度方法 Download PDF

Info

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
Application number
CN201711016508.0A
Other languages
English (en)
Other versions
CN108287748A (zh
Inventor
刘勇彬
季统凯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
G Cloud Technology Co Ltd
Original Assignee
G Cloud Technology Co Ltd
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 G Cloud Technology Co Ltd filed Critical G Cloud Technology Co Ltd
Priority to CN201711016508.0A priority Critical patent/CN108287748B/zh
Publication of CN108287748A publication Critical patent/CN108287748A/zh
Application granted granted Critical
Publication of CN108287748B publication Critical patent/CN108287748B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • 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]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • 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
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45562Creating, 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平均利用率小于某一数值时,需要作出调整的参数。
CN201711016508.0A 2017-10-25 2017-10-25 一种虚拟机与容器并行调度方法 Active CN108287748B (zh)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113849259A (zh) * 2020-06-28 2021-12-28 华为技术有限公司 一种虚拟机和容器混合调度系统、方法、调度器及装置

Citations (4)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6394455B2 (ja) * 2015-03-24 2018-09-26 富士通株式会社 情報処理システム、管理装置およびプログラム
CN104881325B (zh) * 2015-05-05 2018-09-21 中国联合网络通信集团有限公司 一种资源调度方法和资源调度系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Title
容器技术及其在OpenStack云平台的应用;沈雪晴,等;;《电气应用》;20151231(第增刊期);562-565 *

Also Published As

Publication number Publication date
CN108287748A (zh) 2018-07-17

Similar Documents

Publication Publication Date Title
US11714671B2 (en) Creating virtual machine groups based on request
EP3073373B1 (en) Method for interruption affinity binding of virtual network interface card, and computer device
US20150286494A1 (en) Virtual machine specification adjustment method and apparatus
CN107222531B (zh) 一种容器云资源调度方法
US20150040131A1 (en) Central processing unit resource allocation method and computing node
CN108462656B (zh) 基于容器的业务融合部署的资源调度方法及装置
CN111450524B (zh) 云游戏中的信息处理方法、装置、云游戏服务器及介质
CN112148489A (zh) 游戏资源调度方法、装置、设备及存储介质
CN109522090B (zh) 资源调度方法及装置
CN113821308B (zh) 片上系统、虚拟机任务处理方法及设备、存储介质
WO2015032201A1 (zh) 虚拟机放置方法和装置
CN109582436A (zh) 基于容器集群平台的细粒度抢占式资源调度系统及方法
CN104598304B (zh) 用于作业执行中的调度的方法和装置
CN116185554A (zh) 一种配置装置、调度装置及配置方法和调度方法
CN107395735B (zh) 一种容器集群的延时缩容调度方法及系统
CN108287748B (zh) 一种虚拟机与容器并行调度方法
US11379255B2 (en) Acceleration capacity adjustment method and apparatus for adjusting acceleration capacity of virtual machine
CN108028806A (zh) 网络功能虚拟化nfv网络中分配虚拟资源的方法和装置
CN109739634A (zh) 一种原子任务执行方法及装置
CN106775925B (zh) 一种虚拟机cpu的限额处理方法和装置
CN109217994B (zh) 数据传输方法、装置及计算机可读存储介质
WO2020108537A1 (zh) 一种基于软件定义的虚拟网络资源分配系统
CN113822485B (zh) 一种配电网调度任务优化方法及系统
JP2013196695A (ja) 仮想マシン割り当てシステム及びその方法
CN113778627A (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