IPC분류정보
국가/구분 |
United States(US) Patent
등록
|
국제특허분류(IPC7판) |
|
출원번호 |
US-0541444
(2000-03-31)
|
등록번호 |
US-7356817
(2008-04-08)
|
발명자
/ 주소 |
- Cota Robles,Erik C.
- Flautner,Krisztian
|
출원인 / 주소 |
|
대리인 / 주소 |
Blakely, Sokoloff, Taylor & Zafman LLP
|
인용정보 |
피인용 횟수 :
38 인용 특허 :
152 |
초록
A method for scheduling a plurality of virtual machines includes: determining a resource requirement (Xi) for each virtual machine (VM); determining an interrupt period (Yi) for each VM; and scheduling the plurality of VMs based, at least in part, on each respective Xi and Yi.
대표청구항
▼
What is claimed is: 1. A computerized method for scheduling a plurality of virtual machines comprising: determining a respective resource requirement for each virtual machine comprises communicating said resource requirement from an application running within an operating system running within a re
What is claimed is: 1. A computerized method for scheduling a plurality of virtual machines comprising: determining a respective resource requirement for each virtual machine comprises communicating said resource requirement from an application running within an operating system running within a respective virtual machine, said application is a resource management application, which dynamically maintains said respective resource requirement; determining a respective interrupt period for each virtual machine based on estimating the respective interrupt period for periodic interrupts and converging the respective interrupt period to be substantially equal to actual periods for the periodic interrupts; and scheduling said plurality of virtual machines based, at least in part, on said respective resource requirement and interrupt period values. 2. The method of claim 1 wherein, determining said respective resource requirement and interrupt period comprises communicating said respective resource requirement and interrupt period from an operating system running within said respective virtual machine. 3. The method of claim 1 wherein, determining said resource requirement and said interrupt period comprises communicating said resource requirement and said interrupt period from said application running within said operating system running within said respective virtual machine. 4. A computerized method for scheduling a plurality of virtual machines comprising: determining a respective resource requirement for each virtual machine comprises: monitoring whether a virtual machine reaches an idle loop, increasing said respective resource requirement if said idle loop is not reached, and decreasing said respective resource requirement if said idle loop is reached before a predetermined percentage of said resource requirement has been utilized; determining a respective interrupt period for each virtual machine based on estimating the respective interrupt period for periodic interrupts and converging the respective interrupt period to be substantially equal to actual periods for the periodic interrupts; and scheduling said plurality of virtual machines based, at least in part, on said respective resource requirement and interrupt period values. 5. A computerized method for scheduling a plurality of virtual machines comprising: determining a respective resource requirement for each virtual machine; determining a respective interrupt period for each virtual machine, said determining respective interrupt period values comprises: filtering non-periodic interrupts, rejecting aperiodic interrupts, estimating said respective interrupt period values for periodic interrupts, and converging said respective interrupt period values to be substantially equivalent to actual periods for said periodic interrupts; and scheduling said plurality of virtual machines based, at least in part, on said respective resource requirement and interrupt period values. 6. An article comprising: a storage medium having stored thereon instructions that, when executed, result in a computing platform having the capability to: acquire resource requirements for a plurality of virtual machines from the plurality of virtual machines; determine a respective resource requirement by detecting an occurrence of an idle loop within a virtual machine of said plurality of virtual machines and adjusting a resource requirement based, at least in part, on whether said idle loop occurs; and schedule said plurality of virtual machines implemented in said computing platform based, at least in part, on said respective resource requirement and a respective interrupt period for each of said plurality of virtual machines. 7. The article of claim 6, wherein said instructions, when executed result in the capability to acquire said respective resource requirements from applications running within said plurality of virtual machines. 8. The article of claim 7, wherein said instructions, when executed result in the capability to acquire said respective interrupt periods from applications running within said plurality of virtual machines. 9. The article of claim 6, wherein said instructions, when executed result in the capability to acquire said respective resource requirements and said respective interrupt periods from operating systems running within said plurality of virtual machines. 10. The article of claim 6, wherein said instructions, when executed result in the capability to acquire said respective resource requirements and said respective interrupt periods from a resource management applications running within said plurality of virtual machines. 11. The article of claim 6, wherein said instructions, when executed result in the capability to determine said respective interrupt period by comparing an expected interrupt period with an actual interrupt period and adjusting said respective interrupt period based, at least in part, on said comparison. 12. A computerized method for determining interrupt period values comprising: initializing said interrupt period values for a plurality of virtual machines; adjusting said interrupt period values of said plurality of virtual machines iteratively until substantially equivalent to actual interrupt periods; and acquiring resource requirement values for said plurality of virtual machines from said plurality of virtual machines, including initializing said resource requirement values, and adjusting said resource requirement values iteratively based, at least in part, on a determination of whether each virtual machine of the plurality of virtual machines executed a respective predetermined instruction. 13. The method of claim 12, further comprising: scheduling said plurality of virtual machines to achieve real-time deadlines based, at least in part, on said interrupt period values and resource requirement values. 14. A computerized method for determining interrupt period values comprising: initializing said interrupt period values; generating virtualized interrupts by virtualizing hardware interrupts; filtering known non-periodic interrupts; rejecting detected aperiodic interrupts; adjusting said interrupt period values iteratively until substantially equivalent to actual interrupt periods; acquiring resource requirement values, said resource requirement values are acquired from a plurality of virtual machines; and scheduling said plurality of virtual machines to achieve real-time deadlines based, at least in part, on said interrupt period values and resource requirement values. 15. The method of claim 12, wherein adjusting said resource requirement values comprises: increasing said resource requirement values if execution of said respective predetermined instruction does not occur; decreasing said resource requirement values if execution of said respective predetermined instruction occurs prior to a target time; and scheduling said plurality of virtual machines based, at least in part, on said interrupt period values and said resource requirement values. 16. An article comprising: a storage medium having stored thereon instructions that, when executed, result in a computing system having the capability to: initialize interrupt period values for a plurality of virtual machines; adjust said interrupt period values iteratively until substantially equivalent to actual interrupt periods; increasing resource requirement values if a respective predetermined instruction does not occur; decreasing said resource requirement values if said respective predetermined instruction occurs prior to a target time; and scheduling said plurality of virtual machines based, at least in part, on said interrupt period values and said resource requirement values. 17. The article of claim 16, wherein said instructions, when executed, further result in the capability to: schedule said plurality of virtual machines to achieve real-time deadlines based, at least in part, on said interrupt period values and said resource requirement values. 18. The article of claim 16, wherein said instructions, when executed, result in said computing system having the further capability to: initialize said resource requirement values; and adjust said resource requirement values iteratively based, at least in part, on a determination of an occurrence of said predetermined instruction. 19. The article of claim 18, wherein adjusting said resource requirement values comprises: increasing said resource requirement values if said respective predetermined instruction does not occur; decreasing said resource requirement values if said respective predetermined instruction occurs prior to a target time; and scheduling a plurality of virtual machines based, at least in part, on said interrupt period values and said resource requirement values. 20. An article comprising: a storage medium having stored thereon instructions that, when executed, result in a computing system having the capability to: initialize interrupt period values; generate virtualized interrupts by virtualizing hardware interrupts; filter known non-periodic interrupts; reject detected aperiodic interrupts; adjust said interrupt period values iteratively until substantially equivalent to actual interrupt periods; acquire resource requirement values, said resource requirement values are acquired from a plurality of virtual machines; and schedule said plurality of virtual machines to achieve real-time deadlines based, at least in part, on said interrupt period values and said resource requirement values. 21. A system comprising: a computing platform; said computing platform being adapted to implement, at least, a virtual machine monitor and a plurality of virtual machines; said virtual machine monitor being capable of scheduling said virtual machines to execute real-time applications based, at least in part, on a resource requirement for each virtual machine and an interrupt period for each virtual machine, wherein said virtual machine monitor comprises a detector capable of determining whether each of said virtual machines issues a predetermined instruction and indicating said determinations to a proportional integral derivative controller; said proportional integral derivative controller being capable of adjusting said respective resource requirement for said each virtual machine based, at least in part, on said determination and communicating said adjusted respective resource requirement to a scheduler; and an interface capable of communicating respective resource requirement and interrupt period values for said each virtual machine to said virtual machine monitor. 22. The system of claim 21, wherein said virtual machine monitor comprises: a feedback loop capable of determining a respective resource requirement for said each virtual machine; a hardware interrupt virtualizer capable communicating device interrupts to said plurality of virtual machines and filtering non-periodic interrupts; an interrupt period detector capable of determining said periods for periodic interrupts and communicating said periods to a scheduler; and said scheduler being capable of said scheduling of said plurality of virtual machines.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.