虚拟机操作中的并行化的制作方法_5

文档序号:9672968阅读:来源:国知局
行可以被并行执行,使得多个指令一起被检索、加载和/或执行。程序代码指令的执行可以产生计算机实现的过程,使得由计算机系统100或处理器104执行的指令提供用于实现在此描述的功能的操作。
[0082]处理器104对指令的执行或存储器106中指令的存储支持操作的组合以便执行特定功能。还应当理解的是,一个或多个功能和功能的组合可以由执行特定功能或专用硬件和程序代码指令的组合的专用的基于硬件的计算机系统和/或处理器来实现。
[0083]本领域技术人员将想到在此所阐述的许多修改和其它实施例,关于该修改和其它实施例的这些公开具有在前面描述和相关附图中所呈现的教导的益处。因此,应理解的是,本公开不限于所公开的具体实施例,并且修改和其他实施例旨在被包括在所附权利要求的范围之内。而且,尽管前述描述和相关附图在元件和/或功能的某些示例性组合的环境中描述示例实施例,应该认识到,在不偏离所附权利要求的范围的情况下,元件和/或功能的不同组合可以由替代实施例来提供。在这方面,例如,不同于以上明确描述的那些的元件和/或功能也被认为是可以在一些所附权利要求中阐述。尽管本文采用特定术语,但它们仅用于一般的和描述性的意义,而不是用于限制的目的。
【主权项】
1.一种用于提供虚拟化服务的计算机系统(100),所述计算机系统(100)包括一个或多个中央处理器即CPU(104a)、一个或多个附加CPU(104b)以及存储计算机可读程序代码部分的存储器(106),所述计算机可读程序代码部分响应于通过一个或多个CPU(104a)和一个或多个附加CPU(104b)的执行,使得所述计算机系统(100)至少: 识别可执行为多个任务的一个或多个计算机程序(122),包括使得所述计算机系统(100)识别来自所述多个任务中的一个或多个任务;和 通过在虚拟机(114)中的一个或多个虚拟CPU (118a)执行所述一个或多个计算机程序(122),所述虚拟机(114)被限定以提供用于目标硬件平台的虚拟化的虚拟化平台(116),使得所述计算机系统(100)执行所述一个或多个计算机程序(122)包括使得至少: 通过所述虚拟机(114)中的所述一个或多个虚拟CPU(118a)执行除已识别的一个或多个任务以外的所述多个任务,所述虚拟机(114)被执行在所述计算机系统(100)的所述一个或多个CPU (104a)上;和 在所述计算机系统(100)的所述一个或多个附加CPU (104b)上执行所述已识别的一个或多个任务,使得所述已识别的一个或多个任务由所述计算机系统(100)的所述一个或多个附加CPU(104b)执行,所述已识别的一个或多个任务的执行至少部分地并行于通过所述虚拟机(114)中的所述一个或多个虚拟CPU(118a)对除所述已识别的一个或多个任务以外的所述多个任务的执行, 其中所述目标硬件平台包括用于执行所述多个任务的一个或多个CPU,所述一个或多个CPU在数量上不大于所述计算机系统(100)上的所述一个或多个CPU (104a),除所述已识别的一个或多个任务以外的所述多个任务被执行在所述计算机系统(100)上的所述一个或多个CPU(104a)上。2.根据权利要求1所述的计算机系统(100),其中,使得所述计算机系统(100)识别所述已识别的一个或多个任务包括使得所述计算机系统分析所述一个或多个计算机程序(122)的一个或多个符号表以识别所述已识别的一个或多个任务。3.根据权利要求1所述的计算机系统(100),其中所述多个任务包括一个或多个前台任务和一个或多个后台任务,并且使得所述计算机系统(100)识别所述已识别的一个或多个任务包括使得计算机系统识别所述一个或多个后台任务。4.根据权利要求1所述的计算机系统(100),其中所述多个任务在时间的相应点处被调度执行,使得所述计算机系统(100)在所述已识别的一个或多个任务被调度执行所在的时间的所述相应点之前在所述一个或多个附加CPU(104b)上执行所述已识别的一个或多个任务。5.根据权利要求4所述的计算机系统(100),其中使得所述计算机系统(100)执行除所述已识别的一个或多个任务以外的所述多个任务包括使得在所述已识别的一个或多个任务被调度执行所在的时间的所述相应点的每个点处,通过所述一个或多个虚拟CPU(118a)执行方法存根,或立即移动到由所述一个或多个虚拟CPU(118a)执行的所述多个任务的下一调度的任务。6.根据权利要求1所述的计算机系统(100),其中使得所述计算机系统(100)执行所述已识别的一个或多个任务包括使得由在执行在所述计算机系统(100)的所述一个或多个附加CPU(104b)上的所述虚拟机(114)中的一个或多个附加虚拟CPU (118b)执行所述已识别的一个或多个任务,所述一个或多个附加虚拟CPU (118b)对被配置为管理所述虚拟化平台(116)的操作系统(124)是隐藏的。7.根据权利要求1所述的计算机系统(100),其中所述多个任务在由表观时间基准(120)跟踪的表观时间的相应点处被调度执行,并且其中在执行除所述已识别的一个或多个任务以外的所述多个任务期间,使得所述计算机系统(100)进一步至少: 在除所述已识别的一个或多个任务以外的所述多个任务的所有前台任务已经被执行所在的表观时间处检测当前点,或在所述一个或多个虚拟CPU(118a)是空闲所在的表观时间处检测当前点;并响应于此, 使用大于所述表观时间基准(120)来跟踪所述表观时间所在的频率的频率将所述表观时间从所述当前点推进到随后的点。8.一种提供虚拟化服务的方法,所述方法包括: 识别(602)可执行为多个任务的一个或多个计算机程序(122),识别所述一个或多个计算机程序(122)包括识别来自所述多个任务的一个或多个任务;和 通过在虚拟机(114)中的一个或多个虚拟中央处理器(CPU)执行(604)所述一个或多个计算机程序(122),所述虚拟机(114)被执行在主机硬件平台(102)上并且被限定以提供用于虚拟化目标硬件平台的虚拟化平台(116),执行所述一个或多个计算机程序(122)包括: 通过所述虚拟机(114)中的所述一个或多个虚拟CPU(118a)执行^04a)除已识别的一个或多个任务以外的所述多个任务,所述虚拟机(114)被执行在所述主机硬件平台(102)的一个或多个CPU (104a)上;和 在所述主机硬件平台(102)的一个或多个附加CPU(104b)上执行^04b)所述已识别的一个或多个任务,使得所述已识别的一个或多个任务由所述主机硬件平台(102)的所述一个或多个附加CPU(104b)来执行,所述已识别的一个或多个任务的执行至少部分地并行于通过所述虚拟机(114)中的所述一个或多个虚拟CPU(118a)对除所述已识别的一个或多个任务以外的所述多个任务的执行, 其中所述目标硬件平台包括用于执行所述多个任务的一个或多个CPU,所述一个或多个CPU在数量上不大于所述主机硬件平台(102)上的所述一个或多个CPU (104a),除所述已识别的一个或多个任务以外的所述多个任务被执行在所述计算机硬件平台(102)上的所述一个或多个CPU(104a)上。9.根据权利要求8所述的方法,其中识别所述已识别的一个或多个任务包括分析所述一个或多个计算机程序(122)的一个或多个符号表以识别所述已识别的一个或多个任务。10.根据权利要求8所述的方法,其中所述多个任务包括一个或多个前台任务和一个或多个后台任务,并且识别所述已识别的一个或多个任务包括识别所述一个或多个后台任务。11.根据权利要求8所述的方法,其中所述多个任务在时间的相应点处被调度执行,在所述已识别的一个或多个任务被调度执行所在的时间的相应点之前在所述一个或多个附加CPU(104b)上执行所述已识别的一个或多个任务。12.根据权利要求11所述的方法,其中执行除所述已识别的一个或多个任务以外的所述多个任务包括在所述已识别的一个或多个任务被调度执行所在的时间的相应点的每个点处,通过所述一个或多个虚拟CPU(118a)执行方法存根,或立即移动到由所述一个或多个虚拟CPU(118a)执行的所述多个任务的下一调度的任务。13.根据权利要求8所述的方法,其中执行所述已识别的一个或多个任务包括通过所述虚拟机(114)中的一个或多个附加虚拟CPU(118b)执行所述已识别的一个或多个任务,所述虚拟机(114)被执行在所述主机硬件平台(102)的所述一个或多个附加CPU(104b)上,所述一个或多个附加的虚拟CPU(118b)对被配置为管理所述虚拟化平台(116)的操作系统(124)是隐藏的。14.根据权利要求8所述的方法,其中所述多个任务在由表观时间基准(120)跟踪的表观时间的相应点处被调度执行,并且其中在执行除所述已识别的一个或多个任务以外的所述多个任务期间,所述方法进一步包括: 在除所述已识别的一个或多个任务以外的所述多个任务的所有前台任务已经被执行所在的表观时间处检测当前点,或所述一个或多个虚拟CPU(118a)是空闲的所在的表观时间处检测当前点;并响应于此, 使用大于所述表观时间基准(120)跟踪所述表观时间所在的频率的频率将所述表观时间从所述当前点推进到随后的点。
【专利摘要】根据一种提供虚拟化服务的方法,可执行为多个任务的计算机程序可以被识别,如来自多个任务的任务。计算机程序(122)可以由执行在主机硬件平台上的虚拟机(114)中的虚拟中央处理器(CPU)(118a)来执行,并且被限定以提供用于虚拟化目标硬件平台的虚拟化平台(116)。这可以包括除(已识别的)任务以外的由在执行在主机硬件平台的CPU(104a)上的虚拟机(116)中的虚拟CPU(118a)执行的,并且至少部分地与执行在主机硬件平台的附加CPU(104b)上的这些任务并行的多个任务。目标硬件平台可以包括用于执行多个任务的CPU(104a),所述CPU在数量上不大于主机硬件平台的CPU,除该任务以外的多个任务被执行在主机硬件平台上的CPU上。
【IPC分类】G06F9/48, G06F9/455
【公开号】CN105446795
【申请号】CN201510606615
【发明人】J·N·霍特拉
【申请人】波音公司
【公开日】2016年3月30日
【申请日】2015年9月22日
【公告号】EP3007065A2, EP3007065A3, US20160085572
当前第5页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1