CN103617071A - 一种资源独占及排它的提升虚拟机计算能力的方法及装置 - Google Patents
一种资源独占及排它的提升虚拟机计算能力的方法及装置 Download PDFInfo
- Publication number
- CN103617071A CN103617071A CN201310634666.8A CN201310634666A CN103617071A CN 103617071 A CN103617071 A CN 103617071A CN 201310634666 A CN201310634666 A CN 201310634666A CN 103617071 A CN103617071 A CN 103617071A
- Authority
- CN
- China
- Prior art keywords
- virtual machine
- cpu
- task
- module
- complete
- 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
Images
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 (10)
1.一种资源独占及排它的提升虚拟机计算能力的方法,其特征在于包括:
步骤1、通过任务下发系统下发一个任务,任务中描述当前虚拟机是否需要高性能计算能力;
步骤2、任务执行系统接收到创建虚拟机信息后,调用创建虚拟机模块,根据前端输入数据完成虚拟机的创建;
步骤3、虚拟机创建完毕以后,根据需求,如果需要独占指定的CPU,则产生一个新的请求调用CPU绑定模块,通过所述CPU绑定模块完成虚拟机VCPU的绑定。
2.如权利要求1所述方法,其特征在于,所述方法还包括:
步骤4、系统通过中断监控模块启动一个系统级守护进程,时刻监控被隔离CPU的中断分布信息,实时采集并对中断分布进行分析,如结果未达到预期则调用中断平均分布模块,来完成对CPU负载的均衡。
3.如权利要求1所述方法,其特征在于:
所述任务下发系统是前端应用。
4.如权利要求1所述方法,其特征在于:
所述CPU绑定模块动态采集虚拟机的运行进程及线程,并调用开发的系统API,来控制硬件CPU的工作。
5.如权利要求1所述方法,其特征在于:
所述被绑定的VCPU为一个或多个。
6.一种资源独占及排它的提升虚拟机计算能力的装置,其特征在于包括:
任务下发系统,用于下发任务,任务中描述当前虚拟机是否需要高性能计算能力;
任务执行系统,包括:
创建虚拟机模块,用于在所述任务执行系统接收到创建虚拟机信息后,被调用来根据前端输入数据完成虚拟机的创建;
CPU绑定模块,用于在虚拟机创建完毕以后,判断需要独占指定的CPU时被调用,完成虚拟机VCPU的绑定。
7.如权利要求6所述装置,其特征在于,所述装置还包括:
中断监控模块,用于启动一个系统级守护进程,时刻监控被隔离CPU的中断分布信息,实时采集并对中断分布进行分析,如结果未达到预期则调用中断平均分布模块,来完成对CPU负载的均衡。
8.如权利要求6所述装置,其特征在于:
所述任务下发系统是前端应用。
9.如权利要求6所述装置,其特征在于:
所述CPU绑定模块动态采集虚拟机的运行进程及线程,并调用开发的系统API,来控制硬件CPU的工作。
10.如权利要求6所述装置,其特征在于:
所述被绑定的VCPU为一个或多个。
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 true CN103617071A (zh) | 2014-03-05 |
CN103617071B 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) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106371894A (zh) * | 2016-08-31 | 2017-02-01 | 华为技术有限公司 | 一种配置方法、装置和数据处理服务器 |
WO2018040845A1 (zh) * | 2016-08-31 | 2018-03-08 | 华为技术有限公司 | 一种计算资源调度方法及装置 |
CN108241527A (zh) * | 2016-12-26 | 2018-07-03 | 成都理想境界科技有限公司 | 一种任务调度方法及电子设备 |
CN108334396A (zh) * | 2017-01-19 | 2018-07-27 | 阿里巴巴集团控股有限公司 | 一种数据处理方法和装置、资源组的创建方法和装置 |
CN108803509A (zh) * | 2018-05-31 | 2018-11-13 | 广东盛哲科技有限公司 | 一种多类型cpu兼容工业控制器系统 |
CN108804211A (zh) * | 2018-04-27 | 2018-11-13 | 西安华为技术有限公司 | 线程调度方法、装置、电子设备及存储介质 |
WO2020063040A1 (zh) * | 2018-09-26 | 2020-04-02 | Oppo广东移动通信有限公司 | 处理器核心配置方法、装置、终端及存储介质 |
CN112908432A (zh) * | 2020-12-31 | 2021-06-04 | 北京华胜天成科技股份有限公司 | 危害区域确定方法、装置、计算机设备和存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080028397A1 (en) * | 2006-07-26 | 2008-01-31 | Diwaker Gupta | System and method for controlling aggregate CPU usage by virtual machines and driver domains |
CN101354663A (zh) * | 2007-07-25 | 2009-01-28 | 联想(北京)有限公司 | 应用于虚拟机系统的真实cpu资源的调度方法及调度装置 |
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 |
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 | 华为技术有限公司 | 多核处理器的调度方法和设备 |
-
2013
- 2013-12-02 CN CN201310634666.8A patent/CN103617071B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080028397A1 (en) * | 2006-07-26 | 2008-01-31 | Diwaker Gupta | System and method for controlling aggregate CPU usage by virtual machines and driver domains |
CN101354663A (zh) * | 2007-07-25 | 2009-01-28 | 联想(北京)有限公司 | 应用于虚拟机系统的真实cpu资源的调度方法及调度装置 |
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 |
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 | 华为技术有限公司 | 多核处理器的调度方法和设备 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106371894A (zh) * | 2016-08-31 | 2017-02-01 | 华为技术有限公司 | 一种配置方法、装置和数据处理服务器 |
WO2018040845A1 (zh) * | 2016-08-31 | 2018-03-08 | 华为技术有限公司 | 一种计算资源调度方法及装置 |
CN106371894B (zh) * | 2016-08-31 | 2020-02-14 | 华为技术有限公司 | 一种配置方法、装置和数据处理服务器 |
CN108241527A (zh) * | 2016-12-26 | 2018-07-03 | 成都理想境界科技有限公司 | 一种任务调度方法及电子设备 |
CN108241527B (zh) * | 2016-12-26 | 2021-10-08 | 成都理想境界科技有限公司 | 一种任务调度方法及电子设备 |
CN108334396A (zh) * | 2017-01-19 | 2018-07-27 | 阿里巴巴集团控股有限公司 | 一种数据处理方法和装置、资源组的创建方法和装置 |
CN108804211A (zh) * | 2018-04-27 | 2018-11-13 | 西安华为技术有限公司 | 线程调度方法、装置、电子设备及存储介质 |
CN108803509A (zh) * | 2018-05-31 | 2018-11-13 | 广东盛哲科技有限公司 | 一种多类型cpu兼容工业控制器系统 |
WO2020063040A1 (zh) * | 2018-09-26 | 2020-04-02 | Oppo广东移动通信有限公司 | 处理器核心配置方法、装置、终端及存储介质 |
CN112908432A (zh) * | 2020-12-31 | 2021-06-04 | 北京华胜天成科技股份有限公司 | 危害区域确定方法、装置、计算机设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN103617071B (zh) | 2017-01-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103617071A (zh) | 一种资源独占及排它的提升虚拟机计算能力的方法及装置 | |
Kc et al. | Scheduling hadoop jobs to meet deadlines | |
Shirahata et al. | Hybrid map task scheduling for GPU-based heterogeneous clusters | |
CN105579959B (zh) | 硬件加速器虚拟化 | |
CN101403983B (zh) | 基于虚拟机的多核处理器的资源监控方法及系统 | |
US10191759B2 (en) | Apparatus and method for scheduling graphics processing unit workloads from virtual machines | |
KR101332840B1 (ko) | 병렬 컴퓨팅 프레임워크 기반의 클러스터 시스템, 호스트 노드, 계산 노드 및 어플리케이션 실행 방법 | |
US8896560B2 (en) | Offloading touch processing to a graphics processor | |
CN106462395B (zh) | 多线程处理器架构中的线程等待 | |
WO2015136283A1 (en) | Exception handling in microprocessor systems | |
US20160350245A1 (en) | Workload batch submission mechanism for graphics processing unit | |
US10176014B2 (en) | System and method for multithreaded processing | |
CN101788920A (zh) | 一种基于处理器分区技术的cpu虚拟化方法 | |
TW201112118A (en) | Mapping processing logic having data-parallel threads across processors | |
CN103744716A (zh) | 一种基于当前vcpu调度状态的动态中断均衡映射方法 | |
CN102822802A (zh) | 多核处理器系统、控制程序以及控制方法 | |
Hartmann et al. | Gpuart-an application-based limited preemptive gpu real-time scheduler for embedded systems | |
Jo et al. | Exploiting GPUs in virtual machine for BioCloud | |
Huh et al. | Cross‐layer resource control and scheduling for improving interactivity in Android | |
Goswami et al. | Landrush: Rethinking in-situ analysis for gpgpu workflows | |
Lim et al. | ODMDEF: on-device multi-DNN execution framework utilizing adaptive layer-allocation on general purpose cores and accelerators | |
Elliott et al. | Gpusync: Architecture-aware management of gpus for predictable multi-gpu real-time systems | |
He et al. | Using minmax-memory claims to improve in-memory workflow computations in the cloud | |
Rossbach et al. | Operating Systems Must Support {GPU} Abstractions | |
JP5238876B2 (ja) | 情報処理装置及び情報処理方法 |
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 |