Implicit co-scheduling of CPUs
AssigneeVMware, Inc.
InventorsHaoqiang Zheng, Carl A. Waldspurger
Life of this patent
Estimating the term…
Abstract
Techniques for implicit co scheduling of CPUs to improve corun performance of scheduled contexts are described. One technique minimizes skew by implementing corun migrations, and another technique minimizes skew by implementing a corun bonus mechanism. Skew between schedulable contexts may be calculated based on guest progress, where guest progress represents time spent executing guest operating system and guest application code. A non-linear skew catch-up algorithm is described that adjusts the progress of a context when the progress falls far behind its sibling contexts.
Claims14
A method for bounding skew between sibling contexts that are executing on a computer system, wherein skew between a first and second context is a difference in progress of the two contexts, the progress being a measure of time during which a context is executing, the first context and second context being sibling contexts that are associated with a common underlying system, each context being a software construct of the underlying system, the method comprising:
- calculating the skew between the first context and the second context, the second context having a greater progress than the first context;
- determining whether the skew exceeds a threshold amount of skew;
- and
- when the skew exceeds the threshold, calculating a metric as a function of the skew and adjusting the progress of the first context by an amount that is a function of the metric, the adjusting of the progress being performed only when the skew exceeds the threshold;
- calculating a new skew based on the adjusted progress of the first context;
- and
- performing, by operation of one or more processors, a scheduling operation on a particular context associated with the underlying system, the scheduling operation including determining when to execute the particular context on the one or more physical processors, the scheduling operation being based at least in part on the new skew.
Dependencies are inferred from the claim text.