CN103617071B - 一种资源独占及排它的提升虚拟机计算能力的方法及装置 - Google Patents

一种资源独占及排它的提升虚拟机计算能力的方法及装置 Download PDF

Info

Publication number
CN103617071B
CN103617071B CN201310634666.8A CN201310634666A CN103617071B CN 103617071 B CN103617071 B CN 103617071B CN 201310634666 A CN201310634666 A CN 201310634666A CN 103617071 B CN103617071 B CN 103617071B
Authority
CN
China
Prior art keywords
virtual machine
cpu
task
module
binding
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
CN201310634666.8A
Other languages
English (en)
Other versions
CN103617071A (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.)
Beijing Teamsun Technology Co Ltd
Original Assignee
Beijing Teamsun 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 Beijing Teamsun Technology Co Ltd filed Critical Beijing Teamsun Technology Co Ltd
Priority to CN201310634666.8A priority Critical patent/CN103617071B/zh
Publication of CN103617071A publication Critical patent/CN103617071A/zh
Application granted granted Critical
Publication of CN103617071B publication Critical patent/CN103617071B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明公开了一种资源独占及排它的提升虚拟机计算能力的方法及装置,所述方法包括:步骤1、通过任务下发系统下发一个任务,任务中描述当前虚拟机是否需要高性能计算能力;步骤2、任务执行系统接收到创建虚拟机信息后,调用创建虚拟机模块,根据前端输入数据完成虚拟机的创建;步骤3、虚拟机创建完毕以后,根据需求,如果需要独占指定的CPU,则产生一个新的请求调用CPU绑定模块,通过所述CPU绑定模块完成虚拟机VCPU的绑定。通过本发明,在一些特殊场景下,比如虚拟机中运行oracle数据库,需要保证虚拟机的IO与并发能力,本发明通过改变CPU处理进程的方式,可以提升虚拟机的处理能力。

Description

一种资源独占及排它的提升虚拟机计算能力的方法及装置
技术领域
本发明涉及虚拟化、操作系统、内核调度等技术领域,特别涉及一种资源独占及排它的提升虚拟机计算能力的方法及装置。
背景技术
虚拟化技术是将实体资源虚拟化后提供给使用者的技术,由于其所能够带来的巨大利益,正受到全世界的关注。虚拟化是指计算元件在虚拟的基础上而不是真实的基础上运行。虚拟化技术可以扩大硬件的容量,简化软件的重新配置过程。CPU的虚拟化技术可以将单CPU模拟成多CPU并行,允许一个平台同时运行多个操作系统,并且应用程序都可以在相互独立的空间内运行而互不影响,从而显著提高计算机的工作效率。
通常情况下,在SMP系统中,Linux内核的进程调度器根据自有的调度策略将系统中的一个进程调度到某个CPU上执行。一个进程在前一个执行时间是在cpuM(M为系统中的某CPU的ID)上运行,而在后一个执行时间是在cpuN(N为系统中另一CPU的ID)上运行。这样的情况在Linux中是很可能发生的,因为Linux对进程执行的调度采用时间片法则(即进程用完自己的时间片即被暂停执行),而默认情况下,一个普通进程或线程的处理器亲和性是在所有可用的CPU上,有可能在它们之中的任何一个CPU(包括超线程)上执行。
可见,由于CPU资源并不被独立占用,因而其可能受宿主机中其他客户机的负载水平的影响,影响客户机整体的处理能力提升。
此外,由于CPU会和每个硬件进行通讯,当一个硬件发出一个中断请求后,CPU会暂停当前的任务处理中断请求,如果频发的处理中断请求,也将导致其处理能力降低。
进程的处理器亲和性(Processor Affinity),即是CPU的绑定设置,是指将进程绑定到特定的一个或多个CPU上去执行,而不允许调度到其它的CPU上。Linux内核对进程的调度算法也是遵守进程的处理器亲和性设置的。设置进程的处理器亲和性带来的好处是可以减少进程在多个CPU之间交换运行带来的缓存命中失效(cache missing),从该进程运行的角度来看,可能带来一定程度上的性能提升。
发明内容
鉴于现有技术中存在的问题,本发明目的在于提供一种资源独占及排它的提升虚拟机计算能力的方法及装置,在一些特殊场景下,比如虚拟机中运行oracle数据库,需要保证虚拟机的IO与并发能力,本发明通过改变CPU处理进程的方式,可以提升虚拟机的处理能力。
根据本发明的一个方面,提供了一种资源独占及排它的提升虚拟机计算能力的方法,其特征在于包括:
步骤1、通过任务下发系统下发一个任务,任务中描述当前虚拟机是否需要高性能计算能力;
步骤2、任务执行系统接收到创建虚拟机信息后,调用创建虚拟机模块,根据前端输入数据完成虚拟机的创建;
步骤3、虚拟机创建完毕以后,根据需求,如果需要独占指定的CPU,则产生一个新的请求调用CPU绑定模块,通过所述CPU绑定模块完成虚拟机VCPU的绑定。
优选的,所述方法还包括:
步骤4、系统通过中断监控模块启动一个系统级守护进程,时刻监控被隔离CPU的中断分布信息,实时采集并对中断分布进行分析,如结果未达到预期则调用中断平均分布模块,来完成对CPU负载的均衡。
优选的,所述任务下发系统是前端应用。
优选的,所述CPU绑定模块动态采集虚拟机的运行进程及线程,并调用开发的系统API,来控制硬件CPU的工作。
优选的,所述被绑定的VCPU为一个或多个。
根据本发明的另一方面,提供了一种资源独占及排它的提升虚拟机计算能力的装置,其特征在于包括:
任务下发系统,用于下发任务,任务中描述当前虚拟机是否需要高性能计算能力;
任务执行系统,包括:
创建虚拟机模块,用于在所述任务执行系统接收到创建虚拟机信息后,被调用来根据前端输入数据完成虚拟机的创建;
CPU绑定模块,用于在虚拟机创建完毕以后,判断需要独占指定的CPU时被调用,完成虚拟机VCPU的绑定。
优选的,所述装置还包括:
中断监控模块,用于启动一个系统级守护进程,时刻监控被隔离CPU的中断分布信息,实时采集并对中断分布进行分析,如结果未达到预期则调用中断平均分布模块,来完成对CPU负载的均衡。
优选的,所述任务下发系统是前端应用。
优选的,所述CPU绑定模块动态采集虚拟机的运行进程及线程,并调用开发的系统API,来控制硬件CPU的工作。
优选的,所述被绑定的VCPU为一个或多个。
附图说明
图1例示了本发明实施例一种资源独占及排它的提升虚拟机计算能力的方法的流程图;
图2例示了本发明实施例一种资源独占及排它的提升虚拟机计算能力的装置结构图。
具体实施方式
为使本发明的上述目的、特征和优点更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
在建立虚拟机之前,通常会根据虚拟机的应用类型以及其它的一些性能指标分配给虚拟机一定数量的VCPU。
图1为本发明实施例一种资源独占及排它的提升虚拟机计算能力的方法的流程图,如图1所示,所述方法包括:
步骤1、通过任务下发系统下发一个任务,任务中描述当前虚拟机是否需要高性能计算能力;
此处,所述任务下发系统例如可以是WEB、app等前端应用。
步骤2、任务执行系统接收到创建虚拟机信息后,调用创建虚拟机模块,根据前端输入数据,如CPU数目,内存大小,磁盘大小等信息,完成虚拟机的创建;
步骤3、虚拟机创建完毕以后,根据需求,如果需要独占指定的CPU,则产生一个新的请求调用CPU绑定模块,通过所述CPU绑定模块完成虚拟机VCPU的绑定。
此处,所述被绑定的VCPU为一个或多个。
所述CPU绑定模块的主要功能集中在与操作系统的交互,与硬件调度的交互上,可以动态采集虚拟机的运行进程及线程,并调用开发的系统API,来控制硬件CPU的工作。通过CPU绑定模块完成虚拟机VCPU的绑定后,虚拟机则已经运行在被隔离的逻辑CPU之上。
通过上述步骤,可以实现任务在指定的CPU上独占运行,从而提升处理能力。
此外,本发明实施例优选的还可包括:
步骤4、系统通过中断监控模块启动一个系统级守护进程,时刻监控被隔离CPU的中断分布信息,实时采集并对中断分布进行分析,如结果未达到预期则调用中断平均分布模块,来完成对CPU负载的均衡。
通过步骤4,使得本发明又具备了平均分布中断的优点,从而最大限度地提升CPU的处理能力。
以上通过方法实施例的方式介绍了本发明,除此之外,本发明还包括相关的产品实施方式。
图2例示了本发明实施例一种资源独占及排它的提升虚拟机计算能力的装置结构图,如图2所示,所述装置包括:
任务下发系统,用于下发任务,任务中描述当前虚拟机是否需要高性能计算能力;
此处,所述任务下发系统例如可以是WEB、app等前端应用。
任务执行系统,包括:
创建虚拟机模块,用于在所述任务执行系统接收到创建虚拟机信息后,被调用来根据前端输入数据,如CPU数目,内存大小,磁盘大小等信息,完成虚拟机的创建;
CPU绑定模块,用于在虚拟机创建完毕以后,判断需要独占指定的CPU时被调用,完成虚拟机VCPU的绑定。
此处,所述被绑定的VCPU为一个或多个。
所述CPU绑定模块的主要功能集中在与操作系统的交互,与硬件调度的交互上,可以动态采集虚拟机的运行进程及线程,并调用开发的系统API,来控制硬件CPU的工作。通过CPU绑定模块完成虚拟机VCPU的绑定后,虚拟机则已经运行在被隔离的逻辑CPU之上。
通过上述结构,可以实现任务在指定的CPU上独占运行,从而提升处理能力。
此外,本发明实施例优选的还可包括:
中断监控模块,用于启动一个系统级守护进程,时刻监控被隔离CPU的中断分布信息,实时采集并对中断分布进行分析,如结果未达到预期则调用中断平均分布模块,来完成对CPU负载的均衡。
通过上述中断监控模块,使得本发明又具备了平均分布中断的优点,从而最大限度地提升CPU的处理能力。
以上是对本发明的优选实施例进行的详细描述,但本领域的普通技术人员应该意识到,在本发明的范围内和精神指导下,各种改进、添加和替换都是可能的,例如使用可实现同种功能目的的算法、使用不同的编程语言(如C、C++、Java等)实现等。这些都在本发明的权利要求所限定的保护范围内。

Claims (8)

1.一种资源独占及排它的提升虚拟机计算能力的方法,其特征在于包括:
步骤1、通过任务下发系统下发一个任务,任务中描述当前虚拟机是否需要高性能计算能力;
步骤2、任务执行系统接收到创建虚拟机信息后,调用创建虚拟机模块,根据前端输入数据完成虚拟机的创建;
步骤3、虚拟机创建完毕以后,根据需求,如果需要独占指定的CPU,则产生一个新的请求调用CPU绑定模块,通过所述CPU绑定模块完成虚拟机VCPU的绑定,绑定完成后虚拟机运行在被隔离的逻辑CPU之上;
步骤4、系统通过中断监控模块启动一个系统级守护进程,时刻监控被隔离CPU的中断分布信息,实时采集并对中断分布进行分析,如结果未达到预期则调用中断平均分布模块,来完成对CPU负载的均衡。
2.如权利要求1所述方法,其特征在于:
所述任务下发系统是前端应用。
3.如权利要求1所述方法,其特征在于:
所述CPU绑定模块动态采集虚拟机的运行进程及线程,并调用开发的系统API,来控制硬件CPU的工作。
4.如权利要求1所述方法,其特征在于:
所述被绑定的VCPU为一个或多个。
5.一种资源独占及排它的提升虚拟机计算能力的装置,其特征在于包括:
任务下发系统,用于下发任务,任务中描述当前虚拟机是否需要高性能计算能力;
任务执行系统,包括:
创建虚拟机模块,用于在所述任务执行系统接收到创建虚拟机信息后,被调用来根据前端输入数据完成虚拟机的创建;
CPU绑定模块,用于在虚拟机创建完毕以后,判断需要独占指定的CPU时被调用,完成虚拟机VCPU的绑定,绑定完成后虚拟机运行在被隔离的逻辑CPU之上;
中断监控模块,用于启动一个系统级守护进程,时刻监控被隔离CPU的中断分布信息,实时采集并对中断分布进行分析,如结果未达到预期则调用中断平均分布模块,来完成对CPU负载的均衡。
6.如权利要求5所述装置,其特征在于:
所述任务下发系统是前端应用。
7.如权利要求5所述装置,其特征在于:
所述CPU绑定模块动态采集虚拟机的运行进程及线程,并调用开发的系统API,来控制硬件CPU的工作。
8.如权利要求5所述装置,其特征在于:
所述被绑定的VCPU为一个或多个。
CN201310634666.8A 2013-12-02 2013-12-02 一种资源独占及排它的提升虚拟机计算能力的方法及装置 Active CN103617071B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310634666.8A CN103617071B (zh) 2013-12-02 2013-12-02 一种资源独占及排它的提升虚拟机计算能力的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310634666.8A CN103617071B (zh) 2013-12-02 2013-12-02 一种资源独占及排它的提升虚拟机计算能力的方法及装置

Publications (2)

Publication Number Publication Date
CN103617071A CN103617071A (zh) 2014-03-05
CN103617071B true CN103617071B (zh) 2017-01-25

Family

ID=50167774

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310634666.8A Active CN103617071B (zh) 2013-12-02 2013-12-02 一种资源独占及排它的提升虚拟机计算能力的方法及装置

Country Status (1)

Country Link
CN (1) CN103617071B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106383747A (zh) * 2016-08-31 2017-02-08 华为技术有限公司 一种计算资源调度方法及装置
CN106371894B (zh) * 2016-08-31 2020-02-14 华为技术有限公司 一种配置方法、装置和数据处理服务器
CN108241527B (zh) * 2016-12-26 2021-10-08 成都理想境界科技有限公司 一种任务调度方法及电子设备
CN108334396B (zh) * 2017-01-19 2022-12-30 阿里巴巴集团控股有限公司 一种数据处理方法和装置、资源组的创建方法和装置
CN108804211A (zh) * 2018-04-27 2018-11-13 西安华为技术有限公司 线程调度方法、装置、电子设备及存储介质
CN108803509A (zh) * 2018-05-31 2018-11-13 广东盛哲科技有限公司 一种多类型cpu兼容工业控制器系统
CN110955499B (zh) * 2018-09-26 2022-11-18 Oppo广东移动通信有限公司 处理器核心配置方法、装置、终端及存储介质
CN112908432A (zh) * 2020-12-31 2021-06-04 北京华胜天成科技股份有限公司 危害区域确定方法、装置、计算机设备和存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101354663A (zh) * 2007-07-25 2009-01-28 联想(北京)有限公司 应用于虚拟机系统的真实cpu资源的调度方法及调度装置
CN101976201A (zh) * 2010-10-22 2011-02-16 北京航空航天大学 基于cpu亲和力的虚拟cpu动态绑定方法
CN102307224A (zh) * 2011-05-17 2012-01-04 华为软件技术有限公司 云计算系统中业务隔离的实现方法及装置、云服务器
CN102831015A (zh) * 2012-08-01 2012-12-19 华为技术有限公司 多核处理器的调度方法和设备

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8032882B2 (en) * 2006-07-26 2011-10-04 Hewlett-Packard Development Company, L.P. System and method for controlling aggregate CPU usage by virtual machines and driver domains
US20090158299A1 (en) * 2007-10-31 2009-06-18 Carter Ernst B System for and method of uniform synchronization between multiple kernels running on single computer systems with multiple CPUs installed

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101354663A (zh) * 2007-07-25 2009-01-28 联想(北京)有限公司 应用于虚拟机系统的真实cpu资源的调度方法及调度装置
CN101976201A (zh) * 2010-10-22 2011-02-16 北京航空航天大学 基于cpu亲和力的虚拟cpu动态绑定方法
CN102307224A (zh) * 2011-05-17 2012-01-04 华为软件技术有限公司 云计算系统中业务隔离的实现方法及装置、云服务器
CN102831015A (zh) * 2012-08-01 2012-12-19 华为技术有限公司 多核处理器的调度方法和设备

Also Published As

Publication number Publication date
CN103617071A (zh) 2014-03-05

Similar Documents

Publication Publication Date Title
CN103617071B (zh) 一种资源独占及排它的提升虚拟机计算能力的方法及装置
Zhang et al. {FlashShare}: Punching Through Server Storage Stack from Kernel to Firmware for {Ultra-Low} Latency {SSDs}
Vaishnav et al. Resource elastic virtualization for FPGAs using OpenCL
CN102713847B (zh) 处理器内核的监管程序隔离
CN101403983B (zh) 基于虚拟机的多核处理器的资源监控方法及系统
Song et al. Schedule processes, not VCPUs
US8896560B2 (en) Offloading touch processing to a graphics processor
Shin et al. {OS}{I/O} Path Optimizations for Flash Solid-state Drives
WO2015136283A1 (en) Exception handling in microprocessor systems
CN101788920A (zh) 一种基于处理器分区技术的cpu虚拟化方法
CN103744716B (zh) 一种基于当前vcpu调度状态的动态中断均衡映射方法
CN101051282A (zh) 多操作系统协同工作实现方法
CN102053858B (zh) 一种虚拟cpu调度方法
US20130231912A1 (en) Method, system, and scheduler for simulating multiple processors in parallel
CN103995733B (zh) 一种基于物理资源穿透机制的轻量级嵌套虚拟化实现方法
Yu et al. Real-time enhancement for Xen hypervisor
CN103064657A (zh) 单个处理器上实现多应用并行处理的方法及装置
CN102135903A (zh) 基于硬件虚拟化的Xen实时性增强系统及其方法
WO2018040845A1 (zh) 一种计算资源调度方法及装置
Chen et al. Case: A compiler-assisted scheduling framework for multi-gpu systems
Chen et al. Scheduling overcommitted VM: Behavior monitoring and dynamic switching-frequency scaling
Ma et al. Performance Tuning Towards a KVM-based Embedded Real-Time Virtualization System.
CN104008014A (zh) 多核心处理器及其相关控制方法与电脑系统
US11249777B2 (en) Virtual machine context management
WO2024021475A1 (zh) 一种容器调度方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant