发明名称 Method and systems for external performance monitoring for virtualized environments
摘要 Embodiments of the present invention provide for performance monitoring of virtualized environments by establishing external performance monitoring (in a primary domain) of a virtual machine manager in whose context a virtual machine operates, and simultaneously capturing information on the virtual machine execution states. In accordance with an embodiment of the present invention, the execution states may comprise any combination of a virtualized processor index, execution address, program (task) identifier, and a timestamp. In one embodiment, a primary domain performance monitoring component may initiate time- or event-based profiling of the virtual machine, and a hypervisor may report the virtualized execution states to the performance monitoring component upon reception of each profiling interrupt. Alternatively, the time-based profiling may be initiated in the virtual machine domain. In this case, the hypervisor or virtual machine manager may enable access from within the virtual machine to performance characteristics collected in the primary domain, or communicate the execution states to the external monitoring component upon reception of each profiling interrupt or upon a change in the virtualized execution states. Performance information collected in the primary domain may then be correlated with the execution states of the virtual machine.
申请公布号 US9459984(B2) 申请公布日期 2016.10.04
申请号 US200712739339 申请日期 2007.10.29
申请人 Intel Corporation 发明人 Bratanov Stanislav Viktorovich
分类号 G06F9/455;G06F11/34 主分类号 G06F9/455
代理机构 Grossman, Tucker, Perreault & Pfleger, PLLC 代理人 Grossman, Tucker, Perreault & Pfleger, PLLC
主权项 1. In a processing system that enables the use of physical performance monitoring capabilities to measure program performance in virtualized execution environments, a computer implemented method comprising: collecting performance events for a processor using a performance monitoring unit in the processor; counting the performance events collected by the performance monitoring unit; causing the performance monitoring unit to generate a performance monitoring interruption to interrupt the normal execution flow of the processor based on a count of the performance events exceeding a certain number; determining, using a hypervisor executed by the processor, that the interruption occurred during a period of activity of at least one virtual machine; reporting architectural states of the at least one virtual machine to a primary domain performance monitoring component synchronously with the performance monitoring interruption based on the determination of the hypervisor, wherein architectural states comprise information to identify at least one virtualized processor in the at least one virtual machine and an instruction address being executed; reporting system states of the at least one virtual machine to the primary domain performance monitoring component synchronously with the performance monitoring interruption based on the determination of the hypervisor; monitoring system activity within the virtual domain in response to the system states not being reported; measuring program performance in the at least one virtual machine by associating processor performance characteristics with the system and architectural states of the at least one virtual machine; and raising the precision of the performance characteristics-state association by redistributing, by the processor, performance events between virtualized system activity states of separate virtualized processors within separate virtual machines; wherein said performance monitoring interruption is generated due to a change in the performance monitoring process.
地址 Santa Clara CA US