当前位置: 首页 > 专利查询>谷歌公司专利>正文

虚拟机系统技术方案

技术编号:16707946 阅读:20 留言:0更新日期:2017-12-02 23:10
多种方法、系统和设备,包括在计算机存储媒介上编码的计算机程序,用于虚拟机的存储器请求。所述方法中的一个方法包括针对在装置上执行的多个虚拟机生成多个门铃页,向所述多个虚拟机中的每一个虚拟机提供对所述多个门铃页中的识别存储来自相应的虚拟机的请求的队列的相应一个门铃页的访问,从所述多个门铃页中的一个特定门铃页接收相应的队列具有来自所述相应的虚拟机的请求的通知,并且响应于接收到所述相应的队列具有来自所述相应的虚拟机的请求的所述通知,使处理器处理针对所述相应的虚拟机的所述相应的队列。

Virtual machine system

A variety of methods, systems and devices, including computer programs coded on a computer storage medium, used for memory requests for virtual machines. A method includes the method for multiple virtual machines executing at the device generates a plurality of bell pages, providing a virtual machine on the plurality of bell in the page from the corresponding identification storage request queue corresponding to a bell page visits to each of the plurality of virtual machines in the virtual machine, receive notification of the corresponding queue from a specific page of the plurality of the bell bell page has a virtual machine from the corresponding request, and response corresponding to the received queue with a virtual machine from the corresponding request of the notification, the processor the virtual machine for the corresponding to the corresponding queue.

【技术实现步骤摘要】
【国外来华专利技术】虚拟机系统
技术介绍
本说明书涉及虚拟机系统的存储器访问。虚拟机(例如,云虚拟机)有时需要通往其虚拟装置的约束双向通信路径。例如,虚拟机可使用具有头指针和尾指针的循环缓冲器。管理程序、管理程序代理或可信物理装置可轮询头指针,以确定虚拟机何时有新请求入队,并且可读取队列的内容。一些系统可使用若干处理器核心来轮询队列。
技术实现思路
在一些具体实施中,管理程序(例如,管理程序助手)可监测针对多个虚拟机的多个队列,并且可能监测针对每个虚拟机的多个队列,其中针对每个队列使用门铃页。管理程序使用门铃页来确定是否以及何时在队列中存在包括用于处理器的工作的条目。管理程序可在门铃页被按响时更新位向量,并且将位向量提供给处理器,以指示哪些队列需要服务。当门铃页被按响时,管理程序可将门铃页或来自门铃页的值复制到存储器,例如,以供管理程序或处理器使用。当处理器可能正在执行其它工作时,管理程序可向处理器发送中断,以向处理器通知所述工作。管理程序助手可为被配置为执行上文所述的步骤的应用程序或硬件。在一些具体实施中,助手应用程序或装置(例如,管理程序或管理程序助手应用程序或装置)可在将应用程序(例如,虚拟机)从第一装置迁移到第二装置期间控制存储器访问。助手可监测应用程序所使用的存储器的页并且在迁移进程期间仅使来自所述页的脏字节转移到第二装置。一般来说,本说明书中所描述的主题的一个创新性方面可在包括以下动作的方法中体现:针对在装置上执行的多个虚拟机,生成多个门铃页;向所述多个虚拟机中的每一个虚拟机提供对所述多个门铃页中的识别存储来自相应的虚拟机的请求的队列的相应一个门铃页的访问;从所述多个门铃页中的一个特定门铃页接收相应的队列具有来自相应的虚拟机的请求的通知;以及响应于接收到相应的队列具有来自相应的虚拟机的请求的通知,使处理器处理针对相应的虚拟机的相应的队列。这个方面的其它实施例包括对应的计算机系统、设备和记录在一个或多个计算机存储装置上的计算机程序,其均被配置为执行所述方法的动作。一般来说,本说明书中所描述的主题的一个创新性方面可在包括以下动作的方法中体现:启动迁移进程,以在继续在第一装置上执行应用程序的同时,通过将存储在第一装置的存储器中并且用于在第一装置上执行应用程序的数据页从第一装置复制到第二装置来将在第一装置上执行的应用程序从第一装置移动到第二装置;在迁移进程期间,响应于在第一装置上执行应用程序,通过第一装置而更新所述数据页中的至少一个数据页中的一个或多个字节;停止在第一装置上执行应用程序;以及将更新的字节从第一装置复制到第二装置,以使第二装置继续执行所述应用程序。这个方面的其它实施例包括对应的计算机系统、设备和记录在一个或多个计算机存储装置上的计算机程序,其均被配置为执行所述方法的动作。具有一个或多个计算机的系统可被配置为借助于安装在所述系统上的、在操作中使所述系统执行特定动作的软件、固件、硬件或其组合来执行所述特定操作或动作。一个或多个计算机程序可被配置为借助于包括在由数据处理设备执行时使所述设备执行特定动作的指令来执行所述特定操作或动作。前述实施例和其它实施例均可任选地单独或组合地包括以下特征中的一个或多个特征。所述方法可包括在处理器处理请求的同时继续执行相应的虚拟机。所述方法可包括在接收相应的队列具有来自相应的虚拟机的请求的通知之前接收对相应的队列的更新。在一些具体实施中,所述方法包括生成阵列,所述阵列包括针对所述多个门铃页中的每一个门铃页的相应条目,该相应的条目唯一地对应于所述门铃页并且唯一地识别由所述门铃页识别的队列,并且响应于接收到相应的队列具有来自相应的虚拟机的请求的通知,更新所述阵列中的识别相应的队列的相应条目。使处理器处理针对相应的虚拟机的相应的队列可包括:将阵列提供给处理器,以使处理器处理针对相应的虚拟机的相应的队列。生成包括针对所述多个门铃页中的每一个门铃页的、包括唯一地对应于所述门铃页并且唯一地识别由所述门铃页识别的队列的相应条目的阵列可包括:生成位向量,其包括针对所述多个门铃页中的每一个门铃页的相应条目,该相应条目唯一地对应于所述门铃页并且唯一地识别由所述门铃页识别的队列。更新所述阵列中的识别相应的队列的相应条目可包括:更新位向量中的识别相应的队列的相应条目。将所述阵列提供给处理器以使处理器处理针对相应的虚拟机的相应的队列可包括:将位向量提供给处理器,以使处理器处理针对相应的虚拟机的相应的队列。将所述阵列提供给处理器以使处理器处理针对相应的虚拟机的相应的队列可包括:将阵列提供给处理器,以使处理器处理针对所述多个虚拟机的多个队列。在一些具体实施中,使处理器处理针对相应的虚拟机的相应的队列包括:向处理器发送中断。向所述多个虚拟机中的每一个虚拟机提供对所述多个门铃页中的识别存储来自相应的虚拟机的请求的队列的相应一个门铃页的访问可包括:向所述多个虚拟机中的每一个虚拟机提供对所述多个门铃页中的包括相应的队列的头节点的相应一个门铃页的访问。向所述多个虚拟机中的每一个虚拟机提供对所述多个门铃页中的识别存储来自相应的虚拟机的请求的队列的相应一个门铃页的访问可包括:向所述多个虚拟机中的每一个虚拟机提供对所述多个门铃页中的识别存储来自相应的虚拟机的请求的环形缓冲器的相应一个门铃页的访问。在一些具体实施中,生成所述多个门铃页包括:向所述多个门铃页中的每一个门铃页分配相应的地址,并且向所述多个虚拟机中的每一个门铃页提供对所述多个门铃页中的识别存储来自相应的虚拟机的请求的队列的相应一个门铃页的访问包括:向所述多个虚拟机中的每一个虚拟机提供指向相应的虚拟机的相应的地址。生成所述多个门铃页可包括:生成跟踪结构并且将来自跟踪结构的相应索引分配给所述多个门铃页中的每一个门铃页,并且向所述多个虚拟机中的每一个门铃页提供对所述多个门铃页中的识别存储来自相应的虚拟机的请求的队列的相应一个门铃页的访问可包括:向所述多个虚拟机中的每一个虚拟机提供用于指向相应的虚拟机的相应索引的地址。生成所述多个门铃页可包括:针对所述多个门铃页中的每一个门铃页生成页,并且针对所述多个门铃页中的每一个门铃页分配非零偏移距,所述多个门铃页中的相应一个门铃页在相应的页内驻留在所述非零偏移距处。向所述多个虚拟机中的每一个虚拟机提供对所述多个门铃页中的识别存储来自相应的虚拟机的请求的队列的相应一个门铃页的访问可包括:向所述多个虚拟机中的每一个虚拟机提供用于指向相应的虚拟机的相应的页和非零偏移距的地址。在一些具体实施中,所述方法包括生成多个第二门铃页,并且向所述多个虚拟机中的至少一些虚拟机中的每一个虚拟机提供对多个第二门铃页中的识别存储来自相应的虚拟机的第二请求的第二队列的相应一个门铃页的访问,且第一类型的所述请求不同于第二类型的所述第二请求。从所述多个门铃页中的一个特定门铃页接收相应的队列具有来自相应的虚拟机的请求的通知可包括:从所述多个门铃页中的一个特定门铃页接收识别请求类型的通知。使处理器处理针对相应的虚拟机的相应的队列可包括:确定所述请求类型包括第一类型,确定被分配为服务第一类型的请求的特定处理器,并且使所述特定处理器处理针对相应的虚拟机的相应的队列。所述方法可包括在装置的第一处理器上执行所述多个虚拟机。使特定处理器处理针对相应的虚拟机的相应的队列可包括本文档来自技高网...
虚拟机系统

【技术保护点】
一种计算机实施的方法,包括:针对在装置上执行的多个虚拟机生成多个门铃页;向所述多个虚拟机中的每一个虚拟机提供对所述多个门铃页中的识别存储来自相应的虚拟机的请求的队列的相应一个门铃页的访问;从所述多个门铃页中的一个特定门铃页接收相应的队列具有来自所述相应的虚拟机的请求的通知;以及响应于接收到所述相应的队列具有来自所述相应的虚拟机的请求的所述通知,使处理器处理针对所述相应的虚拟机的所述相应的队列。

【技术特征摘要】
【国外来华专利技术】2015.04.16 US 14/688,258;2015.05.28 US 14/724,2591.一种计算机实施的方法,包括:针对在装置上执行的多个虚拟机生成多个门铃页;向所述多个虚拟机中的每一个虚拟机提供对所述多个门铃页中的识别存储来自相应的虚拟机的请求的队列的相应一个门铃页的访问;从所述多个门铃页中的一个特定门铃页接收相应的队列具有来自所述相应的虚拟机的请求的通知;以及响应于接收到所述相应的队列具有来自所述相应的虚拟机的请求的所述通知,使处理器处理针对所述相应的虚拟机的所述相应的队列。2.根据权利要求1所述的方法,包括:在所述处理器处理所述请求时,继续执行所述相应的虚拟机。3.根据权利要求1所述的方法,包括:在接收所述相应的队列具有来自所述相应的虚拟机的请求的所述通知之前,接收对所述相应的队列的更新。4.根据权利要求1所述的方法,包括:生成阵列,所述阵列包括针对所述多个门铃页中的每一个门铃页的相应条目,该相应条目唯一地对应于该门铃页并且唯一地识别由该门铃页识别的所述队列;以及响应于接收到所述相应的队列具有来自所述相应的虚拟机的请求的所述通知,更新所述阵列中的识别所述相应的队列的所述相应条目,其中,使所述处理器处理针对所述相应的虚拟机的所述相应的队列包括:将所述阵列提供给所述处理器以使所述处理器处理针对所述相应的虚拟机的所述相应的队列。5.根据权利要求4所述的方法,其中:生成包括针对所述多个门铃页中的每一个门铃页的、唯一地对应于该门铃页并且唯一地识别由该门铃页识别的所述队列的相应条目的所述阵列包括:生成位向量,所述位向量包括针对所述多个门铃页中的每一个门铃页的相应条目,该相应条目唯一地对应于该门铃页并且唯一地识别由该门铃页识别的所述队列;更新所述阵列中的识别所述相应的队列的所述相应条目包括:更新所述位向量中的识别所述相应的队列的所述相应条目;并且将所述阵列提供给所述处理器以使所述处理器处理针对所述相应的虚拟机的所述相应的队列包括:将所述位向量提供给所述处理器以使所述处理器处理针对所述相应的虚拟机的所述相应的队列。6.根据权利要求4所述的方法,其中将所述阵列提供给所述处理器以使所述处理器处理针对所述相应的虚拟机的所述相应的队列包括:将所述阵列提供给所述处理器,以使所述处理器处理针对所述多个虚拟机的多个队列。7.根据权利要求1所述的方法,其中使处理器处理针对所述相应的虚拟机的所述相应的队列包括:向所述处理器发送中断。8.根据权利要求1所述的方法,其中向所述多个虚拟机中的每一个虚拟机提供对所述多个门铃页中的识别存储来自相应的虚拟机的请求的所述队列的所述相应一个门铃页的访问包括:向所述多个虚拟机中的每一个虚拟机提供对所述多个门铃页中的包括该相应的队列的头节点的相应一个门铃页的访问。9.根据权利要求1所述的方法,其中向所述多个虚拟机中的每一个虚拟机提供对所述多个门铃页中的识别存储来自相应的虚拟机的请求的所述队列的所述相应一个门铃页的访问包括:向所述多个虚拟机中的每一个虚拟机提供对所述多个门铃页中的识别存储来自所述相应的虚拟机的请求的环形缓冲器的相应一个门铃页的访问。10.根据权利要求1所述的方法,其中:生成所述多个门铃页包括:向所述多个门铃页中的每一个门铃页分配相应的地址;并且向所述多个虚拟机中的每一个虚拟机提供对所述多个门铃页中的识别存储来自所述相应的虚拟机的请求的所述队列的所述相应一个门铃页的访问包括:向所述多个虚拟机中的每一个虚拟机提供指向所述相应的虚拟机的所述相应的地址。11.根据权利要求1所述的方法,其中:生成所述多个门铃页包括:生成跟踪结构并且向所述多个门铃页中的每一个门铃页分配来自所述跟踪结构的相应索引;并且向所述多个虚拟机中的每一个虚拟机提供对所述多个门铃页中的识别存储来自所述相应的虚拟机的请求的所述队列的所述相应一个门铃页的访问包括:向所述多个虚拟机中的每一个虚拟机提供用于指向所述相应的虚拟机的所述相应索引的地址。12.根据权利要求1所述的方法,其中:生成所述多个门铃页包括:针对所述多个门铃页中的每一个门铃页生成页;以及针对所述多个门铃页中的每一个门铃页分配非零偏移距,所述多个门铃页中的所述相应一个门铃页在相应的页内驻留在所述非零偏移距处;并且向所述多个虚拟机中的每一个虚拟机提供对所述多个门铃页中的识别存储来自所述相应的虚拟机的请求的所述队列的所述相应一个门铃页的访问包括:向所述多个虚拟机中的每一个虚拟机提供用于指向所述相应虚拟机的所述相应页和所述非零偏移距的地址。13.根据权利要求1所述的方法,包括:生成多个第二门铃页;以及向所述多个虚拟机中的至少一些虚拟机中的每一个门铃页提供对所述多个第二门铃页中的识别存储来自相应的虚拟机的第二请求的第二队列的相应一个门铃页的访问,第一类型的所述请求不同于第二类型的所述第二请求,其中:从所述多个门铃页中的所述一个特定门铃页接收所述相应的队列具有来自所述相应的虚拟机的请求的所述通知包括:从所述多个门铃页中的所述一个特定门铃页接收识别请求类型的通知;并且使所述处理器处理针对所述相应的虚拟机的所述相应的队列包括:确定所述请求类型包括所述第一类型;确定被分配为服务所述第一类型的请求的特定处理器;以及使所述特定处理器处理针对所述相应的虚拟机的所述相应的队列。14.根据权利要求13所述的方法,包括:在所述装置的第一处理器上执行所述多个虚拟机,其中使所述特定处理器处理针对所述相应的虚拟机的所述相应的队列包括:向在不同的第二处理器上执行的管理程序提供消息,以使所述不同的第二处理器处理针对所述相应的虚拟机的所述相应的队列。15.根据权利要求14所述的方法,...

【专利技术属性】
技术研发人员:本杰明·C·谢布里
申请(专利权)人:谷歌公司
类型:发明
国别省市:美国,US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1