Adaptive dynamic selection and application of multiple virtualization techniques
AssigneeVMware, Inc.
InventorsKeith M. Adams, Jeffrey W. Sheldon, Vyacheslav V. Malyugin
Life of this patent
Estimating the term…
Abstract
Autonomous selection between multiple virtualization techniques implemented in a virtualization layer of a virtualized computer system. The virtual machine monitor implements multiple virtualization support processors that each provide for the comprehensive handling of potential virtualization exceptions. A virtual machine monitor resident virtualization selection control is operable to select between use of first and second virtualization support processors dependent on identifying a predetermined pattern of temporally local privilege dependent instructions within a portion of an instruction stream as encountered in the execution of a guest operating system.
Claims20
An adaptive virtualization system providing for virtualized execution of guest operating systems within virtual machines on a host computer system, said adaptive virtualization system comprising:
- a) a host platform, including a central processing unit and memory, operable to execute instructions;
- b) a guest operating system executable by said host platform as an instruction stream, said instruction stream including a plurality of defined portions;
- and
- c) a virtual machine monitor, executable by said host platform, including first and second virtualization support processors, each operable to enable functional execution of privilege dependent instructions, and a virtualization control unit operable to select between use of said first and second virtualization support processors, said virtualization control unit dynamically selecting between said first and second virtualization support processors dependent on identifying a predetermined pattern of temporally local privilege dependent instructions within respective ones of said plurality of defined portions.
A computer system supporting partitioning virtualization to manage execution of guest operating systems within virtual machines on a host computer system platform, said adaptive computer system comprising:
- a) a virtual machine encapsulating a guest operating system, wherein virtualization-based execution of said guest operating system requires managed execution of privilege dependent instructions;
- and
- b) a virtual machine monitor implementing a virtualization control unit, along with first and second virtualization subsystems so that each provides for managed execution of privilege dependent instructions, said virtualization control unit being operative to recognize a pattern of privilege dependent instructions characterized as mutually temporally local in a corresponding portion of an instruction stream, said virtualization control unit being operative to dynamically select between use of said first and second virtualization subsystems dependent on identification of said pattern in said instruction stream.
A method of optimizing the virtualization execution of a guest operating system on a host computer system, wherein execution of predetermined privilege dependent instructions, encountered in the execution of the guest operating system, are processed using a defined virtualization technique implemented by a virtual machine monitor, said method comprising the steps of:
- a) executing, by said host computer system, an instruction stream implementing a guest operating system subject to a first virtualization technique implemented by said virtual machine monitor;
- b) identifying a pattern of privilege dependent instructions distributed within a defined portion of said instruction stream;
- c) selecting, with respect to first and second virtualization techniques implemented by said virtual machine monitor, a one of said first and second virtualization techniques to implement in execution, by said host computer system, of said defined portion of said instruction stream.
A method of enabling efficient virtualization of a guest operating system executable within a virtual machine on a host computer system with the support of a virtual machine monitor, said method comprising the steps of:
- a) identifying, within an instruction stream representing the execution of a guest operating system, a hot execution path, wherein said hot execution path includes a plurality of temporally local privilege dependent instructions within a defined portion of said instruction stream;
- and
- b) binary translating said hot execution path to incorporate alterations to said defined portion to enable deprivileged execution of privilege dependent instructions within said defined portion consistent with the virtualization execution of said guest operating system.
Dependencies are inferred from the claim text.