CN101470635A - 一种多虚拟处理器同步调度的方法及计算机 - Google Patents

一种多虚拟处理器同步调度的方法及计算机 Download PDF

Info

Publication number
CN101470635A
CN101470635A CNA200710304034XA CN200710304034A CN101470635A CN 101470635 A CN101470635 A CN 101470635A CN A200710304034X A CNA200710304034X A CN A200710304034XA CN 200710304034 A CN200710304034 A CN 200710304034A CN 101470635 A CN101470635 A CN 101470635A
Authority
CN
China
Prior art keywords
physical cpu
virtual processor
vcpu
operating system
client operating
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
CNA200710304034XA
Other languages
English (en)
Other versions
CN101470635B (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.)
Lenovo Beijing Ltd
Original Assignee
Lenovo Beijing 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 Lenovo Beijing Ltd filed Critical Lenovo Beijing Ltd
Priority to CN200710304034XA priority Critical patent/CN101470635B/zh
Priority to US12/317,483 priority patent/US8381210B2/en
Publication of CN101470635A publication Critical patent/CN101470635A/zh
Application granted granted Critical
Publication of CN101470635B publication Critical patent/CN101470635B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/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
    • 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues

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)
  • Hardware Redundancy (AREA)

Abstract

本发明公开了一种多虚拟处理器VCPU同步调度的方法及计算机,包括一客户操作系统,包括有第一VCPU和第二VCPU;第一物理CPU和第二物理CPU,虚拟机管理器,所述虚拟机管理器包括:同步通知模块,用于在确定所述第一物理CPU调度到的所述第一VCPU需要与所述第二VCPU同步运行时,采用同步方式通知所述第二VCPU对应的第二物理CPU;同步调度模块,用于将所述第二VCPU从所述第二调度队列中调出;其中,所述第二虚拟处理器在所述第二物理CPU上运行。通过前述方案实现对同步GOS的多个VCPU的同步调度,进而有效地解决现有技术中由于多个VCPU的不同步运行造成的超时问题,提高并发程序的执行性能。

Description

一种多虚拟处理器同步调度的方法及计算机
技术领域
本发明主要涉及虚拟机技术领域,尤其涉及一种多虚拟处理器(VCPU,Virtual CPU)同步调度的方法及计算机。
背景技术
现有虚拟机环境下,对于多数客户操作系统(GOS,Guest OperationSystem)来说,属于同一个GOS中的多个VCPU并没有同步运行。虽然目前多数操作系统和应用程序都不太关心多核CPU中的每个CPU是否都同时可用,但是属于同一个GOS中的多个VCPU的不同步运行会引起下列问题。
首先是超时(Timeout)问题。在同一个GOS运行过程中,虚拟机管理器(VMM,Virtual Machine Monitor)将时钟中断仅发给该GOS中的虚拟引导处理器(VBSP,Virtual Bootstrap Processor),如果该GOS中的虚拟应用处理器(VAP,Virtutal Application Processor)的调度与该GOS中的VBSP的调度不同步,则VAP的定时器的超时问题将不可避免。其原因在于,当GOS中的负责程序执行和应用的VAP被调度运行时,GOS中负责系统初始化启动的VBSP已经接收了虚拟机管理器发送的多个时钟中断,这些多个时钟中断使整个GOS的系统时间已经前进了一大段时间,因此,当VAP开始运行时,相对于VAP的运行时间,整个GOS的系统时间已经跳跃了一大段,从而使VAP的时间等待队列上的多个定时器超时。尤其在时钟中断补偿机制情况下,超时问题更容易出现。
另外是并发程序执行性能问题。对于并发程序而言,多个线程或进程不但需要并发执行,而且需要相互同步。例如,当第一个线程需要等待第二个线程的执行结果才能继续执行,此时,就需要第二个线程能尽快得到执行结果;而多个线程会在多个不同的CPU上执行以达到并发。这种情况如果发生在多个不同步的VCPU上,将很可能出现因一个VCPU上的线程或进程未及时运行而带来在其它VCPU上的线程或进程无法运行的现象。显然,这将大大降低并发程序的执行性能。
发明内容
有鉴于此,本发明的实施例的目的在于提供一种多虚拟处理器同步调度的方法及计算机,通过该方法及计算机实现了对同步GOS的多个VCPU的同步调度。
一方面,提供了一种多虚拟处理器同步调度的方法,包括:
确定第一物理CPU调度到的第一虚拟处理器需要与第二虚拟处理器同步运行;
采用同步方式通知所述第二虚拟处理器对应的且包含有调度队列的第二物理CPU;
所述第二物理CPU在所述调度队列中搜索到所述第二虚拟处理器;
将所述第二虚拟处理器从所述调度队列中调出并在所述第二物理CPU上运行。
该方法所述采用同步方式通知所述第二虚拟处理器对应的且包含有调度队列的第二物理CPU具体为:
向所述第二物理CPU发送同步请求;或者,
向所述第一物理CPU发送同步请求,由所述第一物理CPU以预定方式转发所述同步请求给所述第二物理CPU。
该方法所述预定方式为处理器间中断方式。
该方法所述第一虚拟处理器与所述第二虚拟处理器属于同一个客户操作系统,所述客户操作系统为同步客户操作系统。
该方法中,在所述确定第一物理CPU调度到的第一虚拟处理器需要与第二虚拟处理器同步运行前包括:
为所述同步客户操作系统标记同步标识;
根据所述同步标识确定运行的客户操作系统为所述同步客户操作系统。
该方法包括:
根据所述同步客户操作系统的多个虚拟处理器的运行情况布署多个虚拟处理器在对应的多个物理CPU的调度队列中的位置。
另一方面,还提供了一种计算机,所述计算机包括:
一客户操作系统,包括有第一虚拟处理器和第二虚拟处理器;
第一物理CPU和第二物理CPU,所述第一、第二物理CPU分别包含有:第一调度队列和第二调度队列,其中所述第一虚拟处理器与所述第一物理CPU对应,所述第二虚拟处理器与所述第二物理CPU对应;
虚拟机管理器,所述虚拟机管理器包括:
同步通知模块,用于在确定所述第一物理CPU调度到的所述第一虚拟处理器需要与所述第二虚拟处理器同步运行时,采用同步方式通知所述第二虚拟处理器对应的第二物理CPU;
同步调度模块,用于将所述第二虚拟处理器从所述第二调度队列中调出;
其中,所述第二虚拟处理器在所述第二物理CPU上运行。
该计算机所述同步通知模块包括:
第一同步通知单元,用于向所述第二物理CPU发送同步请求;
第二同步通知单元,用于向所述第一物理CPU发送同步请求,由所述第一物理CPU以预定方式转发所述同步请求给所述第二物理CPU。
该计算机所述预定方式为处理器间中断方式。
该计算机所述第一虚拟处理器与所述第二虚拟处理器属于同一个客户操作系统,所述客户操作系统为同步客户操作系统。
该计算机包括:
同步标识模块,用于为所述同步客户操作系统标记同步标识;
同步判断模块,用于根据所述同步标识确定运行的客户操作系统为所述同步客户操作系统。
该计算机包括:
环境调整模块,用于根据所述同步客户操作系统的多个虚拟处理器的运行情况布署所述多个虚拟处理器在多个物理CPU的调度队列中的位置。
本发明的实施例所述的多虚拟处理器同步调度的方法及计算机,根据VCPU的运行情况合理布署同步GOS的多个VCPU在多个物理CPU的调度队列中的位置,当确定当前物理CPU调度到的当前虚拟机处理器需要与其它虚拟机处理器同步运行时,向其它多个物理CPU发送同步请求,使其它多个物理CPU分别搜索到位于其调度队列中的同步GOS的多个VCPU,通过抢占式调度策略将搜索到的该同步GOS的VCPU从调度队列中调出并在相应的物理CPU上运行,从而实现对同步GOS的多个VCPU的同步调度运行,进而有效地解决了现有技术中由于多个VCPU的不同步运行造成的超时问题,提高了并发程序的执行性能。
附图说明
图1为本发明第一具体实施例中多虚拟处理器同步调度装置的结构框图;
图2为本发明第一具体实施例中多虚拟处理器同步调度方法的流程图;
图3为本发明具体实施例中多虚拟处理器同步调度过程示意图;
图4为本发明第二具体实施例中多虚拟处理器同步调度装置的结构框图;
图5为本发明第二具体实施例中多虚拟处理器同步调度方法的流程图。
具体实施方式
下面结合附图详细描述本发明的具体实施例。
VMM为需要多个VCPU同步的GOS标记同步标识,在根据同步标识确定虚拟机系统中存在需要运行的同步GOS后,根据同步GOS的多个VCPU的运行情况合理布署该多个VCPU在多个物理CPU的调度队列中的位置;在判断确定当前物理CPU调度到的VCPU为同步GOS的VCPU后,向当前物理CPU以外的其它物理CPU发送同步请求,使其它物理CPU在各自的VCPU调度队列中找到该同步GOS的VCPU;通过抢占式调度策略将该同步GOS的VCPU从调度队列调出并在相应的物理CPU上运行。
虚拟机环境下,VMM根据当前物理CPU的数量以及虚拟机配置文件的配置信息为每个GOS配置相应数量的VCPU,一般来说,VCPU的数量不能超过物理CPU的数量,其原因在于,当VCPU的数量超过物理CPU的数量时,虚拟机系统将无法实现多个VCPU在与该多个VCPU相对应的多个物理CPU上的同步运行。
图1为本发明第一具体实施例中多虚拟处理器同步调度装置的结构框图,图中包括同步标识模块101、同步判断模块102、环境调整模块103、同步通知模块104和同步调度模块105。其中,
同步标识模块101,用于为同步GOS标记同步标识。
所述同步GOS为包括多个需要被同步调度运行的VCPU的GOS。
同步判断模块102,用于根据同步标识判断虚拟机系统中是否存在需要运行的同步GOS。
环境调整模块103,用于根据同步GOS的多个VCPU的运行情况合理布署该多个VCPU在多个物理CPU的调度队列中的位置。
所述多个物理CPU中的每个物理CPU包含一个调度队列,所述同步GOS的多个VCPU分别与所述多个物理CPU一一对应。例如,所述多个物理CPU包括第一物理CPU和第二物理CPU,所述同步GOS的多个VCPU包括第一VCPU和第二VCPU,其中,所述第一物理CPU包括第一调度队列,所述第二物理CPU包括第二调度队列,根据同步GOS的多个VCPU的运行情况布署该同步GOS的多个VCPU在多个物理CPU的调度队列中的位置具体为:将所述第一VCPU布署到所述第一物理CPU的第一调度队列中,将所述第二VCPU与所述第二物理CPU的第二调度队列中。
同步通知模块104,用于在确定当前物理CPU调度到当前虚拟处理器需要与其它虚拟处理器同步运行时,采用同步方式通知所述其它虚拟处理器对应的其它物理CPU。
同步通知模块104包括状态判断单元1041、第一同步通知单元1042和第二同步通知单元1043,其中,
状态判断单元1041,用于在环境调整模块103调整好的环境下,判断当前物理CPU调度到的VCPU是否为同步GOS的VCPU,如果是,启动第一同步通知单元或第二同步通知单元;否则,不动作,其它物理CPU将按原有调度顺序对调度队列中的VCPU进行调度。
第一同步通知单元1042,用于向其它物理CPU发送同步请求,使其它物理CPU根据该同步请求在各自的调度队列中找到该同步GOS的VCPU。
第二同步通知单元1043,用于向当前物理CPU发送同步请求,使当前物理CPU根据该同步请求向其它物理CPU发送处理器间中断(IPI,InterProcessorInterrupt)信息,从而其它物理CPU根据IPI信息在各自的调度队列中搜索到该同步GOS的VCPU。
同步调度模块105,用于通过抢占式调度策略将搜索到的该同步GOS的VCPU从调度队列中调出并在相应的物理CPU上运行。
所述相应的物理CPU为与该同步GOS的VCPU所在调度队列对应的物理CPU。
图2为本发明第一具体实施例中多虚拟处理器同步调度方法的流程图,具体实施步骤如下:
步骤201,VMM为同步GOS标记同步标识。
该步骤中,所述同步GOS为包括多个需要被同步调度运行的VCPU的GOS。
步骤202,VMM根据同步标识判断虚拟机系统中是否存在需要运行的同步GOS,如果是,进入步骤203;否则,不动作。
步骤203,VMM根据同步GOS的多个VCPU的运行情况合理布署多个VCPU在多个物理CPU的调度队列中的位置。
下面以包括虚拟机管理器、GOS和双核物理CPU的虚拟机系统为例对步骤203进行详细说明:
该虚拟机系统中,GOS包括第一VCPU和第二VCPU,双核物理CPU包括第一物理CPU和第二物理CPU。其中,第一VCPU处于第一物理CPU的调度队列中,等待第一物理CPU的运行;第二VCPU处于第二物理CPU的调度队列中,等待第二物理CPU的运行。当VMM将处于第一物理CPU的调度队列中的第一VCPU调度到第二物理CPU的调度队列时,为保证第一VCPU和第二VCPU的同步调度,VMM将处于第二物理CPU的调度队列中的第二VCPU同步调度到第一物理CPU的调度队列中,从而保证该GOS的两个VCPU分别在不同的物理CPU上同步运行。对于包括两个以上的GOS和多核物理CPU的虚拟机系统,也可以通过上述类似方式实现对同步GOS的多个VCPU的同步调度。
该步骤用于保证同步GOS的多个VCPU能够始终布署在多个物理CPU的调度队列中。
步骤204,VMM判断当前物理CPU调度到的VCPU是否为同步GOS的VCPU,如果是,进入步骤205;否则,不动作,其它物理CPU将按原有调度顺序对调度队列中的VCPU进行调度。
步骤205,采用第一同步通知方式或第二同步通知方式通知其它物理CPU,其它物理CPU根据该同步请求在各自的调度队列中找到该同步GOS的VCPU。
该步骤中,
在第一同步通知方式下,VMM向其它物理CPU发送同步请求,使其它物理CPU根据该同步请求在各自的调度队列中搜索到该同步GOS的VCPU。
在第二同步通知方式下,VMM向该物理CPU发送同步请求,使该物理CPU根据该同步请求向其它物理CPU发送IPI信息,从而使其它物理CPU根据IPI信息在各自的调度队列中搜索到该同步GOS的VCPU。
步骤206,VMM通过抢占式调度策略将搜索到的该同步GOS的VCPU从调度队列调出并在相应的物理CPU上运行。
该步骤中,所述相应的物理CPU为与该同步GOS的VCPU所在调度队列对应的物理CPU。
图3为本发明具体实施例中多虚拟处理器同步调度过程示意图,图3包括第一物理CPU和第二物理CPU,其中,
第一物理CPU的调度队列中包括非同步第四GOS的VCPU0,第一同步GOS的VCPU0,第二非同步GOS的VCPU0、第三非同步GOS的VCPU0;
第二物理CPU的调度队列中包括第二非同步GOS的VCPU1,第四非同步GOS的VCPU1,第三非同步GOS的VCPU1、第一同步GOS的VCPU1;
步骤301、302,第一物理CPU在完成第四非同步GOS的VCPU0的调度运行后,VMM通过抢占式调度策略将调度队列中的第一同步GOS的VCPU0调入第一物理CPU上运行,并将第四非同步GOS的VCPU0从第一物理CPU上调出。
步骤303、304,第二物理CPU在接收到同步请求后,根据同步请求搜索到第一同步GOS的VCPU1,VMM通过抢占式调度策略将调度队列中的第一同步GOS的VCPU1调入第二物理CPU上运行,并将第二非同步GOS的VCPU1从第二物理CPU调出。
图4为本发明第二具体实施例中多虚拟处理器同步调度装置的结构框图,图中包括同步标识模块401、同步判断模块402、同步通知模块403和同步调度模块404。
同步标识模块401,用于为同步GOS标记同步标识。
所述同步GOS为包括多个需要被同步调度运行的VCPU的GOS。
同步判断模块402,根据同步标识确定虚拟机系统中是否存在需要运行的同步GOS。
同步通知模块403,用于在确定当前物理CPU调度到当前虚拟处理器需要与其它虚拟处理器同步运行时,采用同步方式通知所述其它虚拟处理器对应的其它物理CPU。
同步通知模块403包括状态判断模块4031、第一同步通知单元4032和第二同步通知单元4033,其中,
状态判断模块4031,用于判断当前物理CPU调度到的VCPU是否为同步GOS的VCPU,如果是,启动第一同步通知单元或第二同步通知单元;否则,不动作,其它物理CPU将按原有调度顺序对调度队列中的VCPU进行调度。
第一同步通知单元4032,用于向其它物理CPU发送同步请求,使其它物理CPU根据该同步请求在各自的调度队列中搜索到该同步GOS的VCPU。
第二同步通知单元4033,用于向该物理CPU发送同步请求,使该物理CPU根据该同步请求向其它物理CPU发送IPI信息,从而使其它物理CPU根据IPI信息在各自的调度队列中搜索到该同步GOS的VCPU。
同步调度模块404,用于通过抢占式调度策略将搜索到的该同步GOS的VCPU从调度队列中调出并在相应的物理CPU上运行。
所述相应的物理CPU为与该同步GOS的VCPU所在调度队列对应的物理CPU。
图5为本发明第二具体实施例中多虚拟处理器同步调度方法的流程图,
步骤501,VMM为同步GOS标记同步标识。
该步骤中,所述同步GOS为包括多个需要被同步调度运行的VCPU的GOS。
步骤502,VMM根据同步标识判断虚拟机系统中是否存在需要运行的同步GOS,如果是,进入步骤503;否则,不动作。
步骤503,VMM判断当前物理CPU调度到的VCPU是否为同步GOS的VCPU,如果是,进入步骤504;否则,不动作,其它物理CPU将按原有调度顺序对调度队列中的VCPU进行调度。
步骤504,采用第一同步通知方式或第二同步通知方式通知其它物理CPU其它物理CPU根据该同步请求在各自的调度队列中找到该同步GOS的VCPU。
该步骤中,
在第一同步通知方式下,VMM向其它物理CPU发送同步请求,使其它物理CPU根据该同步请求在各自的调度队列中搜索到该同步GOS的VCPU。
在第二同步通知方式下,VMM向该物理CPU发送同步请求,使该物理CPU根据该同步请求向其它物理CPU发送IPI信息,从而使其它物理CPU根据IPI信息在各自的调度队列中搜索到该同步GOS的VCPU。
步骤505,VMM通过抢占式调度策略将搜索到的该同步GOS的VCPU从调度队列调出并在相应的物理CPU上运行。
该步骤中,所述相应的物理CPU为与该同步GOS的VCPU所在调度队列对应的物理CPU。
对于基于SEDF调度算法的虚拟机系统来说,可以采用本发明第二实施例所述的方法实现对同步GOS的多个VCPU的同步调度运行。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (12)

1.一种多虚拟处理器同步调度的方法,其特征在于,包括:
确定第一物理CPU调度到的第一虚拟处理器需要与第二虚拟处理器同步运行;
采用同步方式通知所述第二虚拟处理器对应的且包含有调度队列的第二物理CPU;
所述第二物理CPU在所述调度队列中搜索到所述第二虚拟处理器;
将所述第二虚拟处理器从所述调度队列中调出并在所述第二物理CPU上运行。
2.根据权利要求1所述的方法,其特征在于,所述采用同步方式通知所述第二虚拟处理器对应的且包含有调度队列的第二物理CPU具体为:
向所述第二物理CPU发送同步请求;或者,
向所述第一物理CPU发送同步请求,由所述第一物理CPU以预定方式转发所述同步请求给所述第二物理CPU。
3.根据权利要求2所述的方法,其特征在于,所述预定方式为处理器间中断方式。
4.根据权利要求1所述的方法,其特征在于,所述第一虚拟处理器与所述第二虚拟处理器属于同一个客户操作系统,所述客户操作系统为同步客户操作系统。
5.根据权利要求4所述的方法,其特征在于,在所述确定第一物理CPU调度到的第一虚拟处理器需要与第二虚拟处理器同步运行前包括:
为所述同步客户操作系统标记同步标识;
根据所述同步标识确定运行的客户操作系统为所述同步客户操作系统。
6.根据权利要求4所述的方法,其特征在于,该方法包括:
根据所述同步客户操作系统的多个虚拟处理器的运行情况布署多个虚拟处理器在对应的多个物理CPU的调度队列中的位置。
7.一种计算机,其特征在于,包括:
一客户操作系统,包括有第一虚拟处理器和第二虚拟处理器;
第一物理CPU和第二物理CPU,所述第一、第二物理CPU分别包含有:第一调度队列和第二调度队列,其中所述第一虚拟处理器与所述第一物理CPU对应,所述第二虚拟处理器与所述第二物理CPU对应;
虚拟机管理器,所述虚拟机管理器包括:
同步通知模块,用于在确定所述第一物理CPU调度到的所述第一虚拟处理器需要与所述第二虚拟处理器同步运行时,采用同步方式通知所述第二虚拟处理器对应的第二物理CPU;
同步调度模块,用于将所述第二虚拟处理器从所述第二调度队列中调出;
其中,所述第二虚拟处理器在所述第二物理CPU上运行。
8.根据权利要求7所述的计算机,其特征在于,所述同步通知模块包括:
第一同步通知单元,用于向所述第二物理CPU发送同步请求;
第二同步通知单元,用于向所述第一物理CPU发送同步请求,由所述第一物理CPU以预定方式转发所述同步请求给所述第二物理CPU。
9.根据权利要求8所述的计算机,其特征在于,所述预定方式为处理器间中断方式。
10.根据权利要求7所述的计算机,其特征在于,所述第一虚拟处理器与所述第二虚拟处理器属于同一个客户操作系统,所述客户操作系统为同步客户操作系统。
11.根据权利要求7所述的计算机,其特征在于,该计算机包括:
同步标识模块,用于为所述同步客户操作系统标记同步标识;
同步判断模块,用于根据所述同步标识确定运行的客户操作系统为所述同步客户操作系统。
12.根据权利要求7所述的计算机,其特征在于,该计算机包括:
环境调整模块,用于根据所述同步客户操作系统的多个虚拟处理器的运行情况布署所述多个虚拟处理器在多个物理CPU的调度队列中的位置。
CN200710304034XA 2007-12-24 2007-12-24 一种多虚拟处理器同步调度的方法及计算机 Active CN101470635B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN200710304034XA CN101470635B (zh) 2007-12-24 2007-12-24 一种多虚拟处理器同步调度的方法及计算机
US12/317,483 US8381210B2 (en) 2007-12-24 2008-12-23 Method and computer for synchronous scheduling of multiple virtual CPUs

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN200710304034XA CN101470635B (zh) 2007-12-24 2007-12-24 一种多虚拟处理器同步调度的方法及计算机

Publications (2)

Publication Number Publication Date
CN101470635A true CN101470635A (zh) 2009-07-01
CN101470635B CN101470635B (zh) 2012-01-25

Family

ID=40828123

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200710304034XA Active CN101470635B (zh) 2007-12-24 2007-12-24 一种多虚拟处理器同步调度的方法及计算机

Country Status (2)

Country Link
US (1) US8381210B2 (zh)
CN (1) CN101470635B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102053858A (zh) * 2010-12-28 2011-05-11 华中科技大学 一种虚拟cpu调度方法
CN103699428A (zh) * 2013-12-20 2014-04-02 华为技术有限公司 一种虚拟网卡中断亲和性绑定的方法和计算机设备
CN106250217A (zh) * 2016-07-22 2016-12-21 无锡华云数据技术服务有限公司 一种多虚拟处理器间的同步调度方法及其调度系统
CN106383747A (zh) * 2016-08-31 2017-02-08 华为技术有限公司 一种计算资源调度方法及装置
CN111459622A (zh) * 2020-04-15 2020-07-28 腾讯科技(深圳)有限公司 调度虚拟cpu的方法、装置、计算机设备和存储介质
CN115237573A (zh) * 2022-08-05 2022-10-25 中国铁塔股份有限公司 数据处理方法、装置、电子设备和可读存储介质

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8806496B2 (en) * 2009-09-30 2014-08-12 Intel Corporation Virtualizing a processor time counter during migration of virtual machine by determining a scaling factor at the destination platform
US9298504B1 (en) * 2012-06-11 2016-03-29 Amazon Technologies, Inc. Systems, devices, and techniques for preempting and reassigning tasks within a multiprocessor system
US20140229940A1 (en) * 2013-02-14 2014-08-14 General Dynamics C4 Systems, Inc. Methods and apparatus for synchronizing multiple processors of a virtual machine

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6961941B1 (en) * 2001-06-08 2005-11-01 Vmware, Inc. Computer configuration for resource management in systems including a virtual machine
AU2002329560A1 (en) * 2001-09-25 2003-04-07 Koninklijke Philips Electronics N.V. Software support for virtual machine interpreter (vmi) acceleration hardware
CN1828544B (zh) * 2005-03-02 2013-01-02 英特尔公司 利用同步开销以改善多线程性能的机制

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102053858A (zh) * 2010-12-28 2011-05-11 华中科技大学 一种虚拟cpu调度方法
CN102053858B (zh) * 2010-12-28 2013-05-22 华中科技大学 一种虚拟cpu调度方法
CN103699428A (zh) * 2013-12-20 2014-04-02 华为技术有限公司 一种虚拟网卡中断亲和性绑定的方法和计算机设备
WO2015090158A1 (zh) * 2013-12-20 2015-06-25 华为技术有限公司 一种虚拟网卡中断亲和性绑定的方法和计算机设备
US10768960B2 (en) 2013-12-20 2020-09-08 Huawei Technologies Co., Ltd. Method for affinity binding of interrupt of virtual network interface card, and computer device
CN106250217A (zh) * 2016-07-22 2016-12-21 无锡华云数据技术服务有限公司 一种多虚拟处理器间的同步调度方法及其调度系统
CN106383747A (zh) * 2016-08-31 2017-02-08 华为技术有限公司 一种计算资源调度方法及装置
CN111459622A (zh) * 2020-04-15 2020-07-28 腾讯科技(深圳)有限公司 调度虚拟cpu的方法、装置、计算机设备和存储介质
CN111459622B (zh) * 2020-04-15 2023-10-13 腾讯科技(深圳)有限公司 调度虚拟cpu的方法、装置、计算机设备和存储介质
CN115237573A (zh) * 2022-08-05 2022-10-25 中国铁塔股份有限公司 数据处理方法、装置、电子设备和可读存储介质
CN115237573B (zh) * 2022-08-05 2023-08-18 中国铁塔股份有限公司 数据处理方法、装置、电子设备和可读存储介质

Also Published As

Publication number Publication date
US8381210B2 (en) 2013-02-19
US20090183153A1 (en) 2009-07-16
CN101470635B (zh) 2012-01-25

Similar Documents

Publication Publication Date Title
CN101470635B (zh) 一种多虚拟处理器同步调度的方法及计算机
CN102890643B (zh) 基于应用效果即时反馈的显卡虚拟化下的资源调度系统
CN102073545B (zh) 操作系统中防止用户界面卡屏的进程调度方法及装置
CN101452404B (zh) 一种嵌入式操作系统的任务调度装置及方法
CN101290588B (zh) 一种微嵌入式实时任务调度器及调度方法
CN102314391B (zh) 一种基于硬件基础工具监视虚拟化系统性能的架构及方法
US8584126B2 (en) Systems and methods for enabling threads to lock a stage prior to processing data
CN101876926B (zh) 一种非对称结构的软件三机热备容错方法
EP2187316B1 (en) Gated storage system and synchronization controller and method for multiple multi-threaded processors
EP3002682A1 (en) Method for redundant operation of a controller
CN102833310B (zh) 一种基于虚拟化技术的工作流引擎集群系统
KR20140107408A (ko) 그래픽스 처리 유닛 상의 가상 기계들 사이의 변경
CN101557420A (zh) 虚拟机监控器高效网络通信的实现方法
US8151147B2 (en) Synchronize error handling for a plurality of partitions
CN103473138A (zh) 基于线程池的多任务队列调度方法
CN1685315A (zh) 支持处理器上的多并发执行上下文的体系结构
CN103744716A (zh) 一种基于当前vcpu调度状态的动态中断均衡映射方法
CN103678022B (zh) 容错系统和用于执行容错的方法
WO2008045341A1 (en) Inter-processor communication method
CN103473129A (zh) 线程数目可伸缩的多任务队列调度系统及其实现方法
CN101206582A (zh) 一种虚拟机系统及其处理方法
CN103078893A (zh) 应用于云端计算的控管装置及控管备援系统
CN101539864B (zh) 自适应的保障可信客户虚拟域正常启动的方法
Ahn et al. Accelerating critical OS services in virtualized systems with flexible micro-sliced cores
CN100576175C (zh) 用于多个内核的并行执行的方法和系统

Legal Events

Date Code Title Description
C06 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