CN107678860A - 一种kvm虚拟机cpu调度策略的优化方法及系统 - Google Patents

一种kvm虚拟机cpu调度策略的优化方法及系统 Download PDF

Info

Publication number
CN107678860A
CN107678860A CN201710953528.4A CN201710953528A CN107678860A CN 107678860 A CN107678860 A CN 107678860A CN 201710953528 A CN201710953528 A CN 201710953528A CN 107678860 A CN107678860 A CN 107678860A
Authority
CN
China
Prior art keywords
virtual machines
kvm virtual
scheduling strategy
scheduling
priority
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.)
Pending
Application number
CN201710953528.4A
Other languages
English (en)
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.)
Zhengzhou Yunhai Information Technology Co Ltd
Original Assignee
Zhengzhou Yunhai Information 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 Zhengzhou Yunhai Information Technology Co Ltd filed Critical Zhengzhou Yunhai Information Technology Co Ltd
Priority to CN201710953528.4A priority Critical patent/CN107678860A/zh
Publication of CN107678860A publication Critical patent/CN107678860A/zh
Pending legal-status Critical Current

Links

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/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
    • G06F9/5038Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
    • 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/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)
  • Multi Processors (AREA)

Abstract

本发明公开了一种KVM虚拟机CPU调度策略的优化方法及系统,该方法包括:在KVM虚拟机启动时,获取KVM虚拟机的作业信息;根据作业信息,获取对应的KVM虚拟机CPU调度策略和/或优先级;根据调度策略和优先级调取对应的物理资源执行作业动作。通过调度策略和优先级的设置使得KVM虚拟机在竞争处理器资源时,比一般的Linux进程具有更高的优先级。

Description

一种KVM虚拟机CPU调度策略的优化方法及系统
技术领域
本发明涉及虚拟机技术领域,特别是涉及一种KVM虚拟机CPU调度策略的优化方法及系统。
背景技术
在真实的物理环境里,操作系统直接负责物理处理器管理,以及进程间调度和切换。但在虚拟化的环境下,客户机操作系统并没有管理物理处理器的权限,它是运行在虚拟机监控器提供的虚拟处理器上,负责管理虚拟处理器,并在虚拟处理器上负责该虚拟机内进程间的调度和切换。而虚拟机监控器取代物理环境下操作系统的职能,拥有对物理处理器资源的管理,负责虚拟处理器的调度和切换,以保证在给定时间内,每个虚拟处理器上的当前进程可以在物理处理器上运行一段时间。
如何使得KVM虚拟机在竞争处理器资源时,比一般的Linux进程具有更高的优先级,是本领域技术人员目前需要解决的技术问题。
发明内容
本发明的目的是提供一种KVM虚拟机CPU调度策略的优化方法及系统,可以使得KVM虚拟机在竞争处理器资源时,比一般的Linux进程具有更高的优先级。
为解决上述技术问题,本发明提供了如下技术方案:
一种KVM虚拟机CPU调度策略的优化方法,包括:
在KVM虚拟机启动时,获取KVM虚拟机的作业信息;
根据所述作业信息,获取对应的KVM虚拟机CPU调度策略和/或优先级;
根据所述调度策略和优先级调取对应的物理资源执行作业动作。
优选地,所述在KVM虚拟机启动时,获取KVM虚拟机的作业信息,包括:
在KVM虚拟机启动时,获取KVM虚拟机的作业任务的属性信息。
优选地,所述根据所述作业信息,获取对应的KVM虚拟机CPU调度策略和/或优先级,包括:
判断当前是否指定了调度策略参数和优先级参数;
若否,则获取预先设定的调度策略参数和优先级参数
若指定了调度策略参数和优先级参数中的任一参数,则根据指定的参数进行相应的参数设置;
若同时指定了调度策略参数和优先级参数,则根据指定的调度策略参数对KVM虚拟机的调度策略参数进行相应设置,并在该指定的调度策略参数对应的运行级别的范围内根据指定的优先级参数设置一个优先级参数。
优选地,所述根据指定的调度策略参数对KVM虚拟机的调度策略参数进行相应设置,包括:
当所述作业任务为实时性任务时,选取实时调度策略为当前KVM虚拟机的调度策略;
当所述作业任务为非实时性任务时,选取SCHED_FIFO为当前KVM虚拟机的调度策略;
当所述作业任务为作业密集型、响应时间要求低于预设阈值的批处理任务时,选取SCHED_OTHER为当前KVM虚拟机的调度策略。
优选地,所述当所述作业任务为实时性任务时,选取实时调度策略为当前KVM虚拟机的调度策略,包括:
当所述作业任务为实时性任务时,选取SCHED_FIFO或SCHED_RR为当前KVM虚拟机的调度策略。
优选地,还包括:
预先绑定所述KVM虚拟机和客户机。
一种KVM虚拟机CPU调度策略的优化系统,包括:
作业信息获取模块,用于在KVM虚拟机启动时,获取KVM虚拟机的作业信息;
调度策略和优先级设置模块,用于根据所述作业信息,获取对应的KVM虚拟机CPU调度策略和/或优先级;
执行模块,用于根据所述调度策略和优先级调取对应的物理资源执行作业动作。
与现有技术相比,上述技术方案具有以下优点:
本发明所提供的一种KVM虚拟机CPU调度策略的优化方法,包括:在KVM虚拟机启动时,获取KVM虚拟机的作业信息;根据作业信息,获取对应的KVM虚拟机CPU调度策略和/或优先级;根据调度策略和优先级调取对应的物理资源执行作业动作。通过调度策略和优先级的设置使得KVM虚拟机在竞争处理器资源时,比一般的Linux进程具有更高的优先级。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一种具体实施方式所提供的KVM虚拟机CPU调度策略的优化方法流程图。
具体实施方式
本发明的核心是提供一种KVM虚拟机CPU调度策略的优化方法及系统,可以使得KVM虚拟机在竞争处理器资源时,比一般的Linux进程具有更高的优先级。
为了使本发明的上述目的、特征和优点能够更为明显易懂,下面结合附图对本发明的具体实施方式做详细的说明。
在以下描述中阐述了具体细节以便于充分理解本发明。但是本发明能够以多种不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广。因此本发明不受下面公开的具体实施的限制。
请参考图1,图1为本发明一种具体实施方式所提供的KVM虚拟机CPU调度策略的优化方法流程图。
本发明的一种具体实施方式提供了一种KVM虚拟机CPU调度策略的优化方法,包括:
S11:在KVM虚拟机启动时,获取KVM虚拟机的作业信息。
在KVM虚拟机启动时,获取KVM虚拟机的作业信息,包括:在KVM虚拟机启动时,获取KVM虚拟机的作业任务的属性信息。
S12:根据作业信息,获取对应的KVM虚拟机CPU调度策略和/或优先级。
根据作业信息,获取对应的KVM虚拟机CPU调度策略和/或优先级,包括:
判断当前是否指定了调度策略参数和优先级参数;
若否,则获取预先设定的调度策略参数和优先级参数
若指定了调度策略参数和优先级参数中的任一参数,则根据指定的参数进行相应的参数设置;
若同时指定了调度策略参数和优先级参数,则根据指定的调度策略参数对KVM虚拟机的调度策略参数进行相应设置,并在该指定的调度策略参数对应的运行级别的范围内根据指定的优先级参数设置一个优先级参数。
其中,根据指定的调度策略参数对KVM虚拟机的调度策略参数进行相应设置,包括:当作业任务为实时性任务时,选取实时调度策略为当前KVM虚拟机的调度策略;当作业任务为非实时性普通任务时,选取SCHED_FIFO为当前KVM虚拟机的调度策略;当作业任务为作业密集型、响应时间要求低于预设阈值,交互性不强的批处理任务时,选取SCHED_OTHER为当前KVM虚拟机的调度策略。
当作业任务为实时性任务时,选取实时调度策略为当前KVM虚拟机的调度策略,包括:当作业任务为实时性任务时,选取SCHED_FIFO或SCHED_RR为当前KVM虚拟机的调度策略。
S13:根据调度策略和优先级调取对应的物理资源执行作业动作。
进一步地,还包括:预先绑定KVM虚拟机和客户机。
在本实施方式中,根据创建虚拟机的需要,用户可以指定所启动的虚拟机被调度的策略。当系统中运行一个以上的虚拟机时,各虚拟机可以各自拥有不同的调度策略。在不同的调度策略下,可以具体设置该策略允许范围内的运行优先级。在为虚拟机监控器中添加一个新的调度策略后,通过在创建虚拟机时指定参数policy(调度策略),虚拟机可以被虚拟机监控器调度,且能正常运行。
其中,在该实施方式所提供的方法中,主要包括调度策略的设置和运行有限级别的设置。当用户在启动虚拟机时,若没有指定启动参数priority(优先级)和policy(调度策略),则虚拟机采用默认的调度策略和优先级。如果只指定了priority或policy,则对虚拟机的运行优先级或调度策略进行设置。如果同时指定了上述两个参数,则需要对虚拟机的调度策略进行设置,并在该策略运行级别的范围内设置合理的优先级。调度策略、优先级以及客户机的绑定,通过调度策略和运行优先级的设置,使得KVM虚拟机竞争处理器资源时,比一般的Linux进程具有更高的优先级。通过对客户机的绑定,使得KVM虚拟机始终在用户指定的核上运行。
相应地,本发明一种实施方式还提供了一种KVM虚拟机CPU调度策略的优化系统,包括:作业信息获取模块,用于在KVM虚拟机启动时,获取KVM虚拟机的作业信息;调度策略和优先级设置模块,用于根据作业信息,获取对应的KVM虚拟机CPU调度策略和/或优先级;执行模块,用于根据调度策略和优先级调取对应的物理资源执行作业动作。
调度策略、优先级以及客户机的绑定,通过调度策略和运行优先级的设置,使得KVM虚拟机竞争处理器资源时,比一般的Linux进程具有更高的优先级。通过对客户机的绑定,使得KVM虚拟机始终在用户指定的核上运行。
以上对本发明所提供的一种KVM虚拟机CPU调度策略的优化方法及系统进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

Claims (7)

1.一种KVM虚拟机CPU调度策略的优化方法,其特征在于,包括:
在KVM虚拟机启动时,获取KVM虚拟机的作业信息;
根据所述作业信息,获取对应的KVM虚拟机CPU调度策略和/或优先级;
根据所述调度策略和优先级调取对应的物理资源执行作业动作。
2.根据权利要求1所述的方法,其特征在于,所述在KVM虚拟机启动时,获取KVM虚拟机的作业信息,包括:
在KVM虚拟机启动时,获取KVM虚拟机的作业任务的属性信息。
3.根据权利要求2所述的方法,其特征在于,所述根据所述作业信息,获取对应的KVM虚拟机CPU调度策略和/或优先级,包括:
判断当前是否指定了调度策略参数和优先级参数;
若否,则获取预先设定的调度策略参数和优先级参数
若指定了调度策略参数和优先级参数中的任一参数,则根据指定的参数进行相应的参数设置;
若同时指定了调度策略参数和优先级参数,则根据指定的调度策略参数对KVM虚拟机的调度策略参数进行相应设置,并在该指定的调度策略参数对应的运行级别的范围内根据指定的优先级参数设置一个优先级参数。
4.根据权利要求3所述的方法,其特征在于,所述根据指定的调度策略参数对KVM虚拟机的调度策略参数进行相应设置,包括:
当所述作业任务为实时性任务时,选取实时调度策略为当前KVM虚拟机的调度策略;
当所述作业任务为非实时性任务时,选取SCHED_FIFO为当前KVM虚拟机的调度策略;
当所述作业任务为作业密集型、响应时间要求低于预设阈值的批处理任务时,选取SCHED_OTHER为当前KVM虚拟机的调度策略。
5.根据权利要求4所述的方法,其特征在于,所述当所述作业任务为实时性任务时,选取实时调度策略为当前KVM虚拟机的调度策略,包括:
当所述作业任务为实时性任务时,选取SCHED_FIFO或SCHED_RR为当前KVM虚拟机的调度策略。
6.根据权利要求1至5任一项所述的方法,其特征在于,还包括:
预先绑定所述KVM虚拟机和客户机。
7.一种KVM虚拟机CPU调度策略的优化系统,其特征在于,包括:
作业信息获取模块,用于在KVM虚拟机启动时,获取KVM虚拟机的作业信息;
调度策略和优先级设置模块,用于根据所述作业信息,获取对应的KVM虚拟机CPU调度策略和/或优先级;
执行模块,用于根据所述调度策略和优先级调取对应的物理资源执行作业动作。
CN201710953528.4A 2017-10-13 2017-10-13 一种kvm虚拟机cpu调度策略的优化方法及系统 Pending CN107678860A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710953528.4A CN107678860A (zh) 2017-10-13 2017-10-13 一种kvm虚拟机cpu调度策略的优化方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710953528.4A CN107678860A (zh) 2017-10-13 2017-10-13 一种kvm虚拟机cpu调度策略的优化方法及系统

Publications (1)

Publication Number Publication Date
CN107678860A true CN107678860A (zh) 2018-02-09

Family

ID=61141196

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710953528.4A Pending CN107678860A (zh) 2017-10-13 2017-10-13 一种kvm虚拟机cpu调度策略的优化方法及系统

Country Status (1)

Country Link
CN (1) CN107678860A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116893893A (zh) * 2023-09-08 2023-10-17 北京翼辉信息技术有限公司 一种虚拟机调度方法、装置、电子设备及存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101894047A (zh) * 2010-06-24 2010-11-24 北京航空航天大学 一种基于内核虚拟机调度策略的实现方法
US20130167152A1 (en) * 2011-12-26 2013-06-27 Hyun-ku Jeong Multi-core-based computing apparatus having hierarchical scheduler and hierarchical scheduling method
CN103677990A (zh) * 2013-12-13 2014-03-26 清华大学 虚拟机实时任务的调度方法、装置和虚拟机
US20150169350A1 (en) * 2013-12-12 2015-06-18 International Business Machines Corporation Closed-Loop Feedback Mechanism for Achieving Optimum Performance in a Consolidated Workload Environment
CN105279012A (zh) * 2015-11-27 2016-01-27 成都微讯云通科技有限公司 云平台作业调度方法
CN106341496A (zh) * 2016-11-10 2017-01-18 郑州云海信息技术有限公司 一种资源调度的方法及装置
CN106897132A (zh) * 2017-02-27 2017-06-27 郑州云海信息技术有限公司 一种服务器任务调度的方法以及装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101894047A (zh) * 2010-06-24 2010-11-24 北京航空航天大学 一种基于内核虚拟机调度策略的实现方法
US20130167152A1 (en) * 2011-12-26 2013-06-27 Hyun-ku Jeong Multi-core-based computing apparatus having hierarchical scheduler and hierarchical scheduling method
US20150169350A1 (en) * 2013-12-12 2015-06-18 International Business Machines Corporation Closed-Loop Feedback Mechanism for Achieving Optimum Performance in a Consolidated Workload Environment
CN103677990A (zh) * 2013-12-13 2014-03-26 清华大学 虚拟机实时任务的调度方法、装置和虚拟机
CN105279012A (zh) * 2015-11-27 2016-01-27 成都微讯云通科技有限公司 云平台作业调度方法
CN106341496A (zh) * 2016-11-10 2017-01-18 郑州云海信息技术有限公司 一种资源调度的方法及装置
CN106897132A (zh) * 2017-02-27 2017-06-27 郑州云海信息技术有限公司 一种服务器任务调度的方法以及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ROBERTLOVE: "《LINUX系统编程》", 31 July 2009, 东南大学出版社 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116893893A (zh) * 2023-09-08 2023-10-17 北京翼辉信息技术有限公司 一种虚拟机调度方法、装置、电子设备及存储介质
CN116893893B (zh) * 2023-09-08 2024-03-22 北京翼辉信息技术有限公司 一种虚拟机调度方法、装置、电子设备及存储介质

Similar Documents

Publication Publication Date Title
CN102890643B (zh) 基于应用效果即时反馈的显卡虚拟化下的资源调度系统
CN107291547B (zh) 一种任务调度处理方法、装置及系统
EP3073373A1 (en) Method for interruption affinity binding of virtual network interface card, and computer device
KR101658035B1 (ko) 가상 머신 모니터 및 가상 머신 모니터의 스케줄링 방법
US20070300227A1 (en) Managing execution of mixed workloads in a simultaneous multi-threaded (smt) enabled system
CN104991815A (zh) Docker容器的管理方法和系统
US20120216193A1 (en) Apparatus and method for controlling virtual machine schedule time
CN104780146A (zh) 资源管理方法及装置
CN112637304B (zh) 一种跨云资源处理系统和资源管理方法
CN108037994A (zh) 一种支持异构环境下多核并行处理的调度机制
CN105589751A (zh) 一种物理资源调度方法及装置
US20240160474A1 (en) Multi-core processor task scheduling method, and device and storage medium
CN105373434B (zh) 资源管理系统及方法
CN104598298A (zh) 基于虚拟机当前工作性质以及任务负载的虚拟机调度算法
CN113032102A (zh) 资源重调度方法、装置、设备和介质
EP3572940A1 (en) Method and device for scheduling vcpu thread
CN117311990B (zh) 资源调整方法、装置、电子设备、存储介质及训练平台
CN106897147A (zh) 一种应用容器引擎容器资源调度方法及装置
CN107678860A (zh) 一种kvm虚拟机cpu调度策略的优化方法及系统
CN102917017A (zh) 一种通用的虚拟机克隆时ip自动配置的方法
CN112003931B (zh) 一种编排控制器部署方法、系统及相关组件
CN108958808A (zh) 终端启动方法及装置、终端及存储介质
CN113626173A (zh) 调度方法、装置及存储介质
CN106775925B (zh) 一种虚拟机cpu的限额处理方法和装置
KR20130051076A (ko) 응용프로그램 스케줄링 방법 및 장치

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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20180209