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所述的方法,...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。