WO2005062177A2 - Virtual machine management using activity information - Google Patents

Virtual machine management using activity information Download PDF

Info

Publication number
WO2005062177A2
WO2005062177A2 PCT/US2004/038978 US2004038978W WO2005062177A2 WO 2005062177 A2 WO2005062177 A2 WO 2005062177A2 US 2004038978 W US2004038978 W US 2004038978W WO 2005062177 A2 WO2005062177 A2 WO 2005062177A2
Authority
WO
WIPO (PCT)
Prior art keywords
virtual machine
activity
virtual
monitor
access
Prior art date
Application number
PCT/US2004/038978
Other languages
French (fr)
Other versions
WO2005062177A3 (en
Inventor
Vijay Tewari
Original Assignee
Intel Corporation
Knauerhase, Robert
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corporation, Knauerhase, Robert filed Critical Intel Corporation
Priority to EP04811666A priority Critical patent/EP1692616A2/en
Priority to JP2006541554A priority patent/JP2007512632A/en
Publication of WO2005062177A2 publication Critical patent/WO2005062177A2/en
Publication of WO2005062177A3 publication Critical patent/WO2005062177A3/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources

Definitions

  • the present disclosure relates to the management of virtual machine(s) using information regarding the activity of the virtual machine(s), and, more specifically, to the reallocating of resources amongst virtual machine(s) based, at least in part, upon the activity of the virtual machine(s).
  • NM The abstraction of a NM is such that the software installed inside the VM believes that is has exclusive ownership of the underlying hardware.
  • Each NM may function as a self-contained platform, running its own operating system (OS), or a copy of the OS, and/or various software applications.
  • OS operating system
  • Software executing within a NM is collectively referred to as "guest software".
  • a typical NMM which may be considered the controller of the NMs, may enhance performance of a NM by permitting direct access to the underlying physical machine in some situations. This may be especially appropriate when an operation is being performed in non-privileged mode in the guest software, which limits access to the physical machine or when operations will not make use of hardware resources in the physical machine to which the NMM seeks to retain control.
  • the NMM may swap guest software state in and out of the processor, devices, memory, and the registers of the physical machine, while the processor may swap some state in and out during transitions between a NM and the NMM.
  • the conventional allocation of resources by the NMM to the various NMs relies on time-slicing between various NMs according to round-robin or other predetermined priority-based schemes. For example, a pre-determined allocated time period (or time quanta) for each NM may be stored in the memory to direct the NMM to periodically switch between the NMs based on the previously allocated time period for each VM.
  • Round-robin or pre-determined priority-based schemes inherently fail to provide the NMM any fine-grain control or authority regarding managing the NMs, as the NMM is limited to following the pre-determined plan or scheme.
  • methods, apparatus, and systems, available today are typically limited to round-robin or time- slicing of the NMs, and do not provide the NMM to intelligently swap between the NMs using processor state information including characteristics and or history of the processor, characteristics and/or history of the guest software, characteristics and/or history of the
  • NMs and characteristics and/or history of the machine.
  • NMWare, Inc. NMWare
  • OS thread-scheduling to use the NMM to swap between the NMs.
  • the NMWare solution provides for running two or more operating systems, such as Linux and Microsoft Windows, on a single machine, using the facilities provided by the operating system that runs on the underlying hardware. This system relies on the OS scheduling policy to schedule the NMs.
  • OS scheduling policy to schedule the NMs.
  • virtualization based on OS scheduling is performed without the knowledge of the processor state or even the processor.
  • the OS-based solutions that attempt to optimize context-switch intervals for processors will likely be less aware or even completely unaware of the processors, the underlying system and its behaviour. Furthermore, the OS-based solutions not only do not accommodate characteristics of different processors, but also do not accommodate characteristics of processors of a single family.
  • FIG. 1 is a flowchart illustrating an embodiment of a technique for reallocating resources amongst virtual machine(s) in accordance with the disclosed subject matter
  • FIG. 2 is a block diagram illustrating an embodiment of a system and apparatus that allows for management of virtual machine(s) using information regarding the activity of the virtual machine(s) in accordance with the disclosed subject matter.
  • FIG. 1 is a flowchart illustrating an embodiment of a technique for reallocating resources amongst virtual machine(s) in accordance with the disclosed subject matter.
  • Block 120 illustrates that the activity of the virtual machine (VM) may be monitored.
  • the virtual machine monitor (VMM) may monitor the VM.
  • activity such as, for example, processor usage, network usage, disk usage, or whether the VM is performing a time-critical task; however, these are merely a few non- limiting examples by which the disclosed subject matter is not limited.
  • the activity may be monitored substantially in parallel with the execution of the VM. It is contemplated that the activity monitoring may be accomplished in hardware, software, firmware, or a combination thereof.
  • the activity may be monitored as the VM resource access is mapped to a real resource.
  • messages between the VM and the physical system may be caught and monitored by a virtual BIOS.
  • the messages between the VM and the physical system may be caught and monitored by a software application.
  • the VM activity may be monitored by a piece of logic in a processor core.
  • Block 130 illustrates that the activity may then be evaluated.
  • the monitored activity may be compared against the standard usage model for a generic VM.
  • the monitored activity may be examined to determine if it includes any time critical elements.
  • the monitored activity may indicate that the virtual machine is heavily using some resources but not others.
  • Block 140 illustrates that it may be determined whether or not the activity of the VM triggers a change in the allocation of the resources used by the virtual machine.
  • a VM may be primarily using processor resources.
  • the VM may be calculating data, or sorting lists. It may be determined that the amount of access the NM has to the processor is insufficient, and the NM would benefit from an increase to access to the physical processor.
  • the NM may still be primarily using processor resources, but an increase in access to the physical processor resource would not significantly increase the performance of the NM.
  • the technique illustrated by Fig 1 may be performed on the next VM, or if only one NM is running in the system, repeated on the same NM. It is contemplated that, while the NM may have access to many resources, the number of resources that may be adjusted or reallocated to the NM may be less than the total resources available to the NM. For example, in one embodiment, only the amount of time the host system is able to execute the NM may be able to be reallocated. In other embodiments, access to particular resources, such as, for example, the processor, the network interface, the hard drive, may be reallocated.
  • the ordering, in the case where NMs are executed in a round-robin fashion, or priority of the VMs may be rearranged in order to improve the performance of one or more VMs. For example, if a VM enters a state where it must accomplish a tack immediately, such as, for example, reporting system status or bringing up a another VM, the VM may be moved out of its normal position in the round-robin scheme and set to execute as quickly as possible in order to properly accomplish its task.
  • block 140 may reallocate or establish that, in a multi-processor, or multi-core environment, a certain VM has processor or core affinity with a particular processor or core, respectively.
  • Block 150 illustrates that, in one embodiment, if the determined resource reallocation would conflict with another virtual machine it may or may not be executed. For example, if two VMs are both network-bound, i.e.
  • Block 160 illustrates that the resources may be reallocated to the VM.
  • a first VM is processor-bound and a second NM is network- bound
  • additional processor time or access may be allocated to the first NM and additional network interface time or access may be allocated to the second NM.
  • the processor time of the second NM may be decreased and the network interface access to the first NM may likewise be decreased.
  • this is merely an illustrative example to which the disclosed matter is not limited.
  • FIG. 2 is a block diagram illustrating an embodiment of a system 200 and apparatus 201 that allows for management of virtual machine(s) using information regarding the activity of the virtual machine(s) in accordance with the disclosed subject matter.
  • the apparatus may include a plurality of virtual machines 210, 220 & 230, and activity monitor 240, a virtual machine monitor (NMM) 250, and a resource manager 260. It is understood that while three virtual machines are illustrated in FIG.
  • the apparatus may include any number of virtual machines.
  • the virtual machines 210, 220 & 230 may be capable of running an operating system 280 and a variety of applications 273, 276, & 279. It is contemplated that two or more virtual machines may share an operating system or applications. It is also contemplated that the virtual machines may also be capable of using a plurality of virtual resources that are mapped to physical resources.
  • the activity monitor 240 may be capable of monitoring the activity of the virtual machines. In one embodiment, the activity monitor may be capable of performing a portion of the technique described above and illustrated by FIG. 1. It is contemplated that the activity monitor may be embodied in hardware, firmware, software, or a combination thereof.
  • the NMM 250 may be capable of mapping the virtual resources utilized by the plurality of virtual machines to physical resources.
  • the NMM may also be capable of managing the virtual machines access to the physical resources of the system.
  • the NMM may also include a resource manager 260 that is capable of reallocating the resources allotted to the virtual machines.
  • the resource manager may be capable of performing the technique described above and illustrated by FIG. 1. It is contemplated that the activity monitor may be embodied in hardware, firmware, software, or a combination thereof.
  • the system 200 may include the apparatus 201 and a plurality of physical resources 290.
  • the plurality of physical resources may include an input device 292, such as, for example, a mouse, a keyboard, a touchpad, etc., a display 294, such as, for example, a cathode-ray-tube (CRT) or a liquid crystal display (LCD), a communication device 296, such as, for example, a network interface card or a modem, a memory element 298, and a processor 299.
  • the plurality of virtual machines 210, 220, & 230 may be capable of sharing the plurality of physical resources. This may be accomplished by creating a virtual plurality of resources in each NM, and mapping the virtual resources to the physical resources.
  • the techniques described herein are not limited to any particular hardware or software configuration; they may find applicability in any computing or processing environment.
  • the techniques may be implemented in hardware, software, firmware or a combination thereof.
  • the techniques may be implemented in programs executing on programmable machines such as mobile or stationary computers, personal digital assistants, and similar devices that each include a processor, a storage medium readable or accessible by the processor (including volatile and non-volatile memory and/or storage elements), at least one input device, and one or more output devices.
  • Program code is applied to the data entered using the input device to perform the functions described and to generate output information.
  • the output information may be applied to one or more output devices.
  • Each program may be implemented in a high level procedural or object oriented programming language to communicate with a processing system.
  • programs may be implemented in assembly or machine language, if desired. In any case, the language may be compiled or interpreted. Each such program may be stored on a storage medium or device, e.g. compact disk read only memory (CD-ROM), digital versatile disk (DVD), hard disk, firmware, non- volatile memory, magnetic disk or similar medium or device, that is readable by a general or special purpose programmable machine for configuring and operating the machine when the storage medium or device is read by the computer to perform the procedures described herein.
  • the system may also be considered to be implemented as a machine-readable or accessible storage medium, configured with a program, where the storage medium so configured causes a machine to operate in a specific manner.
  • Other embodiments are within the scope of the following claims.

Abstract

The present disclosure relates to the management of virtual machine s using information regarding the activity of the virtual machine(s), and, more specifically, to the reallocating of resources amongst virtual machine(s) based, at least in part, upon the activity of the virtual machine(s).

Description

VIRTUAL MACHINE MANAGEMENT USING ACTIVITY INFORMATION
BACKGROUND 1. Field The present disclosure relates to the management of virtual machine(s) using information regarding the activity of the virtual machine(s), and, more specifically, to the reallocating of resources amongst virtual machine(s) based, at least in part, upon the activity of the virtual machine(s).
2. Background Information The virtualization of machine resources has been of significant interest for some time; however, with processors becoming more diverse and complex, such as processors that are deeply pipelined super pipelined, hyperthreaded, and processors having Explicitly Parallel Instruction Computing (EPIC) architecture, and with larger instruction and data caches, virtualization of machine resources is becoming an even greater interest. Some vendors offer software products that permit a machine to be partitioned, such that the underlying hardware of the machine appears as one or more independently operating virtual machines (VM). Typically, this is achieved by running a thin layer of software called the Nirtual Machine Monitor (NMM) over the hardware which facilities running one or more NMs on this layer. The abstraction of a NM is such that the software installed inside the VM believes that is has exclusive ownership of the underlying hardware. Each NM, on the other hand, may function as a self-contained platform, running its own operating system (OS), or a copy of the OS, and/or various software applications. Software executing within a NM is collectively referred to as "guest software". A typical NMM, which may be considered the controller of the NMs, may enhance performance of a NM by permitting direct access to the underlying physical machine in some situations. This may be especially appropriate when an operation is being performed in non-privileged mode in the guest software, which limits access to the physical machine or when operations will not make use of hardware resources in the physical machine to which the NMM seeks to retain control. The NMM may swap guest software state in and out of the processor, devices, memory, and the registers of the physical machine, while the processor may swap some state in and out during transitions between a NM and the NMM. The conventional allocation of resources by the NMM to the various NMs relies on time-slicing between various NMs according to round-robin or other predetermined priority-based schemes. For example, a pre-determined allocated time period (or time quanta) for each NM may be stored in the memory to direct the NMM to periodically switch between the NMs based on the previously allocated time period for each VM. Round-robin or pre-determined priority-based schemes inherently fail to provide the NMM any fine-grain control or authority regarding managing the NMs, as the NMM is limited to following the pre-determined plan or scheme. Stated differently, methods, apparatus, and systems, available today, are typically limited to round-robin or time- slicing of the NMs, and do not provide the NMM to intelligently swap between the NMs using processor state information including characteristics and or history of the processor, characteristics and/or history of the guest software, characteristics and/or history of the
NMs, and characteristics and/or history of the machine. One solution proposed by NMWare, Inc. (NMWare) of Palo Alto, California, relies on OS thread-scheduling to use the NMM to swap between the NMs. The NMWare solution provides for running two or more operating systems, such as Linux and Microsoft Windows, on a single machine, using the facilities provided by the operating system that runs on the underlying hardware. This system relies on the OS scheduling policy to schedule the NMs. However, virtualization based on OS scheduling (for scheduling the NMs) is performed without the knowledge of the processor state or even the processor. Furthermore, as the NM functionality moves into hardware, the OS-based solutions that attempt to optimize context-switch intervals for processors will likely be less aware or even completely unaware of the processors, the underlying system and its behaviour. Furthermore, the OS-based solutions not only do not accommodate characteristics of different processors, but also do not accommodate characteristics of processors of a single family.
BRIEF DESCRIPTION OF THE DRAWINGS Subject matter is particularly pointed out and distinctly claimed in the concluding portions of the specification. The disclosed subject matter, however, both as to organization and the method of operation, together with objects, features and advantages thereof, may be best understood by a reference to the following detailed description when read with the accompanying drawings in which: FIG. 1 is a flowchart illustrating an embodiment of a technique for reallocating resources amongst virtual machine(s) in accordance with the disclosed subject matter; and FIG. 2 is a block diagram illustrating an embodiment of a system and apparatus that allows for management of virtual machine(s) using information regarding the activity of the virtual machine(s) in accordance with the disclosed subject matter. DETAILED DESCRIPTION In the following detailed description, numerous details are set forth in order to provide a thorough understanding of the present disclosed subject matter. However, it will be understood by those skilled in the art that the disclosed subject matter may be practiced without these specific details. In other instances, well-known methods, procedures, components, and circuits have not been described in detail so as to not obscure the disclosed subject matter. FIG. 1 is a flowchart illustrating an embodiment of a technique for reallocating resources amongst virtual machine(s) in accordance with the disclosed subject matter. Block 120 illustrates that the activity of the virtual machine (VM) may be monitored. In one embodiment, the virtual machine monitor (VMM) may monitor the VM. In one embodiment, activity such as, for example, processor usage, network usage, disk usage, or whether the VM is performing a time-critical task; however, these are merely a few non- limiting examples by which the disclosed subject matter is not limited. In one embodiment, the activity may be monitored substantially in parallel with the execution of the VM. It is contemplated that the activity monitoring may be accomplished in hardware, software, firmware, or a combination thereof. In one embodiment, the activity may be monitored as the VM resource access is mapped to a real resource. In one embodiment, messages between the VM and the physical system may be caught and monitored by a virtual BIOS. In another embodiment, the messages between the VM and the physical system may be caught and monitored by a software application. In one embodiment, the VM activity may be monitored by a piece of logic in a processor core. Of course, these are merely a few illustrative examples to which the disclosed subject matter is not limited. Block 130 illustrates that the activity may then be evaluated. In one embodiment, the monitored activity may be compared against the standard usage model for a generic VM. In another embodiment, the monitored activity may be examined to determine if it includes any time critical elements. In one embodiment, the monitored activity may indicate that the virtual machine is heavily using some resources but not others. Of course, these are merely a few non-limiting examples of how the monitored activity may be evaluated by which the disclosed subject matter is not limited. Block 140 illustrates that it may be determined whether or not the activity of the VM triggers a change in the allocation of the resources used by the virtual machine. In one illustrative embodiment, a VM may be primarily using processor resources. For example the VM may be calculating data, or sorting lists. It may be determined that the amount of access the NM has to the processor is insufficient, and the NM would benefit from an increase to access to the physical processor. In a second illustrative embodiment, the NM may still be primarily using processor resources, but an increase in access to the physical processor resource would not significantly increase the performance of the NM. In this embodiment, as illustrated by Block 110, the technique illustrated by Fig 1 may be performed on the next VM, or if only one NM is running in the system, repeated on the same NM. It is contemplated that, while the NM may have access to many resources, the number of resources that may be adjusted or reallocated to the NM may be less than the total resources available to the NM. For example, in one embodiment, only the amount of time the host system is able to execute the NM may be able to be reallocated. In other embodiments, access to particular resources, such as, for example, the processor, the network interface, the hard drive, may be reallocated. In another embodiment, the ordering, in the case where NMs are executed in a round-robin fashion, or priority of the VMs may be rearranged in order to improve the performance of one or more VMs. For example, if a VM enters a state where it must accomplish a tack immediately, such as, for example, reporting system status or bringing up a another VM, the VM may be moved out of its normal position in the round-robin scheme and set to execute as quickly as possible in order to properly accomplish its task. In yet another embodiment, block 140 may reallocate or establish that, in a multi-processor, or multi-core environment, a certain VM has processor or core affinity with a particular processor or core, respectively. Some Operating System's have system calls for binding a process to a particular processor or core. The kernel ensures that when the process is re-scheduled it will be run on that processor/core and ideally, performance will be improved. It is contemplated that a particular embodiment may utilize one or more of these reallocation techniques described I above, and the techniques are not to be considered mutually exclusive. Furthermore, the disclosed subject matter is not limited to the few illustrative examples discussed above and other resource allocation techniques are contemplated and within the scope of the disclosed subject matter. Block 150 illustrates that, in one embodiment, if the determined resource reallocation would conflict with another virtual machine it may or may not be executed. For example, if two VMs are both network-bound, i.e. limited by amount of data it receives or transmits via the network, it may not be possible to reallocate enough resources to the first VM without decreasing the performance of the second VM. In one embodiment, illustrated by FIG. 1, if the reallocation can not occur, no reallocation may be attempted and the technique may be repeated on the next virtual machine, as illustrated by Block 110. In another embodiment, a database detailing the resource needs of each
VM may be kept. If the suggested resource allocation is not possible, a new resource allocation may be fashioned utilizing the database. However, these are merely two example embodiments and other embodiments are within the scope of the disclosed subject matter. Block 160 illustrates that the resources may be reallocated to the VM. In one specific embodiment, if a first VM is processor-bound and a second NM is network- bound, additional processor time or access may be allocated to the first NM and additional network interface time or access may be allocated to the second NM. Conversely, the processor time of the second NM may be decreased and the network interface access to the first NM may likewise be decreased. Of course, this is merely an illustrative example to which the disclosed matter is not limited. In one embodiment, the technique of FIG. 1, in whole or part, may be executed on each NM in a serial fashion as illustrated by Block 110. In other embodiments, it is contemplated that the technique may be executed on each NM in parallel. It is further contemplated that some embodiments may execute a portion of the technique in parallel and a portion in serial. FIG. 2 is a block diagram illustrating an embodiment of a system 200 and apparatus 201 that allows for management of virtual machine(s) using information regarding the activity of the virtual machine(s) in accordance with the disclosed subject matter. In one embodiment, the apparatus may include a plurality of virtual machines 210, 220 & 230, and activity monitor 240, a virtual machine monitor (NMM) 250, and a resource manager 260. It is understood that while three virtual machines are illustrated in FIG. 2 the apparatus may include any number of virtual machines. In one embodiment, the virtual machines 210, 220 & 230 may be capable of running an operating system 280 and a variety of applications 273, 276, & 279. It is contemplated that two or more virtual machines may share an operating system or applications. It is also contemplated that the virtual machines may also be capable of using a plurality of virtual resources that are mapped to physical resources. The activity monitor 240 may be capable of monitoring the activity of the virtual machines. In one embodiment, the activity monitor may be capable of performing a portion of the technique described above and illustrated by FIG. 1. It is contemplated that the activity monitor may be embodied in hardware, firmware, software, or a combination thereof. In one embodiment, the NMM 250 may be capable of mapping the virtual resources utilized by the plurality of virtual machines to physical resources. The NMM may also be capable of managing the virtual machines access to the physical resources of the system. In one embodiment, the NMM may also include a resource manager 260 that is capable of reallocating the resources allotted to the virtual machines. In one embodiment, the resource manager may be capable of performing the technique described above and illustrated by FIG. 1. It is contemplated that the activity monitor may be embodied in hardware, firmware, software, or a combination thereof. The system 200 may include the apparatus 201 and a plurality of physical resources 290. In one embodiment, the plurality of physical resources may include an input device 292, such as, for example, a mouse, a keyboard, a touchpad, etc., a display 294, such as, for example, a cathode-ray-tube (CRT) or a liquid crystal display (LCD), a communication device 296, such as, for example, a network interface card or a modem, a memory element 298, and a processor 299. The plurality of virtual machines 210, 220, & 230 may be capable of sharing the plurality of physical resources. This may be accomplished by creating a virtual plurality of resources in each NM, and mapping the virtual resources to the physical resources. The techniques described herein are not limited to any particular hardware or software configuration; they may find applicability in any computing or processing environment. The techniques may be implemented in hardware, software, firmware or a combination thereof. The techniques may be implemented in programs executing on programmable machines such as mobile or stationary computers, personal digital assistants, and similar devices that each include a processor, a storage medium readable or accessible by the processor (including volatile and non-volatile memory and/or storage elements), at least one input device, and one or more output devices. Program code is applied to the data entered using the input device to perform the functions described and to generate output information. The output information may be applied to one or more output devices. Each program may be implemented in a high level procedural or object oriented programming language to communicate with a processing system. However, programs may be implemented in assembly or machine language, if desired. In any case, the language may be compiled or interpreted. Each such program may be stored on a storage medium or device, e.g. compact disk read only memory (CD-ROM), digital versatile disk (DVD), hard disk, firmware, non- volatile memory, magnetic disk or similar medium or device, that is readable by a general or special purpose programmable machine for configuring and operating the machine when the storage medium or device is read by the computer to perform the procedures described herein. The system may also be considered to be implemented as a machine-readable or accessible storage medium, configured with a program, where the storage medium so configured causes a machine to operate in a specific manner. Other embodiments are within the scope of the following claims. While certain features of the disclosed subject matter have been illustrated and described herein, many modifications, substitutions, changes, and equivalents will now occur to those skilled in the art. It is, therefore, to be understood that the appended claims are intended to cover all such modifications and changes that fall within the true spirit of the disclosed subject matter.

Claims

What is claimed is:
1: A method comprising: evaluating the activity of one or more virtual machines; and reallocating physical resources to the virtual machine(s) based, at least in part, on the evaluated activity.
2: The method of claim 1, further including: monitoring the activity of one or more virtual machines.
3 : The method of claim 2, wherein monitoring the activity of one or more virtual machines includes monitoring an activity selected from a group including: interrupt usage, processor usage, network usage, disk usage, and whether the virtual machine is performing a time-critical task.
4: The method of claim 2, wherein monitoring the activity of one or more virtual machines includes: monitoring the activity of the virtual machine substantially in parallel with executing the virtual machine.
5: The method of claim 1, wherein reallocating physical resources to the virtual machine(s) based, at least in part, on the evaluated activity includes: either increasing or decreasing the ability of the virtual machine(s) to access to a physical resource.
6: The method of claim 5, wherein reallocating physical resources to the virtual machine(s) includes: increasing the ability of the virtual machine(s) to access to a first physical resource; and decreasing the ability of the virtual machine(s) to access to a second physical resource.
7: The method of claim 5, wherein reallocating physical resources to the virtual machine(s) includes a reallocation selected from a group including the following: altering the order in which the virtual machine(s) are executed, swapping between virtual machines, assigning core affinity to a virtual machine, assigning a processor affinity to a virtual machine, and altering the time quanta assigned to the virtual machine(s).
8: The method of claim 1, wherein reallocating physical resources to the virtual machine(s) is performed by a virtual machine monitor having a resource manager to evaluate the virtual machine(s) activity.
9: The method of claim 8, wherein the resource manager is a part of an integrated circuit.
10: The method of claim 1, wherein evaluating the activity of one or more virtual machines includes: determining whether the activity of the virtual machine(s) is sufficient to trigger a change in the resource allocation; suggesting a resource allocation; and determining whether the suggested resource allocation negatively impacts the performance of another virtual machine.
11 : An article comprising: a storage medium having a plurality of machine accessible instructions, wherein when the instructions are executed, the instructions provide for: evaluating the activity of one or more virtual machines; and reallocating physical resources to the virtual machine(s) based, at least in part, on the evaluated activity.
12: The article of claim 11, further including instructions providing for: monitoring the activity of one or more virtual machines.
13: The article of claim 12, wherein the instructions providing for monitoring the activity of one or more virtual machines includes instructions providing for monitoring an activity selecting from a group including: interrupt usage, processor usage, network usage, disk usage, and whether the virtual machine is performing a time-critical task.
14: The article of claim 12, wherein the instructions providing for monitoring the activity of one or more virtual machines includes instructions providing for: monitoring the activity of the virtual machine substantially in parallel with executing the virtual machine.
15: The article of claim 11, wherein the instructions providing for reallocating physical resources to the virtual machine(s) based, at least in part, on the evaluated activity includes instructions providing for: either increasing or decreasing the ability of the virtual machine(s) to access to a physical resource.
16: The article of claim 15, wherein the instructions providing for reallocating physical resources to the virtual machine(s) includes instructions providing for: increasing the ability of the virtual machine(s) to access to a first physical resource; and decreasing the ability of the virtual machine(s) to access to a second physical resource.
17: The article of claim 15, wherein the instructions providing for reallocating physical resources to the virtual machine(s) includes a reallocation selected from a group including the following: altering the order in which the virtual machine(s) are executed, swapping between virtual machines, assigning core affinity to a virtual machine, assigning a processor affinity to a virtual machine, and altering the time quanta assigned to the virtual machine(s).
18: The article of claim 11, wherein the instructions providing for reallocating physical resources to the virtual machine(s) are performed by a virtual machine monitor having a resource manager to evaluate the virtual machine(s) activity.
19: The article of claim 18, wherein the resource manager is a part of an integrated circuit.
20: The article of claim 11, wherein the instructions providing for evaluating the activity of one or more virtual machines includes instructions providing for: determining whether the activity of the virtual machine(s) is sufficient to trigger a change in the resource allocation; suggesting a resource allocation; and determining whether the suggested resource allocation negatively impacts the performance of another virtual machine.
21. An apparatus comprising: a plurality of virtual machines, capable of sharing a plurality of physical resources; an activity monitor, capable of monitoring the activity of the virtual machines; a virtual machine manager, capable of managing the virtual machines and reallocating access to the physical resources amongst the virtual machines, based at least in part on the monitored activity.
22. The apparatus of claim 21, wherein the virtual machine monitor includes a resource manager that is capable of reallocating access to the physical resources amongst the virtual machines.
23. The apparatus of claim 21, wherein the activity monitor is capable of monitoring an activity selected from a group including: interrupt usage, processor usage, network usage, disk usage, and whether the virtual machine is performing a time-critical task.
24. The apparatus of claim 23, wherein the activity monitor is capable of monitoring the activity of the virtual machines substantially in parallel with the execution the virtual machines.
25. The apparatus of claim 21, wherein the virtual machine monitor is capable of either increasing or decreasing the ability of the virtual machine(s) to access to a physical resource.
26: The apparatus of claim 25, wherein the virtual machine monitor is capable of reallocating physical resources to the virtual machine(s) via: increasing the ability of the virtual machine(s) to access to a first physical resource; and decreasing the ability of the virtual machine(s) to access to a second physical resource.
27: The apparatus of claim 25, wherein the virtual machine monitor is capable of reallocating physical resources to the virtual machine(s) by selecting from a group including the following: altering the order in which the virtual machine(s) are executed, swapping between virtual machines, assigning core affinity to a virtual machine, assigning a processor affinity to a virtual machine, and altering the time quanta assigned to the virtual machine(s).
28: The apparatus of claim 22, wherein the resource manager is further capable of evaluating the monitored activity of the virtual machine(s).
29: The apparatus of claim 28, wherein the resource manager is capable of evaluating the monitored activity of the virtual machine by: wherein evaluating the activity of one or more virtual machines includes: determining whether the activity of the virtual machine(s) is sufficient to trigger a change in the resource allocation; suggesting a resource allocation; and determining whether the suggested resource allocation negatively impacts the performance of another virtual machine.
30: The apparatus of claim 29, wherein the activity monitor and virtual machine monitor are integrated into the same circuit.
31. A system comprising: a plurality of resources, having a processor and a network interface; a plurality of virtual machines, capable of sharing access to the plurality of physical resources; an activity monitor, capable of monitoring the activity of the virtual machines; a virtual machine manager, capable of managing the virtual machines and reallocating access to the physical resources amongst the virtual machines, based at least in part on the monitored activity.
32. The system of claim 31, wherein the virtual machine monitor includes a resource manager that is capable of reallocating access to the physical resources amongst the virtual machines.
33. The system of claim 31, wherein the activity monitor is capable of monitoring an activity selected from a group including: interrupt usage, processor usage, network usage, disk usage, and whether the virtual machine is performing a time-critical task.
34. The system of claim 33, wherein the activity monitor is capable of monitoring the activity of the virtual machines substantially in parallel with the execution the virtual machines.
35. The system of claim 31, wherein the virtual machine monitor is capable of either increasing or decreasing the ability of the virtual machine(s) to access to a physical resource.
36: The system of claim 35, wherein the virtual machine monitor is capable of reallocating physical resources to the virtual machine(s) via: increasing the ability of the virtual machine(s) to access to a first physical resource; and decreasing the ability of the virtual machine(s) to access to a second physical resource.
37: The system of claim 35, wherein the virtual machine monitor is capable of reallocating physical resources to the virtual machine(s) by selecting from a group including the following: altering the order in which the virtual machine(s) are executed, swapping between virtual machines, assigning core affinity to a virtual machine, assigning a processor affinity to a virtual machine, and altering the time quanta assigned to the virtual machine(s).
38: The system of claim 32, wherein the resource manager is further capable of evaluating the monitored activity of the virtual machine(s).
39: The system of claim 38, wherein the resource manager is capable of evaluating the monitored activity of the virtual machine by: wherein evaluating the activity of one or more virtual machines includes: determining whether the activity of the virtual machine(s) is sufficient to trigger a change in the resource allocation; suggesting a resource allocation; and determining whether the suggested resource allocation negatively impacts the performance of another virtual machine.
40: The system of claim 39, wherein the activity monitor and virtual machine monitor are integrated into the same circuit.
PCT/US2004/038978 2003-12-10 2004-11-19 Virtual machine management using activity information WO2005062177A2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP04811666A EP1692616A2 (en) 2003-12-10 2004-11-19 Virtual machine management using activity information
JP2006541554A JP2007512632A (en) 2003-12-10 2004-11-19 Managing virtual machines using activity information

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/733,177 US20050132362A1 (en) 2003-12-10 2003-12-10 Virtual machine management using activity information
US10/733,177 2003-12-10

Publications (2)

Publication Number Publication Date
WO2005062177A2 true WO2005062177A2 (en) 2005-07-07
WO2005062177A3 WO2005062177A3 (en) 2005-11-17

Family

ID=34653044

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2004/038978 WO2005062177A2 (en) 2003-12-10 2004-11-19 Virtual machine management using activity information

Country Status (6)

Country Link
US (1) US20050132362A1 (en)
EP (1) EP1692616A2 (en)
JP (1) JP2007512632A (en)
KR (1) KR100885346B1 (en)
CN (1) CN1882913A (en)
WO (1) WO2005062177A2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1966717A2 (en) * 2005-11-04 2008-09-10 Sun Microsystems, Inc. Performance management in a virtual computing environment
WO2008117470A1 (en) * 2007-03-27 2008-10-02 Fujitsu Limited Virtual machine control program, virtual machine control system, and virtual machine transfer method
US8667089B2 (en) 2009-11-05 2014-03-04 Samsung Electronics Co., Ltd. Apparatus and method for executing an application

Families Citing this family (66)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040035675A (en) * 2001-07-06 2004-04-29 컴퓨터 어소시에이트스 인터내쇼날 인코포레이티드 System and method for managing object based clusters
US7783786B1 (en) * 2004-03-16 2010-08-24 Oracle America Inc. Replicated service architecture
JP2005309644A (en) * 2004-04-20 2005-11-04 Hitachi Ltd Resource control method and its system
EP1769353A2 (en) * 2004-05-21 2007-04-04 Computer Associates Think, Inc. Method and apparatus for dynamic memory resource management
WO2005116833A1 (en) * 2004-05-21 2005-12-08 Computer Associates Think, Inc. Method and apparatus for dynamic cpu resource management
US7840962B2 (en) * 2004-09-30 2010-11-23 Intel Corporation System and method for controlling switching between VMM and VM using enabling value of VMM timer indicator and VMM timer value having a specified time
US7620953B1 (en) * 2004-10-05 2009-11-17 Azul Systems, Inc. System and method for allocating resources of a core space among a plurality of core virtual machines
US7669202B1 (en) * 2004-10-05 2010-02-23 Azul Systems, Inc. Resource management
US8104033B2 (en) * 2005-09-30 2012-01-24 Computer Associates Think, Inc. Managing virtual machines based on business priorty
US8225313B2 (en) * 2005-10-19 2012-07-17 Ca, Inc. Object-based virtual infrastructure management
US7802073B1 (en) 2006-03-29 2010-09-21 Oracle America, Inc. Virtual core management
US7483978B2 (en) * 2006-05-15 2009-01-27 Computer Associates Think, Inc. Providing a unified user interface for managing a plurality of heterogeneous computing environments
US8533696B1 (en) * 2006-09-29 2013-09-10 Emc Corporation Methods and systems for allocating hardware resources to instances of software images
US8336046B2 (en) * 2006-12-29 2012-12-18 Intel Corporation Dynamic VM cloning on request from application based on mapping of virtual hardware configuration to the identified physical hardware resources
US9223629B2 (en) * 2007-01-31 2015-12-29 Hewlett-Packard Development Company, L.P. Data processing system and method
US20080229053A1 (en) * 2007-03-13 2008-09-18 Edoardo Campini Expanding memory support for a processor using virtualization
JP4980792B2 (en) 2007-05-22 2012-07-18 株式会社日立製作所 Virtual machine performance monitoring method and apparatus using the method
US20090007108A1 (en) * 2007-06-29 2009-01-01 Hanebutte Ulf R Arrangements for hardware and software resource monitoring
US7797512B1 (en) * 2007-07-23 2010-09-14 Oracle America, Inc. Virtual core management
US8560634B2 (en) 2007-10-17 2013-10-15 Dispersive Networks, Inc. Apparatus, systems and methods utilizing dispersive networking
US8539098B2 (en) 2007-10-17 2013-09-17 Dispersive Networks, Inc. Multiplexed client server (MCS) communications and systems
US20090210873A1 (en) * 2008-02-15 2009-08-20 International Business Machines Corporation Re-tasking a managed virtual machine image in a virtualization data processing system
US20090265707A1 (en) * 2008-04-21 2009-10-22 Microsoft Corporation Optimizing application performance on virtual machines automatically with end-user preferences
US8516478B1 (en) * 2008-06-12 2013-08-20 Mcafee, Inc. Subsequent processing of scanning task utilizing subset of virtual machines predetermined to have scanner process and adjusting amount of subsequest VMs processing based on load
KR20100048263A (en) 2008-10-30 2010-05-11 한국전자통신연구원 System and method for providing personalization of virtual machines for sod (system on demand) service
KR101068537B1 (en) * 2008-12-18 2011-09-28 한국전자통신연구원 Virtualization management apparatus using virtualization platform and control method thereof
US9740517B2 (en) * 2008-12-29 2017-08-22 Microsoft Technology Licensing, Llc Dynamic virtual machine memory management
KR101571880B1 (en) * 2009-02-02 2015-11-25 삼성전자 주식회사 Virtualized electronic apparatus virtual machine store and method for using virtual machine service
US9529636B2 (en) 2009-03-26 2016-12-27 Microsoft Technology Licensing, Llc System and method for adjusting guest memory allocation based on memory pressure in virtual NUMA nodes of a virtual machine
US9535767B2 (en) * 2009-03-26 2017-01-03 Microsoft Technology Licensing, Llc Instantiating a virtual machine with a virtual non-uniform memory architecture
JP5428075B2 (en) * 2009-04-17 2014-02-26 株式会社日立製作所 Performance monitoring system, bottleneck determination method and management computer
US8352609B2 (en) 2009-09-29 2013-01-08 Amazon Technologies, Inc. Dynamically modifying program execution capacity
KR101644569B1 (en) 2009-10-01 2016-08-01 삼성전자 주식회사 Apparatus and method for managing virtual processing unit
US8751857B2 (en) * 2010-04-13 2014-06-10 Red Hat Israel, Ltd. Monitoring of highly available virtual machines
US9342373B2 (en) 2010-05-20 2016-05-17 International Business Machines Corporation Virtual machine management among networked servers
JP5458308B2 (en) * 2010-06-11 2014-04-02 株式会社日立製作所 Virtual computer system, virtual computer system monitoring method, and network device
US8869164B2 (en) 2010-09-02 2014-10-21 International Business Machines Corporation Scheduling a parallel job in a system of virtual containers
CN102307208B (en) * 2010-09-25 2014-08-06 广东电子工业研究院有限公司 Cloud-computing-based virtual machine running control device and running control method thereof
US20120131180A1 (en) * 2010-11-19 2012-05-24 Hitachi Ltd. Server system and method for managing the same
US8955110B1 (en) 2011-01-14 2015-02-10 Robert W. Twitchell, Jr. IP jamming systems utilizing virtual dispersive networking
US8941659B1 (en) 2011-01-28 2015-01-27 Rescon Ltd Medical symptoms tracking apparatus, methods and systems
US8533715B2 (en) 2011-08-09 2013-09-10 International Business Machines Corporation Virtual machine management
US9176788B2 (en) * 2011-08-16 2015-11-03 Esds Software Solution Pvt. Ltd. Method and system for real time detection of resource requirement and automatic adjustments
US9245095B2 (en) 2011-10-25 2016-01-26 Ca, Inc. System and method for license management of virtual machines at a virtual machine manager
US10095295B2 (en) 2011-12-14 2018-10-09 Advanced Micro Devices, Inc. Method and apparatus for power management of a graphics processing core in a virtual environment
US8892919B2 (en) * 2011-12-14 2014-11-18 Ati Technologies Ulc Method and apparatus for power management of a processor in a virtual environment
US9348656B2 (en) 2011-12-19 2016-05-24 Advanced Micro Devices, Inc. Apparatus and method for managing power among a plurality of processors sharing a thermal platform
KR101371101B1 (en) * 2012-06-08 2014-03-06 삼성증권주식회사 Trading system performing dynamic resource management and providing method thereof
KR101395031B1 (en) * 2012-07-10 2014-05-16 (주)타임게이트 System for providing virtualized education environment and server for providing virtualized education environment
KR101491572B1 (en) * 2013-12-09 2015-02-10 삼성증권주식회사 Trading system performing dynamic resource management and providing method thereof
DE102014212838A1 (en) * 2014-07-02 2016-01-07 Siemens Aktiengesellschaft System and method for detecting harmful data within a data set
US10162656B2 (en) * 2014-11-26 2018-12-25 Vmware, Inc. Minimizing guest operating system licensing costs in a processor based licensing model in a virtual datacenter
KR101671119B1 (en) 2014-12-17 2016-10-31 경희대학교 산학협력단 Method for managing resource of cloud computing system
US20160179582A1 (en) * 2014-12-23 2016-06-23 Intel Corporation Techniques to dynamically allocate resources for local service chains of configurable computing resources
US11182713B2 (en) 2015-01-24 2021-11-23 Vmware, Inc. Methods and systems to optimize operating system license costs in a virtual data center
KR101940493B1 (en) * 2015-02-04 2019-01-21 한국전자통신연구원 Virtual Machine Monitor Apparatus, Virtualization Apparatus and Method
CN105306594A (en) * 2015-11-19 2016-02-03 国云科技股份有限公司 Method for managing virtual unit through multiple strategies
CN108701046B (en) 2015-12-23 2022-04-08 英特尔公司 Method, system, device, apparatus, and medium for virtual CPU merging to avoid physical CPU contention between virtual machines
US10243816B2 (en) 2016-04-18 2019-03-26 International Business Machines Corporation Automatically optimizing network traffic
CN106844007B (en) * 2016-12-29 2020-01-07 中国科学院计算技术研究所 Virtualization method and system based on spatial multiplexing
US11366702B1 (en) * 2019-03-29 2022-06-21 United Services Automobile Association (Usaa) Dynamic allocation of resources
US11301305B2 (en) 2020-01-07 2022-04-12 Bank Of America Corporation Dynamic resource clustering architecture
US11334393B2 (en) 2020-01-07 2022-05-17 Bank Of America Corporation Resource cluster chaining architecture
US10938742B1 (en) 2020-01-31 2021-03-02 Bank Of America Corporation Multiplexed resource allocation architecture
US11539635B2 (en) 2021-05-10 2022-12-27 Oracle International Corporation Using constraint programming to set resource allocation limitations for allocating resources to consumers
US11502971B1 (en) * 2021-11-15 2022-11-15 Oracle International Corporation Using multi-phase constraint programming to assign resource guarantees of consumers to hosts

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6430592B1 (en) * 1994-06-02 2002-08-06 International Business Machines Corporation System for sharing CPU time amongst multiple users

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4253145A (en) * 1978-12-26 1981-02-24 Honeywell Information Systems Inc. Hardware virtualizer for supporting recursive virtual computer systems on a host computer system
JPH0293952A (en) * 1988-09-30 1990-04-04 Hitachi Ltd Virtual computer system
JP2682770B2 (en) * 1992-05-15 1997-11-26 富士通株式会社 CPU control method for virtual computer system
US6075938A (en) * 1997-06-10 2000-06-13 The Board Of Trustees Of The Leland Stanford Junior University Virtual machine monitors for scalable multiprocessors
US6647508B2 (en) * 1997-11-04 2003-11-11 Hewlett-Packard Development Company, L.P. Multiprocessor computer architecture with multiple operating system instances and software controlled resource allocation
US7748005B2 (en) * 2000-01-28 2010-06-29 Hewlett-Packard Development Company, L.P. System and method for allocating a plurality of resources between a plurality of computing domains
JP2002041305A (en) * 2000-07-26 2002-02-08 Hitachi Ltd Allocating method of computer resource in virtual computer system, and virtual computer system
JP2002202959A (en) * 2000-12-28 2002-07-19 Hitachi Ltd Virtual computer system for performing dynamic resource distribution
US7191440B2 (en) * 2001-08-15 2007-03-13 Intel Corporation Tracking operating system process and thread execution and virtual machine execution in hardware or in a virtual machine monitor
US7412492B1 (en) * 2001-09-12 2008-08-12 Vmware, Inc. Proportional share resource allocation with reduction of unproductive resource consumption
JP4018900B2 (en) * 2001-11-22 2007-12-05 株式会社日立製作所 Virtual computer system and program
IL147073A0 (en) * 2001-12-10 2002-08-14 Monosphere Ltd Method for managing the storage resources attached to a data network
US7158972B2 (en) * 2001-12-11 2007-01-02 Sun Microsystems, Inc. Methods and apparatus for managing multiple user systems
US7962545B2 (en) * 2002-12-27 2011-06-14 Intel Corporation Dynamic service registry for virtual machines
KR100661637B1 (en) * 2003-12-22 2006-12-27 한국전자통신연구원 System method for an environment execution to run multiple virtual machines on the mobile phone

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6430592B1 (en) * 1994-06-02 2002-08-06 International Business Machines Corporation System for sharing CPU time amongst multiple users

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
ANONYMOUS: "ESX Server 2 Administration Guide" INTERNET ARTICLE, [Online] 3 October 2003 (2003-10-03), XP002341376 Retrieved from the Internet: URL:http://web.archive.org/web/20031003101829/www.vmware.com/pdf/esx2_admin.pdf> [retrieved on 2005-08-18] *
SULLIVAN D G ET AL: "Isolation with flexibility: a resource management framework for central servers" PROCEEDINGS OF THE 2000 USENIX ANNUAL TECHNICAL CONFERENCE USENIX ASSOC BERKELEY, CA, USA, 2000, pages 337-350, XP002341377 ISBN: 1-880446-22-7 *
WALDSPURGER C A: "Memory resource management in VMware ESX Server" PROCEEDINGS OF THE FIFTH SYMPOSIUM ON OPERATING SYSTEMS DESIGN AND IMPLEMENTATION (OSDI'02) USENIX ASSOC BERKELEY, CA, USA, 2002, pages 181-194, XP002341378 ISBN: 1-931971-06-4 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1966717A2 (en) * 2005-11-04 2008-09-10 Sun Microsystems, Inc. Performance management in a virtual computing environment
EP1966717A4 (en) * 2005-11-04 2011-03-02 Sun Microsystems Inc Performance management in a virtual computing environment
WO2008117470A1 (en) * 2007-03-27 2008-10-02 Fujitsu Limited Virtual machine control program, virtual machine control system, and virtual machine transfer method
JP5088366B2 (en) * 2007-03-27 2012-12-05 富士通株式会社 Virtual computer control program, virtual computer control system, and virtual computer migration method
US8352942B2 (en) 2007-03-27 2013-01-08 Fujitsu Limited Virtual-machine control apparatus and virtual-machine moving method
US8667089B2 (en) 2009-11-05 2014-03-04 Samsung Electronics Co., Ltd. Apparatus and method for executing an application

Also Published As

Publication number Publication date
JP2007512632A (en) 2007-05-17
EP1692616A2 (en) 2006-08-23
CN1882913A (en) 2006-12-20
US20050132362A1 (en) 2005-06-16
KR20060108711A (en) 2006-10-18
KR100885346B1 (en) 2009-02-26
WO2005062177A3 (en) 2005-11-17

Similar Documents

Publication Publication Date Title
US20050132362A1 (en) Virtual machine management using activity information
US10379887B2 (en) Performance-imbalance-monitoring processor features
KR101107363B1 (en) Virtualization of a central processing unit measurement facility
US8667500B1 (en) Use of dynamic entitlement and adaptive threshold for cluster process balancing
EP3039540B1 (en) Virtual machine monitor configured to support latency sensitive virtual machines
US8429669B2 (en) Virtual machine switching control by prefetching information out of and updating a set of processor control information based on a bitmap having update status
US7707578B1 (en) Mechanism for scheduling execution of threads for fair resource allocation in a multi-threaded and/or multi-core processing system
US7802250B2 (en) Support for transitioning to a virtual machine monitor based upon the privilege level of guest software
US7136800B1 (en) Allocation of processor resources in an emulated computing environment
KR101668399B1 (en) Hypervisor isolation of processor cores
US20120222042A1 (en) Management of heterogeneous workloads
US7971205B2 (en) Handling of user mode thread using no context switch attribute to designate near interrupt disabled priority status
US20140373010A1 (en) Intelligent resource management for virtual machines
KR101707601B1 (en) Virtual machine monitor and schduling method of virtual machine monitor
US8024738B2 (en) Method and system for distributing unused processor cycles within a dispatch window
US7500244B2 (en) Adaptive algorithm for selecting a virtualization algorithm in virtual machine environments
Pan et al. Hypervisor support for efficient memory de-duplication
US20090006257A1 (en) Thread-based software license management
Saez et al. LFOC+: A fair OS-level cache-clustering policy for commodity multicore systems
US11934890B2 (en) Opportunistic exclusive affinity for threads in a virtualized computing system
Ling et al. Exploiting spatial locality to improve disk efficiency in virtualized environments
West et al. Time management in the Quest-V RTOS
US11726811B2 (en) Parallel context switching for interrupt handling
Lin et al. Improving GPOS real-time responsiveness using vCPU migration in an embedded multicore virtualization platform
Hong et al. Cache-aware virtual machine scheduling on multi-core architecture

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 200480033561.6

Country of ref document: CN

AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): BW GH GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LU MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 2006541554

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 2004811666

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 1020067011502

Country of ref document: KR

WWP Wipo information: published in national office

Ref document number: 2004811666

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 1020067011502

Country of ref document: KR