Latency sensitive software interrupt and thread scheduling
US-8943252-B2 · Jan 27, 2015 · US
US9652280B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9652280-B2 |
| Application number | US-201615044035-A |
| Country | US |
| Kind code | B2 |
| Filing date | Feb 15, 2016 |
| Priority date | Aug 26, 2013 |
| Publication date | May 16, 2017 |
| Grant date | May 16, 2017 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
A host computer has one or more physical central processing units (CPUs) that support the execution of a plurality of containers, where the containers each include one or more processes. Each process of a container is assigned to execute exclusively on a corresponding physical CPU when the corresponding container is determined to be latency sensitive. The assignment of a process to execute exclusively on a corresponding physical CPU includes the migration of tasks from the corresponding physical CPU to one or more other physical CPUs of the host system, and the directing of task and interrupt processing to the one or more other physical CPUs. Tasks of the process corresponding to the container are then executed on the corresponding physical CPU.
Opening claim text (preview).
We claim: 1. A method for assigning processing resources to a plurality of containers, the method comprising: determining that a first container of the plurality of containers is deemed to have a high level of latency sensitivity; responsive to determining that the first container is deemed to have the high level of latency sensitivity, affording the first container exclusive affinity to a first PCPU of a plurality of PCPUs; and due to the first container having exclusive affinity for the first PCPU, refraining from scheduling one or more tasks of containers of the plurality of containers other than the first container, to the first PCPU, when the first PCPU is idle. 2. The method of claim 1 , further comprising: scheduling tasks of containers of the plurality of containers to PCPUs of the plurality of PCPUs. 3. The method of claim 2 , wherein: the scheduling is based on latency sensitivity of the plurality of containers and on PCPU processing capacity granted to the plurality of containers. 4. The method of claim 1 , further comprising: determining that the first container is granted an amount of physical central processing unit (PCPU) processing capacity that is above a processing capacity threshold, wherein affording the first container exclusive affinity to the first PCPU is performed responsive to both determining that the first container is deemed to have the high level of latency sensitivity and determining that the first container is granted the amount of PCPU processing capacity that is above the processing capacity threshold. 5. The method of claim 4 , wherein: the processing capacity threshold comprises 100 percent of processing capacity of the first PCPU multiplied by a number of virtual central processing units assigned to the first container. 6. The method of claim 1 , further comprising: responsive to affording the first container exclusive affinity to the first PCPU, migrating a first task of a second container of the plurality of containers, from a first run queue including tasks for execution by the first PCPU to a second run queue including tasks for execution by a second PCPU of the plurality of PCPUs. 7. The method of claim 1 , wherein: determining that the first container is deemed to have the high level of latency sensitivity is performed in response to one of changing a latency sensitivity for the first container or powering on the first container. 8. The method of claim 1 , wherein: refraining from scheduling the one or more tasks of containers of the plurality of containers other than the first container to the first PCPU when the first PCPU is idle comprises assigning no tasks for the containers other than the first container, to the first PCPU, except for hardware interrupt handlers that are localized to the first PCPU. 9. The method of claim 1 , further comprising: responsive to affording the first container exclusive affinity to the first PCPU, disabling frequency scaling for the first PCPU. 10. A system, comprising: a plurality of physical central processing units (PCPUs) that support the execution of a plurality of containers; and a scheduler, configured to: determine that a first container of the plurality of containers is deemed to have a high level of latency sensitivity; responsive to determining that the first container is deemed to have the high level of latency sensitivity, affording the first container exclusive affinity to a first PCPU of a plurality of PCPUs; and due to the first container having exclusive affinity for the first PCPU, refraining from scheduling one or more tasks of containers of the plurality of containers other than the first container, to the first PCPU, when the first PCPU is idle. 11. The system of claim 10 , wherein the scheduler is further configured to: schedule tasks of containers of the plurality of containers to PCPUs of the plurality of PCPUs. 12. The system of claim 11 , wherein: the scheduling is based on latency sensitivity of the plurality of containers and on PCPU processing capacity granted to the plurality of containers. 13. The system of claim 10 , wherein the scheduler is further configured to: determine that the first container is granted an amount of physical central processing unit (PCPU) processing capacity that is above a processing capacity threshold, wherein affording the first container exclusive affinity to the first PCPU is performed responsive to both determining that the first container is deemed to have the high level of latency sensitivity and determining that the first container is granted the amount of PCPU processing capacity that is above the processing capacity threshold. 14. The system of claim 13 , wherein: the processing capacity threshold comprises 100 percent of processing capacity of the first PCPU multiplied by a number of virtual central processing units assigned to the first container. 15. The system of claim 10 , wherein the scheduler is further configured to: responsive to affording the first container exclusive affinity to the first PCPU, migrate a first task of a second container of the plurality of containers, from a first run queue including tasks for execution by the first PCPU to a second run queue including tasks for execution by a second PCPU of the plurality of PCPUs. 16. The system of claim 10 , wherein: the scheduler is configured to determine that the first container is deemed to have the high level of latency sensitivity in response to one of changing a latency sensitivity for the first container or powering on the first container. 17. The system of claim 10 , wherein: refraining from scheduling the one or more tasks of containers of the plurality of containers other than the first container to the first PCPU when the first PCPU is idle comprises assigning no tasks for the containers other than the first container, to the first PCPU, except for hardware interrupt handlers that are localized to the first PCPU. 18. The system of claim 10 , wherein the scheduler is further configured to: responsive to affording the first container exclusive affinity to the first PCPU, disable frequency scaling for the first PCPU. 19. A non-transitory computer-readable medium comprising instructions executable by a host computer, the host computer having one or more physical central processing units (PCPUs) that support the execution of a plurality of containers, the containers each including one or more processes, where the instructions, when executed, cause the host computer to perform a method of assigning processes to execute exclusively on a corresponding physical CPU, the method comprising: determining that a first container of the plurality of containers is deemed to have a high level of latency sensitivity; responsive to determining that the first container is deemed to have the high level of latency sensitivity, affording the first container exclusive affinity to a first PCPU of a plurality of PCPUs; and due to the first container having exclusive affinity for the first PCPU, refraining from scheduling one or more tasks of containers of the plurality of containers other than the first container, to the first PCPU, when the first PCPU is idle. 20. The non-transitory computer-readable medium of claim 19 , wherein the method further comprises: scheduling tasks of containers of the plurality of containers to PCPUs of the plurality of PCPUs.
Task decomposition · CPC title
Hypervisor-specific management and integration aspects · CPC title
involving deadlines, e.g. rate based, periodic · CPC title
Real time traffic · CPC title
Packet rate · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.