System and method for detecting access to shared structures and for maintaining coherence of derived structures in virtualized multiprocessor systems
    1.
    发明授权
    System and method for detecting access to shared structures and for maintaining coherence of derived structures in virtualized multiprocessor systems 有权
    用于检测对共享结构的访问并维护虚拟化多处理器系统中派生结构的一致性的系统和方法

    公开(公告)号:US06961806B1

    公开(公告)日:2005-11-01

    申请号:US10016072

    申请日:2001-12-10

    IPC分类号: G06F12/00

    CPC分类号: G06F9/45537 G06F9/4812

    摘要: A computer system includes at least one virtual machine that has a plurality of virtual processors all running on an underlying hardware platform. A software interface layer such as a virtual machine monitor establishes traces on primary structures located in a common memory space as needed for the different virtual processors. Whenever any one of the virtual processors generates a trace event, such as accessing a traced structure, then a notification is sent to at least the other virtual processors that have a trace on the accessed primary structure. In some applications, the VMM derives and maintains secondary structures corresponding to the primary structures, such as where the VMM converts, through binary translation, original code intended to run on a virtual processor into code that can be run on an underlying physical processor of the hardware platform. In these applications, the VMM may rederive or invalidate the secondary structures as needed upon receipt of the notification of the trace event. Different semantics are provided for the notification, providing different choices of performance versus guaranteed consistency between primary and secondary structures. In the preferred embodiment of the invention, a dedicated sub-system is included within the VMM for each virtual processor; each sub-system establishes traces, senses trace events, issues the notification, and performs other operations relating specifically to its respective virtual processor.

    摘要翻译: 计算机系统包括至少一个虚拟机,其具有在底层硬件平台上运行的多个虚拟处理器。 诸如虚拟机监视器之类的软件接口层根据不同虚拟处理器的需要,在位于公共存储器空间中的主结构上建立迹线。 无论何时任何一个虚拟处理器生成跟踪事件(例如访问跟踪结构),则向至少在所访问的主要结构上具有跟踪的其他虚拟处理器发送通知。 在某些应用中,VMM导出和维护对应于主要结构的二级结构,例如VMM通过二进制转换将旨在在虚拟处理器上运行的原始代码转换为可以在底层物理处理器上运行的代码 硬件平台。 在这些应用中,VMM可以在接收到跟踪事件的通知时根据需要重新激活或使二级结构无效。 为通知提供不同的语义,提供不同的性能选择与主要和次要结构之间的一致性保证。 在本发明的优选实施例中,专用子系统包括在每个虚拟处理器的VMM内; 每个子系统建立跟踪,感测跟踪事件,发出通知,并执行与其各自的虚拟处理器专门相关的其他操作。