CN111324432A - 处理器调度方法、装置、服务器及存储介质 - Google Patents
处理器调度方法、装置、服务器及存储介质 Download PDFInfo
- Publication number
- CN111324432A CN111324432A CN202010073343.6A CN202010073343A CN111324432A CN 111324432 A CN111324432 A CN 111324432A CN 202010073343 A CN202010073343 A CN 202010073343A CN 111324432 A CN111324432 A CN 111324432A
- Authority
- CN
- China
- Prior art keywords
- virtual machine
- state
- instruction
- processor
- instruction execution
- 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
- 238000000034 method Methods 0.000 title claims abstract description 282
- 238000012544 monitoring process Methods 0.000 claims abstract description 16
- 238000004590 computer program Methods 0.000 claims description 11
- 238000004891 communication Methods 0.000 claims description 4
- 238000006243 chemical reaction Methods 0.000 claims description 3
- 238000012545 processing Methods 0.000 abstract description 21
- 238000010586 diagram Methods 0.000 description 9
- 238000013519 translation Methods 0.000 description 4
- 238000001514 detection method Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明实施例公开了一种处理器调度方法、装置、服务器及存储介质,其中方法包括:监测虚拟机的指令执行信息,并根据所述指令执行信息确定所述虚拟机所处的状态;若确定所述虚拟机处于空闲占用状态,则获取待处理的主机进程,其中,所述空闲占用状态是指:所述虚拟机与运行该虚拟器的目标处理器为绑定关系,且所述虚拟机已执行使得所述虚拟机进入所述空闲占用状态的指令;调用所述目标处理器执行所述主机进程,可提升虚拟机对应处理器的处理资源利用率。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种处理器调度方法、装置、服务器及存储介质。
背景技术
随着计算机技术的不断发展,为了保证服务器中虚拟进程的优先性和及时性,需要减少主机进程对虚拟机的干扰,即避免主机进程对虚拟机进程的抢占,导致虚拟机进程的执行时延较长,可采用为虚拟机预留处理资源的方法。如可将服务器中的真实处理器资源进行分区,以使得不同的分区用于处理不同的进程任务,也就是说,当前为了避免主机进程和虚拟机进程之间的相互干扰,可为虚拟机划分单独的处理器,该单独划分出的处理器用于只处理虚拟机进程,但是,虚拟机并不是一直运行虚拟机进程的,但却一直占据着对应的处理器,使得为该虚拟机划分的处理器的资源利用率不高,因此,如何提升当前虚拟机对应处理器的处理资源利用率,成为了当前的热点问题。
发明内容
本发明实施例提供了一种处理器调度方法、装置、服务器及存储介质,可提升虚拟机对应处理器的处理资源利用率。
一方面,本发明实施例提供了一种处理器调度方法,所述方法包括:
监测虚拟机的指令执行信息,并根据所述指令执行信息确定所述虚拟机所处的状态;
若确定所述虚拟机处于空闲占用状态,则获取待处理的主机进程,其中,所述空闲占用状态是指:所述虚拟机与运行该虚拟器的目标处理器为绑定关系,且所述虚拟机已执行使得所述虚拟机进入所述空闲占用状态的指令;
调用所述目标处理器执行所述主机进程。
一方面,本发明实施例提供了一种处理器调度装置,所述装置包括:
监测单元,用于监测虚拟机的指令执行信息;
确定单元,用于根据所述指令执行信息确定所述虚拟机所处的状态;
获取单元,用于若确定所述虚拟机处于空闲占用状态,则获取待处理的主机进程,其中,所述空闲占用状态是指:所述虚拟机与运行该虚拟器的目标处理器为绑定关系,且所述虚拟机已执行使得所述虚拟机进入所述空闲占用状态的指令;
调用单元,用于调用所述目标处理器执行所述主机进程。
一方面,本发明实施例提供了一种服务器,包括处理器、存储器和通信接口,所述处理器、所述存储器和所述通信接口相互连接,其中,所述存储器用于存储计算机程序指令,所述处理器被配置用于执行所述程序指令,执行如下步骤:
监测虚拟机的指令执行信息,并根据所述指令执行信息确定所述虚拟机所处的状态;
若确定所述虚拟机处于空闲占用状态,则获取待处理的主机进程,其中,所述空闲占用状态是指:所述虚拟机与运行该虚拟器的目标处理器为绑定关系,且所述虚拟机已执行使得所述虚拟机进入所述空闲占用状态的指令;
调用所述目标处理器执行所述主机进程。
一方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行上述第一方面的方法。
在本发明实施例中,服务器基于对指令执行信息的检测,虚拟机所处的状态,在所述服务器确定所述虚拟机处于空闲占用状态时,可进一步获取待处理的主机进程,并调用该虚拟机对应的目标处理器运行该待执行的主机进程,实现了在虚拟机处于空闲占用状态的情况下,对目标处理器处理资源的释放,使得虚拟机可以在不退出的情况下,服务器可调用目标处理器处理主机进程,实现了对目标处理器资源的有效利用。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1a是本发明实施例提供的一种主机任务调度器进行进程调度的示意图;
图1b是本发明实施例提供的一种服务器的结构示意图;
图2是本发明实施例提供的一种处理器调度方法的示意流程图;
图3是本发明另一实施例提供的一种处理器调度方法的示意流程图;
图4a是本发明实施例提供的一种目标处理器执行虚拟机进程和主机进程的示意图;
图4b是本发明另一实施例提供的一种目标处理器执行虚拟机进程和主机进程的示意图;
图5是本发明实施例提供的一种处理器调度装置的示意性框图;
图6是本发明实施例提供的一种服务器的示意性框图。
具体实施方式
由于服务器可同时运行虚拟机和主机,因此虚拟机进程和主机进程需共享该服务器的处理器(Central Processing Unit,CPU)和其他硬件资源,因此,在服务器需要同时执行虚拟机进程和主机进程时,可能出现CPU资源的抢占的问题,在服务器出现对CPU资源的抢占时,可能导致服务器在虚拟机进程和主机进程之间进行频繁切换,进而影响虚拟机进程和主机进程的执行效率,导致用户体验较低。为了防止服务器中虚拟机进程和主机进程对CUP资源进行抢占而导致的进程之间的频繁切换问题,本发明实施例提出了一种处理器调度方法,用于对服务器中运行虚拟机的目标处理器进行调度,可避免虚拟机进程和主机进程之间的频繁切换问题,同时可实现对目标服务器资源的充分利用。
在一个实施例中,为了在虚拟机运行过程中减少虚拟化带来的性能损耗和资源靠小,可采用暂停(halt,HLT)指令透传技术,以降低虚拟机对CPU资源的消耗,在具体实现中,服务器可在虚拟机独占CPU的场景下,将HLT指令透传到虚拟机内部,进一步地,所述服务器可在确定虚拟机内部空闲时调用HLT指令,以使得所述虚拟机对应的CPU可以进入节能空闲状态,而不发生虚拟机退出(Virtual Machine exit,VM-exit),从而可减少虚拟机退出带来的CPU资源开销和调度延迟。其中,虚拟机独占CPU是指为虚拟机的相关进程分配独立的CPU资源,即虚拟机独占为虚拟机分配的目标处理器,并将为该虚拟机分配的独立CPU资源(即该目标处理器)与主机进程进行隔离,使得主机任务调度器不调度主机进程到该虚拟机的独立CPU上,因此,基于HLT指令透传,可实现对处理器资源开销减小的同时,不影响服务器中其他任务的运行。
实践表明,采用HLT透传指令以减小处理器资源开销的方法会导致CPU占用不实的任务调度不公平问题,在一个实施例中,当执行HLT指令导致CPU进入节能状态后,虚拟机将处于空闲占用状态,即对处理器进行调度的主机调度器认为虚拟机一直占用CPU,但实际虚拟机内部也没有任务(或进程)运行于该CPU,CPU实际处于空闲状态,但却对外表现为虚拟机进程的CPU占用率一直保持100%,在一个实施例中,虚拟机实际处于空闲但对外表现为对CPU的占用率为100%的状态可以称作空闲占用状态(即HLT状态),处于该空闲占用状态下的虚拟机的CPU资源不能得到充分利用,因此,服务器在确定所述虚拟机处于空闲占用状态时,为了使得虚拟机对应的CPU资源得到充分利用,可获取待处理的主机进程,并调用该虚拟机对应的目标处理器(即该虚拟机对应的CPU)执行该主机进程,实现了虚拟机在空闲占用状态时,对虚拟机对应目标处理器的运行资源的有效利用,可提升对目标处理器的有效利用。
在一个实施例中,服务器在可通过主机侧的主机任务调度器感知虚拟机内部的HLT状态,在具体实现中,所述服务器可通过对应的硬件标识,确定虚拟机是否处于HLT状态,或者,所述服务器也可通过检测虚拟机中的指令寄存器,如地址偏移(RoutingInformation Protocol,RIP)寄存器中执行的指令确定该虚拟机是否处于HLT状态。其中,所述主机任务调度器用于对服务器中的各处理器进行调度,以对所述服务器中的进程任务进行分配,以有效利用服务器中的处理器资源,如图1a所示,所述主机任务调度器可接收主机发起的多个主机进程,并可同时接收虚拟机发起的多个虚拟机进程,由于虚拟机进程(即虚拟机中的VCPU线程)和物理CPU(如目标处理器)采取的一一绑定关系,可防止VCPU线程漂移引起的稳定性问题,而服务器中除虚拟机进程之外,还运行有主机进程,但主机进程的运行时间较短,且是偶尔性的触发事件,所以该主机任务调度器可基于分时调度,以根据不同任务的类型实施不同的调度策略,实现对处理器资源的有效利用。在一个实施例中,基于不同任务类型所设置的调度策略例如可以是基于优先级的策略或者基于抢占时延的策略等,基于为虚拟机进程设置的较高优先级和较短抢占时延,可保证服务器对虚拟机进程的优先处理,从而可保证虚拟机进程的快速执行,其中,所述主机任务调度器可以是由运行于主机的计算机程序代码实现对各处理器之间的调度的。可以理解的是,服务器预先为主机进程和虚拟机进程设置了抢占时延,且为主机进程设置的抢占时延大于为虚拟机进程设置的抢占时延,主机任务调度器在接收到主机进程和虚拟机进程时,通过检测主机进程对应的抢占时延,以及虚拟机进程的抢占时延,由于虚拟机进程对应的抢占时延更小,所以主机任务调度器优先调用处理器资源处理虚拟机进程,而在虚拟机进入空闲占用状态时,则调用处理器资源处理主机进程。此外,所述服务器还可预先为主机进程和虚拟机进程设置优先级,并为主机进程设置的优先级小于为虚拟机进程设置的优先级,使得服务器可基于优先级优先调用处理器资源处理虚拟机,而在虚拟机进入空闲占用状态时,可调用处理器资源处理主机进程,实现对处理器资源的高效利用。
在一个实施例中,所述服务器在确定虚拟机处于HLT状态后,可调度主机进程到虚拟机对应的目标处理器中,以抢占该目标处理器,即调用该目标处理器处理主机进程,而在服务器检测到虚拟机中的VCPU结束HLT状态后,虚拟机将从所述空闲占用状态切换到唤醒状态,其中,唤醒状态是指虚拟机结束空闲占用状态,并在进入到工作状态之前所处的中间状态,其中,所述虚拟机可通过核间(Inter-Processor Interrupt,IPI)中断,或者定时器中断来将当前所处的空闲占用状态切换为唤醒状态,以实现对虚拟机的唤醒,处于所述唤醒状态的虚拟机将退出(VM-exit)到主机中,而主机任务调度器则可基于该中断,对目标处理器中正在执行的主机进程进行抢占,并调用该目标处理器执行该虚拟机中的虚拟机进程,实现对虚拟机的快速恢复运行,最大程度降低虚拟机的调度延迟。在一个实施例中,在主机任务调度器基于中断抢占正在执行主机进程的目标处理器执行虚拟机进程后,由于主机进程被中断,主机任务调度器可调用其他处理器处理该主机进程,或者,也可等待目标处理器在执行虚拟机进程结束后,在虚拟机进入空闲占用状态时,调用目标处理器继续执行该主机进程。
在一个实施例中,虚拟机(Virtual Machine,VM)指通过软件模拟的具有完整硬件系统功能,并运行在服务器的一个完全隔离环境中的完整计算机系统,所述虚拟机进程例如可以是用于运行应用程序的程序进程等;主机用于运行服务器的管理和代理的进程,所述主机进程例如可以是操作系统自带的一些进程,如systemd,per-cpu内核线程等,所述主机进程还可以是,如用于安全和系统维护的进程等,所述服务器例如可以是云服务器,所述服务器可如图1b所示,包括主机和虚拟机,以及用于对处理器进行调度的主机任务调度器,调度类型设置接口和虚拟机状态感知模块,所述主机任务调度器中还包括虚拟机调度模块,使得主机进程调度器可实现对用于执行虚拟机进程和主机进程的处理器调度。
在一个实施例中,所述调度类型设置接口用于接收用户对进程设置的调度优先级或者抢占时延等,所述调度类型设置接口可以是系统提供的用户态接口,如操作系统(Linux操作系统)提供的proc虚拟文件系统接口和sys虚拟文件系统接口,服务器在从所述调度类型设置接口获取到用户对进程的调度优先级和/或抢占时延的设置后,可将获取到的设置保存到主机人物调度器中,以在后续接收到虚拟机进程和主机进程后,可基于对应的调度优先级和/或抢占时延调度相应的处理器执行虚拟机进程和主机进程。所述虚拟机状态感知模块用于感知虚拟机对应的目标处理器是否处于空闲占用状态(即HLT状态),在具体实现中,虚拟机状态感知模块可通过两种方式确定出虚拟机是否处于空闲占用状态:
(1)所述虚拟机状态感知模块可通过硬件实现对目标处理器状态的检测,如在所述目标处理器为基于X86架构(The X86 architecture)的处理器时,虚拟机在执行HLT指令,并设置了HLT透传时,目标处理器会自动在预设硬件结构中设置指定的标记位,从而虚拟机状态感知模块可在调度时机出现时可通过检查硬件结构中的标记位,来确定出虚拟机的空闲占用状态
(2)在没有相应的硬件状态标记位时,该虚拟机状态感知模块可通过在主机中检查当前虚拟机进程正在执行的指令的上下文来判断是否处于空闲占用状态,其中,所述虚拟机状态感知模块可在虚拟机VM-exit退出后,进行空闲占用状态的检查。由于目标处理器在执行虚拟机进程时,通常将执行的指令保存在特定的存储地址中,在所述目标处理器为基于X86架构的处理器时,虚拟机可将执行的指令保存在虚拟机控制结构(VirtualMachine Control Structures,VMCS)的存储地址中,该虚拟机控制结构的存储地址例如可以是一种虚拟机运行控制域对应的地址,如guest_rip成员对应的地址,所述虚拟机的存储地址为虚拟机地址空间中的物理地址(Guest Physical Address,GPA),所述状态感知模块可基于主机中页表所指示的转换关系,将GPA转换为主机地址中的物理地址(HostPhysical Address,HPA),即实现将虚拟机地址和主机实际物理地址之间的转换,其中,页表是一直用来将虚拟地址转换为物理地址的内存结构。进一步地,所述虚拟机状态感知模块可读取HPA存储的数据内容,并将存储的数据内容和HLT指令对应的编码进行比较,并在确定一致时,可确定虚拟机处于空闲占用状态(即HLT状态)。
请参见图2,是本发明实施例提出的一种处理器调度方法的示意流程图,,该方法可应用于上述服务器中,该服务器例如可以是云服务器,如图2所示,该方法包括:
S201,监测虚拟机的指令执行信息,并根据所述指令执行信息确定所述虚拟机所处的状态。
在一个实施例中,所述指令执行信息包括指令执行标识和指令执行地址,服务器则可通过获取该指令执行标识或者指令执行地址,从而可基于获取的指令执行标识或指令执行地址确定出所述虚拟机所处的状态,其中,所述服务器可在调度时机出现时监测执行指令信息是否发生变化,并在确定执行指令发生变化时,获取变化后的指令执行信息(即指令执行标识或指令执行地址),从而基于变化后的指令执行信息确定虚拟机所处的状态,其中,所述调度时机的出现是服务器在检测到中断事件时触发的,所述中断事件例如可以是执行返回事件,执行异常事件,系统调用事件,状态切换事件,以及预设时间周期到达事件中的一项或多项。此外,所述服务器还可对指令执行信息的变化进行实时监测,以确定虚拟机所处的状态。
在一个实施例中,所述服务器确定调度时机的出现可以是在服务器确定从内核态返回用户态时确定调度时机的出现,其中,服务器可在检测到时钟中断、其他返回中断、异常返回中断、系统调用返回中断等事件时,确定服务器从内核态返回用户态;或者,所述服务器可在虚拟机唤醒时确定调度时机的出现,在服务器内核为Linux内核时,可在唤醒接口(try_to_wakeup)中预设调度点,以实现对虚拟机的唤醒;或者,所述服务器还可在对处理器的抢占状态发生变化时确定调度时机的出现,基于可抢占的处理器,服务器可在该可抢占的服务器(如上述的目标处理器)中设置调度点,以及时调度该可抢占的处理器响应对应优先级较高的进程任务,以保证该较高优先级的进程任务所对应的实时性,其中,所述服务器可在所述可抢占的服务器中添加抢占标记,以实现进行调度点的设置;或者,进程还可调用内核提供的接口进行主动调度,在服务器检测到进程对处理器的主动调度时,所述服务器可确定调度时机的出现。
在一个实施例中,服务器在确定调度时机出现后,可获取虚拟机的指令执行信息,在该指令执行信息为指令执行标识时,服务器可将该指令执行标识和虚拟机处于空闲占用状态时执行HLT指令后对应的空闲占用标识进行对比,若所述服务器获取的指令执行标识和空闲占用标识一致,则所述服务器可基于该指令执行标识确定服务器处于空闲占用状态,并转而执行步骤S202。此外,若所述服务器无法获取到指令执行标识,则所述服务器可进行指令执行地址的获取,所述指令执行地址为存储虚拟机执行的指令的虚拟地址,基于虚拟地址和物理地址之间预设的地址转换关系,服务器可确定虚拟机执行的指令对应的物理存储地址,从而可基于物理存储地址中记录的指令对应的编码信息,确定虚拟机是否处于空闲占用状态,并在该物理存储地址中记录的指令的编码信息和预设编码信息一致时,可确定虚拟机执行了HLT指令进入了空闲占用状态,从而可转而执行步骤S202。
S202,若确定所述虚拟机处于空闲占用状态,则获取待处理的主机进程,其中,所述空闲占用状态是指:所述虚拟机与运行该虚拟器的目标处理器为绑定关系,且所述虚拟机已执行使得所述虚拟机进入所述空闲占用状态的指令。
S203,调用所述目标处理器执行所述主机进程。
在步骤S202和步骤S203中,服务器在基于虚拟机的指令执行信息确定虚拟机处于空闲占用状态时,为了充分利用虚拟机独占的目标处理器,所述服务器可调用所述目标处理器执行待处理的主机进程,以实现对目标处理器中处理资源的有效利用,其中,所述待处理的主机进程例如可以是上述的服务器中操作系统自带的进程,或者用于进行安全和系统维护的进程等。在一个实施例中,服务器在调用目标处理器执行主机进程后,如果检测到所述虚拟机从所述空闲占用状态切换为唤醒状态,则可基于为虚拟机进程设置的相较与主机进程较高的优先级,在调度时机出现时抢占目标处理器,以调用该目标处理器执行虚拟机进程,保证了虚拟机进程的优先性和及时性,提升了目标处理器对虚拟机进程的处理效率。
在一个实施例中,服务器调用目标处理器执行主机进程时,可先触发任务调度器(如上述的主机任务调度器)对目标处理器进行抢占,进一步地,可使用主机调度器提供的调度接口,从目标处理器的待处理主机进程队列中选择任一主机进程,并基于选择的任一主机进程替换目标处理器的执行上下文,实现对进程任务的切换。在调用目标处理器处理主机进程后,虚拟机进程任处于可运行状态,但并未实际运行,由此,实现了对目标处理器资源的有效利用。
在本发明实施例中,服务器基于对虚拟机的指令执行信息的监测,可确定虚拟机所处的状态,在所述服务器确定所述虚拟机处于空闲占用状态时,可进一步获取待处理的主机进程,并调用该虚拟机对应的目标处理器运行该待执行的主机进程,实现了在虚拟机处于空闲占用状态的情况下,对目标处理器处理资源的释放,使得虚拟机可以在不退出的情况下,服务器可调用目标处理器处理主机进程,实现了对目标处理器资源的有效利用。
请参见图3,是本发明另一实施例提供的一种处理器调度方法的示意流程图,如图3所示,该方法可包括:
S301,监测虚拟机的指令执行信息,并根据所述指令执行信息确定所述虚拟机所处的状态。
在一个实施例中,所述指令执行信息包括指令执行标识,所述服务器在根据所述指令执行信息确定所述虚拟机所处的状态时,可先判断所述指令执行标识和空闲占用标识是否一致,其中,所述空闲占用标识是服务器在检测到虚拟机在执行HLT指令后在预设硬件的指定标记位添加的,以使得服务器用过检测获取的指令执行标识和该标记位对应的空闲占用标识是否一致,确定出该虚拟机所处的状态。其中,所述服务器可在检测到虚拟机执行HLT指令后,将预设硬件的指定标记位置为1,所述服务器则可通过检测获取的指令执行标识的对应标记位是否为1,确定虚拟机是否执行该HLT指令,进一步地,服务器基于虚拟机是否执行HLT指令可确定该虚拟机所处的状态,其中,若服务器确定虚拟机执行了HLT指令,则确定虚拟机处于空闲占用状态。
在一个实施例中,若服务器确定获取的指令执行标识和空闲占用标识一致,则确定所述虚拟机处于所述空闲占用状态;否则,确定所述虚拟机未处于所述空闲占用状态。其中,所述空闲占用状态是指:所述虚拟机与运行该虚拟器的目标处理器为绑定关系,且所述虚拟机已执行使得所述虚拟机进入所述空闲占用状态的指令(即HLT指令),处于所述空闲占用状态的虚拟机对应的目标处理器实际未运行虚拟机程序,但对外表现为虚拟机对目标处理器的占用率为100%。
在一个实施例中,服务器获取的指令执行信息还包括指令执行地址,所述服务器在根据所述指令执行信息确定所述虚拟机所处的状态时,还可根据所述指令执行地址,确定所述虚拟机的已执行指令中是否包括目标指令(即HLT指令),所述目标指令用于使所述虚拟机处于所述空闲占用状态。其中,所述服务器在根据所述指令执行地址确定所述虚拟机的已执行指令中是否包括目标指令时,可先按照预设的地址转换关系,确定所述指令执行地址对应的物理地址,并获取所述物理地址存储的指令,从而可判断所述物理地址存储的指令对应的指令编码和目标指令对应的指令编码是否一致,并在确定一致时,确定所述已执行指令中包括所述目标指令,所述目标指令即为上述的用于使虚拟机进入空闲占用状态的HLT指令。进一步地,若所述服务器确定所述虚拟机的已执行指令中包括目标指令,则确定所述虚拟机处于所述空闲占用状态;否则,确定所述虚拟机未处于所述空闲占用状态。
S302,若确定所述虚拟机处于空闲占用状态,则获取待处理的主机进程,其中,所述空闲占用状态是指:所述虚拟机与运行该虚拟器的目标处理器为绑定关系,且所述虚拟机已执行使得所述虚拟机进入所述空闲占用状态的指令。
S303,调用所述目标处理器执行所述主机进程。
在一个实施例中,步骤S302和步骤S303的具体实施方式可参加上述实施例中步骤S202和步骤S203的具体实施方式,在此不再赘述。
S304,检测所述虚拟机是否从所述空闲占用状态切换为唤醒状态。
在一个实施例中,服务器也可基于虚拟机的指令执行信息确定虚拟机是否进行状态的切换,在具体实现中,服务器可在检测到中断触发事件时,基于所述中断触发事件获取所述虚拟机的新的指令执行信息;从而可基于所述新的指令执行信息确定所述虚拟机进程是否从所述空闲占用状态切换为唤醒状态,其中,所述中断触发事件包括以下一项或多项:执行返回,执行异常,系统调用,状态切换,以及预设时间周期到达。所述服务器获取的新的指令执行信息也可以是新的指令执行标识,或者新的指令执行地址。其中,所述唤醒状态为所述虚拟机结束空闲占用状态后,并在进入工作状态执行虚拟机进程之前的状态。
S305,若确定所述虚拟机切换到所述唤醒状态,根据调度策略对所述目标处理器进行调度处理,以使得经调度处理后的所述目标处理器执行所述虚拟机中的虚拟机进程。
在一个实施例中,服务器在确定所述虚拟机切换到唤醒状态后,在根据所述调度策略对所述目标处理器进行调度处理时,若所述调度策略为优先级策略,所述服务器则可根据所述调度策略的指示,按照所述虚拟机进程的优先级和待处理的其他主机进程的优先级,对所述目标处理器进行调度处理,其中,为所述虚拟机进程设置的的优先级高于所述待处理的其他主机进程的优先级,因此,进行调度处理后的所述目标处理器用于执行所述虚拟机中的虚拟机进程。
在一个实施例中,所述服务器虚拟机进程的优先级和主机进程的优先级是用户通过调度类型设置接口预先为所述虚拟机进程和主机进程设置的,在具体实现中,基于用户通过该调度类型设置接口的优先级设置操作,服务器可将虚拟机进程的优先级进行调整,以使得虚拟机进程对应的优先级高于主机进程的优先级,或者,所述服务器还可调整虚拟机进程的类型,如将虚拟机进程调整为实时类型,从而可实现对虚拟机进程优先级的提升,又或者,用户还可基于操作系统提供的处理器权重配置权限,对目标处理器的权重值进行调整,以使得虚拟机进程可获得较大的目标处理器的权重,从而可提升虚拟机进程的优先级,其中,用户可通过调整处理器控制组(central processing unit control group,CPUcgroup)中的权重(cpu share)配置,以使得虚拟机进程获得更大的权重(share)值,也就是说虚拟机进程的优先级更高。其中,较高优先级的虚拟机进程在调用目标处理器时,可获得更多的执行时间片,也就是说,虚拟机占用目标处理器执行虚拟机进程的时间长于主机占用目标处理器执行主机进程的时间。
在一个实施例中,所述调度策略还可以是基于抢占时延的策略,服务器在根据调度策略对目标处理器进行调度处理时,还可根据所述调度策略的指示,按照所述虚拟机进程的抢占时延和待处理的其他主机进程的抢占时延,对所述目标处理器进行调度处理,其中,为所述虚拟机进程设置的抢占时延低于所述待处理的其他主机进程的抢占时延,因此进行处理后的目标处理器用于执行所述虚拟机中的虚拟机进程。
在一个实施例中,为保证任务(或进程)调度执行的吞吐量,服务器可预先为各进程设置用于进行处理器抢占的抢占时延,该抢占时延是为进程设置用于进行服务器抢占的门限值,该抢占时延一般为3毫秒,其中,该门限值用于保证处理器在当前任务运行到一定的时间后,才进行下一个进程的抢占,可防止进程对服务器的频繁抢占所导致的频繁任务切换而引起的处理器性能损耗问题。因此,服务器可降低虚拟机进程的抢占时延(虚拟机的抢占时延例如可以设置为2毫秒或者1毫秒等),使虚拟机进程相对主机进程具有更快的抢占,从而降低虚拟机进程的调度延时。
在具体实现中,服务器在为虚拟机进程设置较低的抢占时延后,其中,设置的抢占时延为2毫秒,服务器若确定下一个待执行的进程为虚拟机中的虚拟机进程,则服务器可再让目标处理器执行当前的主机进程2毫秒,就调用目标处理器执行该虚拟机进程,以让虚拟机进程实现对目标处理器的快速抢占;而如果服务器确定下一个待执行的进程仍然为主机进程,而主机进程对应的抢占时延为3毫秒,则服务器可再让目标处理器执行当前的主机进程3毫秒,并在3毫秒后进行目标处理器的抢占,可在保证对虚拟机进程的调度及时性的同时,不降低处理器对进程的处理吞吐量。在一个实施例中,服务器在对目标处理器进行抢占时间,可将待处理的进程和正在处理的进程进行上下文切换,完成对处理器的抢占过程。
在一个实施例中,为了更清晰地对虚拟机进程和主机进程调用目标处理器的情况进行说明,请先参见图4a,当前服务器可调用目标处理器相继执行虚拟机中的虚拟机进程和主机中的主机进程,而虚拟机真是运行时间较短,而是长时间处于空闲占用状态,导致目标处理器的处理资源较为浪费,而基于本申请提出的处理器调度方法,服务器可在虚拟机有实际处理虚拟机进程的需求时,调用目标处理器进行虚拟机进程的执行,并为虚拟机进程设置有较长的执行时间片,而在虚拟机处于空闲占用状态时,则可调用目标处理器执行主机进程,实现对目标处理器资源的有效利用。由于虚拟机进程的抢占延时小于主机进程的抢占延时,所以在虚拟机内部进程被唤醒时,可即是对虚拟机进程进行感知,从而抢占回来目标处理器,以执行虚拟机进程,使得虚拟机进程具有较高的实时性,而且,由于为虚拟机进程设置的实际运行时间片比主机进程长,可保证虚拟机进程的调度优先级,如图4b所示。
在本发明实施例中,服务器基于对虚拟机的指令执行信息的监测,若确定虚拟机处于空闲占用状态,则可调用目标处理器自行主机进程,而在服务器检测到虚拟机从空闲占用状态切换为唤醒状态时,则可基于调度策略调度目标处理器执行虚拟机中的虚拟机进程,使得服务器可通过感知虚拟机内部的空闲占用状态,实现对目标处理器的动态调度,在保证虚拟机进程调度的优先性和及时性的同时,能充分利用目标处理器的处理资源,解决了调度不公平的问题,同时还可提升虚拟机的性能,由于服务器不再需要保留处理器资源用于对主机进程和虚拟机进程进行隔离,可有效节省成本,同时,也可使得对服务器的部署更加便捷,从而可提升用户体验。
基于上述处理器调度方法实施例的描述,本发明实施例还提出了一种处理器调度装置,该处理器调度装置可以是运行于上述服务器中的一个计算机程序(包括程序代码)。该处理器调度装置可用于执行如图2和图3所述的处理器调度方法,请参见图5,该处理器调度装置可包括:监测单元501,确定单元502,获取单元503,以及调用单元504。
监测单元501,用于监测虚拟机的指令执行信息;
确定单元502,用于根据该指令执行信息确定该虚拟机所处的状态;
获取单元503,还用于若确定该虚拟机处于空闲占用状态,则获取待处理的主机进程,其中,该空闲占用状态是指:该虚拟机与运行该虚拟器的目标处理器为绑定关系,且该虚拟机已执行使得该虚拟机进入该空闲占用状态的指令;
调用单元504,用于调用该目标处理器执行该主机进程。
在一个实施例中,该装置还包括:检测单元504。
检测单元504,用于检测该虚拟机是否从该空闲占用状态切换为唤醒状态;
该调用单元504,还用于若确定该虚拟机切换到该唤醒状态,根据调度策略对该目标处理器进行调度处理,以使得经调度处理后的该目标处理器执行该虚拟机中的虚拟机进程。
在一个实施例中,该调用单元504,具体用于:
根据该调度策略的指示,按照该虚拟机进程的优先级和待处理的其他主机进程的优先级,对该目标处理器进行调度处理;
其中,为该虚拟机进程设置的优先级高于该待处理的其他主机进程的优先级。
在一个实施例中,该调用单元504,具体用于:
根据该调度策略的指示,按照该虚拟机进程的抢占时延和待处理的其他主机进程的抢占时延,对该目标处理器进行调度处理;
其中,为该虚拟机进程设置的抢占时延低于该待处理的其他主机进程的抢占时延。
在一个实施例中,该检测单元505,具体用于:
检测中断触发事件,并基于该中断触发事件获取该虚拟机的新的指令执行信息;
基于该新的指令执行信息确定该虚拟机进程是否从该空闲占用状态切换为唤醒状态;
其中,该中断触发事件包括以下一项或多项:执行返回,执行异常,系统调用,状态切换,以及预设时间周期到达。
在一个实施例中,该指令执行信息包括:指令执行标识;该确定单元502,具体用于:
判断该指令执行标识和空闲占用标识是否一致;
若一致,则确定该虚拟机处于该空闲占用状态;否则,确定该虚拟机未处于该空闲占用状态。
在一个实施例中,该指令执行信息包括:指令执行地址;该确定单元502,具体用于:
根据该指令执行地址,确定该虚拟机的已执行指令中是否包括目标指令,该目标指令用于使该虚拟机处于该空闲占用状态;
若是,则确定该虚拟机处于该空闲占用状态;
若否,则确定该虚拟机未处于该空闲占用状态。
在一个实施例中,该确定单元502,具体用于:
按照预设的地址转换关系,确定该指令执行地址对应的物理地址,并获取该物理地址存储的指令;
判断该物理地址存储的指令对应的指令编码和目标指令对应的指令编码是否一致,并在确定一致时,确定该已执行指令中包括该目标指令。
在本发明实施例中,基于监测单元501对虚拟机的指令执行信息的检测,确定单元502可确定虚拟机所处的状态,在该确定单元502确定该虚拟机处于空闲占用状态时,获取单元503可进一步获取待处理的主机进程,调用单元504则可调用该虚拟机对应的目标处理器运行该待执行的主机进程,实现了在虚拟机处于空闲占用状态的情况下,对目标处理器处理资源的释放,使得虚拟机可以在不退出的情况下,可调用目标处理器处理主机进程,实现了对目标处理器资源的有效利用。
请参见图6,是本发明实施例提供的一种服务器的结构示意性框图。如图6所示的本实施例中的服务器可包括:一个或多个处理器601;一个或多个输入设备602,一个或多个输出设备603和存储器604。上述处理器601、输入设备602、输出设备603和存储器604通过总线605连接。存储器604用于存储计算机程序,该计算机程序包括程序指令,处理器601用于执行该存储器604存储的程序指令。
该存储器604可以包括易失性存储器(volatile memory),如随机存取存储器(random-access memory,RAM);存储器604也可以包括非易失性存储器(non-volatilememory),如快闪存储器(flash memory),固态硬盘(solid-state drive,SSD)等;存储器604还可以包括上述种类的存储器的组合。
该处理器601可以是中央处理器(central processing unit,CPU)。该处理器601还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路(application-specificintegrated circuit,ASIC),可编程逻辑器件(programmable logic device,PLD)等。该PLD可以是现场可编程逻辑门阵列(field-programmable gate array,FPGA),通用阵列逻辑(generic array logic,GAL)等。该处理器601也可以为上述结构的组合。
本发明实施例中,该存储器604用于存储计算机程序,该计算机程序包括程序指令,处理器601用于执行存储器604存储的程序指令,用来实现上述如图2和图3中相应方法的步骤。
在一个实施例中,该处理器601被配置调用该程序指令,用于执行:
监测虚拟机的指令执行信息,并根据该指令执行信息确定该虚拟机所处的状态;
若确定该虚拟机处于空闲占用状态,则获取待处理的主机进程,其中,该空闲占用状态是指:该虚拟机与运行该虚拟器的目标处理器为绑定关系,且该虚拟机已执行使得该虚拟机进入该空闲占用状态的指令;
调用该目标处理器执行该主机进程。
在一个实施例中,该处理器601被配置调用该程序指令,用于执行:
检测该虚拟机是否从该空闲占用状态切换为唤醒状态;
若确定该虚拟机切换到该唤醒状态,根据调度策略对该目标处理器进行调度处理,以使得经调度处理后的该目标处理器执行该虚拟机中的虚拟机进程。
在一个实施例中,该处理器601被配置调用该程序指令,用于执行:
根据该调度策略的指示,按照该虚拟机进程的优先级和待处理的其他主机进程的优先级,对该目标处理器进行调度处理;
其中,为该虚拟机进程设置的的优先级高于该待处理的其他主机进程的优先级。
在一个实施例中,该处理器601被配置调用该程序指令,用于执行:
根据该调度策略的指示,按照该虚拟机进程的抢占时延和待处理的其他主机进程的抢占时延,对该目标处理器进行调度处理;
其中,为该虚拟机进程设置的抢占时延低于该待处理的其他主机进程的抢占时延。
在一个实施例中,该处理器601被配置调用该程序指令,用于执行:
检测中断触发事件,并基于该中断触发事件获取该虚拟机的新的指令执行信息;
基于该新的指令执行信息确定该虚拟机进程是否从该空闲占用状态切换为唤醒状态;
其中,该中断触发事件包括以下一项或多项:执行返回,执行异常,系统调用,状态切换,以及预设时间周期到达。
在一个实施例中,该指令执行信息包括:指令执行标识;该处理器601被配置调用该程序指令,用于执行:
判断该指令执行标识和空闲占用标识是否一致;
若一致,则确定该虚拟机处于该空闲占用状态;否则,确定该虚拟机未处于该空闲占用状态。
在一个实施例中,该指令执行信息包括:指令执行地址;该处理器601被配置调用该程序指令,用于执行:
根据该指令执行地址,确定该虚拟机的已执行指令中是否包括目标指令,该目标指令用于使该虚拟机处于该空闲占用状态;
若是,则确定该虚拟机处于该空闲占用状态;
若否,则确定该虚拟机未处于该空闲占用状态。
在一个实施例中,该处理器601被配置调用该程序指令,用于执行:
按照预设的地址转换关系,确定该指令执行地址对应的物理地址,并获取该物理地址存储的指令;
判断该物理地址存储的指令对应的指令编码和目标指令对应的指令编码是否一致,并在确定一致时,确定该已执行指令中包括该目标指令。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所揭露的仅为本发明的局部实施例而已,当然不能以此来限定本发明之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或局部流程,并依本发明权利要求所作的等同变化,仍属于发明所涵盖的范围。
Claims (11)
1.一种处理器调度方法,其特征在于,包括:
监测虚拟机的指令执行信息,并根据所述指令执行信息确定所述虚拟机所处的状态;
若确定所述虚拟机处于空闲占用状态,则获取待处理的主机进程,其中,所述空闲占用状态是指:所述虚拟机与运行该虚拟器的目标处理器为绑定关系,且所述虚拟机已执行使得所述虚拟机进入所述空闲占用状态的指令;
调用所述目标处理器执行所述主机进程。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
检测所述虚拟机是否从所述空闲占用状态切换为唤醒状态;
若确定所述虚拟机切换到所述唤醒状态,根据调度策略对所述目标处理器进行调度处理,以使得经调度处理后的所述目标处理器执行所述虚拟机中的虚拟机进程。
3.根据权利要求2所述的方法,其特征在于,所述根据调度策略对所述目标处理器进行调度处理,包括:
根据所述调度策略的指示,按照所述虚拟机进程的优先级和待处理的其他主机进程的优先级,对所述目标处理器进行调度处理;
其中,为所述虚拟机进程设置的优先级高于所述待处理的其他主机进程的优先级。
4.根据权利要求2所述的方法,其特征在于,所述根据调度策略对所述目标处理器进行调度处理,包括:
根据所述调度策略的指示,按照所述虚拟机进程的抢占时延和待处理的其他主机进程的抢占时延,对所述目标处理器进行调度处理;
其中,为所述虚拟机进程设置的抢占时延低于所述待处理的其他主机进程的抢占时延。
5.根据权利要求2所述的方法,其特征在于,所述检测所述虚拟机是否从所述空闲占用状态切换为唤醒状态,包括:
检测中断触发事件,并基于所述中断触发事件获取所述虚拟机的新的指令执行信息;
基于所述新的指令执行信息确定所述虚拟机进程是否从所述空闲占用状态切换为唤醒状态;
其中,所述中断触发事件包括以下一项或多项:执行返回,执行异常,系统调用,状态切换,以及预设时间周期到达。
6.根据权利要求1所述的方法,其特征在于,所述指令执行信息包括:指令执行标识;所述根据所述指令执行信息确定所述虚拟机所处的状态,包括:
判断所述指令执行标识和空闲占用标识是否一致;
若一致,则确定所述虚拟机处于所述空闲占用状态;否则,确定所述虚拟机未处于所述空闲占用状态。
7.根据权利要求1所述的方法,其特征在于,所述指令执行信息包括:指令执行地址;所述根据所述指令执行信息确定所述虚拟机所处的状态,包括:
根据所述指令执行地址,确定所述虚拟机的已执行指令中是否包括目标指令,所述目标指令用于使所述虚拟机处于所述空闲占用状态;
若是,则确定所述虚拟机处于所述空闲占用状态;
若否,则确定所述虚拟机未处于所述空闲占用状态。
8.根据权利要求7所述的方法,其特征在于,所述根据所述指令执行地址,确定所述虚拟机的已执行指令中是否包括目标指令,包括:
按照预设的地址转换关系,确定所述指令执行地址对应的物理地址,并获取所述物理地址存储的指令;
判断所述物理地址存储的指令对应的指令编码和目标指令对应的指令编码是否一致,并在确定一致时,确定所述已执行指令中包括所述目标指令。
9.一种处理器调度装置,其特征在于,包括:
监测单元,用于监测虚拟机的指令执行信息;
确定单元,用于根据所述指令执行信息确定所述虚拟机所处的状态;
获取单元,用于若确定所述虚拟机处于空闲占用状态,则获取待处理的主机进程,其中,所述空闲占用状态是指:所述虚拟机与运行该虚拟器的目标处理器为绑定关系,且所述虚拟机已执行使得所述虚拟机进入所述空闲占用状态的指令;
调用单元,用于调用所述目标处理器执行所述主机进程。
10.一种服务器,其特征在于,包括处理器、存储器和通信接口,所述处理器、所述存储器和所述通信接口相互连接,其中,所述存储器用于存储计算机程序指令,所述处理器被配置用于执行所述程序指令,实现如权利要求1-8任一项所述的方法。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行如权利要求1-8任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010073343.6A CN111324432B (zh) | 2020-01-21 | 处理器调度方法、装置、服务器及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010073343.6A CN111324432B (zh) | 2020-01-21 | 处理器调度方法、装置、服务器及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111324432A true CN111324432A (zh) | 2020-06-23 |
CN111324432B CN111324432B (zh) | 2024-06-25 |
Family
ID=
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112783626A (zh) * | 2021-01-21 | 2021-05-11 | 珠海亿智电子科技有限公司 | 中断处理方法、装置、电子设备及存储介质 |
CN113032098A (zh) * | 2021-03-25 | 2021-06-25 | 深信服科技股份有限公司 | 一种虚拟机调度方法、装置、设备及可读存储介质 |
CN114124678A (zh) * | 2021-11-30 | 2022-03-01 | 中国工商银行股份有限公司 | 知识图谱展示方法及装置 |
CN114327814A (zh) * | 2021-12-09 | 2022-04-12 | 阿里巴巴(中国)有限公司 | 任务调度方法、虚拟机、物理主机和存储介质 |
WO2023160359A1 (zh) * | 2022-02-23 | 2023-08-31 | 阿里巴巴(中国)有限公司 | 资源调度方法以及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105242957A (zh) * | 2015-09-28 | 2016-01-13 | 广州云晫信息科技有限公司 | 一种云计算系统调配gpu资源到虚拟机的方法及系统 |
CN107810488A (zh) * | 2017-08-11 | 2018-03-16 | 深圳前海达闼云端智能科技有限公司 | 一种虚拟机的状态管理方法、装置和智能终端 |
US20180239625A1 (en) * | 2017-02-22 | 2018-08-23 | Red Hat, Inc. | Cpu overcommit with guest idle polling |
CN108804211A (zh) * | 2018-04-27 | 2018-11-13 | 西安华为技术有限公司 | 线程调度方法、装置、电子设备及存储介质 |
CN110688202A (zh) * | 2019-10-09 | 2020-01-14 | 腾讯科技(深圳)有限公司 | 服务进程调度方法、装置、设备及存储介质 |
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105242957A (zh) * | 2015-09-28 | 2016-01-13 | 广州云晫信息科技有限公司 | 一种云计算系统调配gpu资源到虚拟机的方法及系统 |
US20180239625A1 (en) * | 2017-02-22 | 2018-08-23 | Red Hat, Inc. | Cpu overcommit with guest idle polling |
CN107810488A (zh) * | 2017-08-11 | 2018-03-16 | 深圳前海达闼云端智能科技有限公司 | 一种虚拟机的状态管理方法、装置和智能终端 |
CN108804211A (zh) * | 2018-04-27 | 2018-11-13 | 西安华为技术有限公司 | 线程调度方法、装置、电子设备及存储介质 |
CN110688202A (zh) * | 2019-10-09 | 2020-01-14 | 腾讯科技(深圳)有限公司 | 服务进程调度方法、装置、设备及存储介质 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112783626A (zh) * | 2021-01-21 | 2021-05-11 | 珠海亿智电子科技有限公司 | 中断处理方法、装置、电子设备及存储介质 |
CN112783626B (zh) * | 2021-01-21 | 2023-12-01 | 珠海亿智电子科技有限公司 | 中断处理方法、装置、电子设备及存储介质 |
CN113032098A (zh) * | 2021-03-25 | 2021-06-25 | 深信服科技股份有限公司 | 一种虚拟机调度方法、装置、设备及可读存储介质 |
CN113032098B (zh) * | 2021-03-25 | 2024-04-09 | 深信服科技股份有限公司 | 一种虚拟机调度方法、装置、设备及可读存储介质 |
CN114124678A (zh) * | 2021-11-30 | 2022-03-01 | 中国工商银行股份有限公司 | 知识图谱展示方法及装置 |
CN114327814A (zh) * | 2021-12-09 | 2022-04-12 | 阿里巴巴(中国)有限公司 | 任务调度方法、虚拟机、物理主机和存储介质 |
WO2023160359A1 (zh) * | 2022-02-23 | 2023-08-31 | 阿里巴巴(中国)有限公司 | 资源调度方法以及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10430226B2 (en) | Dynamic virtual machine sizing | |
US7945908B1 (en) | Method and system for improving the accuracy of timing and process accounting within virtual machines | |
US9298504B1 (en) | Systems, devices, and techniques for preempting and reassigning tasks within a multiprocessor system | |
CN107203428B (zh) | 一种基于Xen的VCPU多核实时调度算法 | |
CN111897637B (zh) | 作业调度方法、装置、主机及存储介质 | |
CN111316237A (zh) | 用于实时虚拟网络功能编排的方法、装置和系统 | |
US10782999B2 (en) | Method, device, and single-tasking system for implementing multi-tasking in single-tasking system | |
JP2008186136A (ja) | 計算機システム | |
EP3376381A1 (en) | Resource management method and system, and computer storage medium | |
CN111414246B (zh) | 具备tee扩展的计算平台上的跨安全世界实时功能调用方法及装置 | |
Madden | Challenges using linux as a real-time operating system | |
US9122521B2 (en) | Enabling multiple operating systems to run concurrently using barrier task priority | |
US20180181447A1 (en) | Clock Task Processing Method, Apparatus, and Device | |
CN111597044A (zh) | 任务调度方法、装置、存储介质及电子设备 | |
Lettieri et al. | A study of I/O performance of virtual machines | |
EP2395430B1 (en) | Virtual computer allocation method, allocation program, and information processing device having a virtual computer environment | |
CN109766168B (zh) | 任务调度方法和装置、存储介质以及计算设备 | |
US10963250B2 (en) | Selectively suppressing time intensive instructions based on a control value | |
CN108241522B (zh) | 虚拟化环境中的睡眠状态切换方法、装置及电子设备 | |
CN111324432B (zh) | 处理器调度方法、装置、服务器及存储介质 | |
CN111324432A (zh) | 处理器调度方法、装置、服务器及存储介质 | |
Beckert et al. | Exploiting sporadic servers to provide budget scheduling for ARINC653 based real-time virtualization environments | |
US20210149705A1 (en) | Method of accessing device in virtual environment | |
CN114281529A (zh) | 分布式虚拟化的客户操作系统调度优化方法、系统及终端 | |
CN113032154A (zh) | 一种虚拟cpu的调度方法、装置、电子设备及存储介质 |
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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40024424 Country of ref document: HK |
|
GR01 | Patent grant |