US7296267B2ExpiredUtilityPatentIndex 97
System and method for binding virtual machines to hardware contexts
Est. expiryJul 12, 2022(expired)· nominal 20-yr term from priority
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-modifiedWhat 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.