Real-time scheduling of virtual machines
First Claim
Patent Images
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.
1 Assignment
0 Petitions
Accused Products
Abstract
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.
254 Citations
22 Claims
-
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. - View Dependent Claims (2, 3)
-
-
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. - View Dependent Claims (7, 8, 9, 10, 11)
- a storage medium having stored thereon instructions that, when executed, result in a computing platform having the capability to;
-
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. - View Dependent Claims (13, 15)
-
-
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.
-
-
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. - View Dependent Claims (17, 18, 19)
- a storage medium having stored thereon instructions that, when executed, result in a computing system having the capability to;
-
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.
- a storage medium having stored thereon instructions that, when executed, result in a computing system having the capability to;
-
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. - View Dependent Claims (22)
-
Specification