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

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

Info

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
Application number
CN201310634666.8A
Other languages
English (en)
Other versions
CN103617071B (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

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为一个或多个。
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 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)

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

* Cited by examiner, † Cited by third party
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 华为技术有限公司 多核处理器的调度方法和设备

Patent Citations (6)

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

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