Exposure of virtual cache topology to a guest operating system
AssigneeMicrosoft Corporation
InventorsAditya Bhandari, Dmitry Meshchaninov, Shuvabrata Ganguly
Life of this patent
Estimating the term…
Abstract
In a virtual machine environment, a hypervisor is configured to expose a virtual cache topology to a guest operating system, such that the virtual cache topology may be provided by corresponding physical cache topology. The virtual cache topology may be determined by the hypervisor or, in the case of a datacenter environment, may be determined by the datacenter's management system. The virtual cache topology may be calculated from the physical cache topology of the system such that virtual machines may be instantiated with virtual processors and virtual cache that may be mapped to corresponding logical processors and physical cache.
Claims20
A computer readable storage memory device that is not a signal including executable instructions, comprising:
- instructions for calculating a virtual cache topology based on a physical cache topology of a computer system, wherein the virtual cache topology calculated with respect to cache levels shared when virtual processor instructions are executed on a plurality of logical processors;
- instructions for instantiating a virtual machine comprising one or more virtual processors having the virtual cache topology;
- instructions for exposing the virtual cache topology to a guest operating system, and
- instructions for booting the guest operating system in the virtual machine.
A computing system, comprising:
- a logical processor;
- a cache memory organized according to a cache topology;
- a memory;
- and
- computer-executable instructions stored in the memory, wherein said computer-executable instructions comprises:
- instructions for calculating a virtual cache topology that is based on a physical cache topology of a plurality of computer system, the virtual cache topology information calculated with respect to cache levels shared when virtual processor instructions are executed on a plurality of logical processors;
- instructions for instantiating a virtual machine comprising one or more virtual processors having the virtual cache topology;
- instructions for exposing the virtual cache topology to a guest operating system;
- and
- instructions for booting a guest operating system in the virtual machine.
A computer implemented method for generating a virtual cache topology for virtual machines operable to execute on a plurality of computer systems, comprising:
- sending a request by a management system to a plurality of computer systems for physical cache topology information;
- receiving the physical cache topology information from the plurality of computer systems;
- determining a sharing cardinality, wherein the sharing cardinality is based on the physical cache topology information;
- determining a sharing level, wherein the sharing level is based on the physical cache topology information and the sharing cardinality;
- and
- calculating a virtual cache topology that can be honored by a majority of the plurality of computer systems.
Dependencies are inferred from the claim text.