P
US7296267B2ExpiredUtilityPatentIndex 97

System and method for binding virtual machines to hardware contexts

Assignee: INTEL CORPPriority: Jul 12, 2002Filed: Jul 12, 2002Granted: Nov 13, 2007
Est. expiryJul 12, 2022(expired)· nominal 20-yr term from priority
Inventors:COTA-ROBLES ERIK CCAMPBELL RANDOLPH LHALL CLIFFORD DNEIGER GILBERTUHLIG RICHARD A
G06F 9/45533G06F 9/505G06F 9/5044
97
PatentIndex Score
94
Cited by
237
References
24
Claims

Abstract

System and method for binding virtual machines to hardware contexts. A method includes obtaining resource requirements for a plurality of virtual machines, and binding one or more of the plurality of virtual machines to one or more of a plurality of hardware contexts associated with a processor based upon the resource requirements. The resource requirements may be the bandwidth and latency of the virtual machines. The method may be implemented as software on a storage device on a computing device having a processor that supports multiple hardware contexts. The method is particularly beneficial for real-time virtual machines.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
       1. A method comprising:
 obtaining resource requirements for a plurality of virtual machines; 
 evaluating an efficiency of executing each of the virtual machines on a single hardware context, wherein the evaluating the efficiency comprises evaluating the single context execution time for each of the virtual machines, and dividing the single context execution time for each of the virtual machines by a latency of the virtual machine; 
 selecting a candidate from the virtual machines based on the resource requirements and the evaluated efficiency; and 
 binding the candidate to one of a plurality of hardware contexts associated with a processor. 
 
     
     
       2. The method of  claim 1  wherein the resource requirements include a bandwidth and the latency for each of the virtual machines. 
     
     
       3. The method of  claim 1  wherein the virtual machines are real-time virtual machines. 
     
     
       4. The method of  claim 1  further comprising:
 selecting a group of candidate virtual machines based on the latency of and the efficiency of each of the virtual machine. 
 
     
     
       5. The method of  claim 4  wherein binding is performed when at least one of the following is satisfied:
 the latency of at least one of the virtual machines of the group of candidate virtual machines is below a system specified maximum latency; and 
 the efficiency of at least one of the virtual machines of the group of candidate virtual machines is greater than a system specified minimum efficiency. 
 
     
     
       6. The method of  claim 1  further comprising:
 grouping those virtual machines that have execution periods that are multiples of each other; and 
 assigning each of one or more groups of virtual machines having execution periods that are multiples of each other to a single hardware context of the plurality of hardware contexts. 
 
     
     
       7. The method of  claim 6  wherein assigning comprises:
 evaluating the footprint of each of the virtual machines in each of the one or more groups of virtual machines having execution periods that are multiples of each other such that the assigning does not exceed an amount of available resources. 
 
     
     
       8. A method comprising:
 evaluating a bandwidth of each of a plurality of virtual machines, the bandwidth evaluated as an amount of required computing resources; 
 evaluating a latency of each of the virtual machines; 
 evaluating an efficiency of executing each of the virtual machines on a single hardware context, wherein evaluating the efficiency comprises evaluating a single context execution time for each of the virtual machines, and dividing the single context execution time for each of the virtual machines by the latency of the virtual machine; 
 determining whether each of the virtual machines is a candidate for binding to one of a plurality of hardware contexts associated with a processor based on the latency, the bandwidth and the evaluated efficiency of each of the virtual machines; and 
 binding at least one of a plurality of candidate virtual machines to one of the hardware contexts. 
 
     
     
       9. The method of  claim 8  further comprising:
 selecting a group of candidate virtual machines based on the latency and the efficiency of each of the virtual machines. 
 
     
     
       10. The method of  claim 8  wherein binding is performed when at least one of the following is satisfied:
 the latency of the at least one of the candidate virtual machines is below a system specified maximum latency; and 
 the efficiency of the at least one of the best candidate virtual machines is greater than a system specified minimum efficiency. 
 
     
     
       11. The method of  claim 8  further comprising:
 grouping those virtual machines that have execution periods that are multiples of each other; and 
 assigning each of one or more groups of virtual machines having execution periods that are multiples of each other to a single hardware context of the plurality of hardware contexts. 
 
     
     
       12. The method of  claim 11  wherein assigning comprises:
 evaluating the footprint of each of the virtual machines in each of the one or more groups of virtual machines having execution periods that are multiples of each other such that the assigning does not exceed the amount of available resources. 
 
     
     
       13. A system comprising a processor having a plurality of hardware contexts, a storage device, and a memory each coupled to a bus, the storage device including instructions which when executed by the processor cause the system to perform operations comprising:
 obtaining resource requirements for a plurality of virtual machines; 
 evaluating an efficiency of executing each of the virtual machines on a single hardware context, wherein the evaluating the efficiency comprises evaluating the single context execution time for each of the virtual machines, and dividing the single context execution time for each of the virtual machines by a latency of the virtual machine; 
 selecting a candidate from the virtual machines based on the resource requirements and the evaluated efficiency; and 
 binding the candidate to one of a plurality of hardware contexts associated with a processor. 
 
     
     
       14. The system of  claim 13  wherein the resource requirements include a bandwidth and the latency for each of the virtual machines. 
     
     
       15. The system of  claim 13  wherein the storage device includes further instructions which when executed by the processor cause the system to perform further operations comprising:
 selecting a group of candidate virtual machines based on the latency of and the efficiency of each of the virtual machines. 
 
     
     
       16. The system of  claim 15  wherein allocating is performed when at least one of the following is satisfied:
 the latency of at least one of the virtual machines of the group of candidate virtual machines is below a system specified maximum latency; and 
 the efficiency of at least one of the virtual machines of the group of candidate virtual machines is greater than a system specified minimum efficiency. 
 
     
     
       17. The system of claim of  claim 13  wherein the storage device includes further instructions which when executed by the processor cause the system to perform further operations comprising:
 grouping those virtual machines that have execution periods that are multiples of each other; and 
 assigning each of one or more groups of virtual machines having execution periods that are multiples of each other to a single hardware context of the plurality of hardware contexts. 
 
     
     
       18. The system of  claim 17  wherein assigning comprises:
 evaluating the footprint of each of the virtual machines in each of the one or more groups of virtual machines having execution periods that are multiples of each other such that the assigning does not exceed an amount of available resources. 
 
     
     
       19. A machine readable medium having instructions stored thereon which when executed by a processor cause the processor to perform operations comprising:
 obtaining resource requirements for a plurality of virtual machines; 
 evaluating an efficiency of executing each of the virtual machines on a single hardware context, wherein the evaluating the efficiency comprises evaluating the single context execution time for each of the virtual machines, and dividing the single context execution time for each of the virtual machines by a latency of the virtual machine; 
 selecting a candidate from the virtual machines based on the resource requirements and the evaluated efficiency; and 
 binding the candidate to one of a plurality of hardware contexts associated with a processor. 
 
     
     
       20. The machine readable medium of  claim 19  wherein the resource requirements include a bandwidth and the latency for each of the virtual machines. 
     
     
       21. The machine readable medium of  claim 19  wherein allocating comprises:
 selecting a group of candidate virtual machines based on the latency of each of the virtual machines and on the efficiency of executing each of the virtual machines on a single hardware context. 
 
     
     
       22. The machine readable medium of  claim 19  wherein allocating is performed when at least one of the following is satisfied:
 the latency of at least one of the virtual machines is below a system specified maximum latency; and 
 the efficiency of executing at least one of the virtual machines on a single hardware context is greater than a system specified minimum efficiency. 
 
     
     
       23. The machine readable medium of  claim 19  wherein allocating comprises:
 grouping those virtual machines that have execution periods that are multiples of each other; and 
 assigning each of one or more groups of virtual machines having execution periods that are multiples of each other to a single hardware context of the plurality of hardware contexts. 
 
     
     
       24. The machine readable medium of  claim 23  wherein assigning comprises:
 evaluating the footprint of each of the virtual machines in each of the one or more groups of virtual machines having execution periods that are multiples of each other such that the assigning does not exceed an amount of available resources.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.