System and Methods for Scheduling Software Tasks based on Central Processing Unit Power Characteristics
US-2018284869-A1 · Oct 4, 2018 · US
US10540300B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10540300-B2 |
| Application number | US-201815897871-A |
| Country | US |
| Kind code | B2 |
| Filing date | Feb 15, 2018 |
| Priority date | Feb 16, 2017 |
| Publication date | Jan 21, 2020 |
| Grant date | Jan 21, 2020 |
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.
Optimizing network driver performance and power consumption in multi-core processor-based systems is disclosed. In this regard, a multi-core processor-based system provides multiple processor cores comprising one or more power-optimized processor cores and one or more performance-optimized processor cores, and a network device configured to assign network streams to a plurality of interrupts. A network driver calculates a current throughput level of the network device, and determines whether a throughput mode of the network driver should be modified to a high-throughput mode. If so, the network driver assigns each interrupt to one of the performance-optimized processor cores, and disables system reassignment of interrupts among the processor cores. Some aspects may also determine whether the throughput mode should be modified to a low-throughput mode, in which case the network driver assigns each interrupt to a same power-optimized processor core and enables system reassignment of interrupts among the processor cores.
Opening claim text (preview).
What is claimed is: 1. A multi-core processor-based system for optimizing network driver performance and power consumption, comprising: a plurality of processor cores comprising one or more power-optimized processor cores and one or more performance-optimized processor cores; a network device configured to: receive one or more network streams; and assign each of the one or more network streams to an interrupt of a plurality of interrupts; and a network driver configured to: calculate a current throughput level of the network device; determine, based on the current throughput level, whether a throughput mode of the network driver should be modified to a high-throughput mode; and responsive to determining that the throughput mode of the network driver should be modified to the high-throughput mode: assign each interrupt of the plurality of interrupts to which a network stream is assigned to a performance-optimized processor core of the one or more performance-optimized processor cores; and disable system reassignment of the plurality of interrupts among the plurality of processor cores, wherein the network driver is configured to disable the system reassignment of the plurality of interrupts among the plurality of processor cores by being configured to disable an interrupt balancer. 2. The multi-core processor-based system of claim 1 , wherein the network driver is configured to determine, based on the current throughput level, whether the throughput mode of the network driver should be modified to the high-throughput mode by being configured to determine whether the network driver is presently in a low-throughput mode and whether the current throughput level of the network device exceeds a throughput threshold of the network device. 3. The multi-core processor-based system of claim 1 , wherein the network driver is configured to disable the system reassignment of the plurality of interrupts among the plurality of processor cores by being further configured to provide a blacklist of one or more interrupts of the plurality of interrupts to be excluded from the system reassignment to the interrupt balancer. 4. The multi-core processor-based system of claim 1 , wherein the network driver is further configured to, responsive to determining that the throughput mode of the network driver should be modified to the high-throughput mode, increase a minimum clock frequency of the one or more performance-optimized processor cores to which the plurality of interrupts are assigned. 5. The multi-core processor-based system of claim 1 , wherein the network driver is further configured to update a central processing unit (CPU) state table to track a count of interrupts assigned to each processor core of the plurality of processor cores, responsive to one of a change in the throughput mode of the network driver and an assignment of an interrupt of the plurality of interrupts to a processor core of the plurality of processor cores. 6. The multi-core processor-based system of claim 5 , wherein the network driver is configured to assign each interrupt of the plurality of interrupts to the performance-optimized processor core of the one or more performance-optimized processor cores by being configured to select a performance-optimized processor core having a fewest number of assigned interrupts among the plurality of processor cores as indicated by the CPU state table. 7. The multi-core processor-based system of claim 5 , wherein the network driver is further configured to: receive, from the multi-core processor-based system, a notification that a processor core of the plurality of processor cores has been taken offline; and responsive to receiving the notification: update the CPU state table to indicate that the processor core, associated with the notification, is offline; and reassign one or more interrupts assigned to the processor core taken offline to other processor cores of the plurality of processor cores. 8. The multi-core processor-based system of claim 1 , wherein the network driver is further configured to: determine, based on the current throughput level, whether the throughput mode of the network driver should be modified to a low-throughput mode; and responsive to determining that the throughput mode of the network driver should be modified to the low-throughput mode: assign each interrupt of the plurality of interrupts to a same power-optimized processor core of the one or more power-optimized processor cores; and enable the system reassignment of the plurality of interrupts among the plurality of processor cores. 9. The multi-core processor-based system of claim 8 , wherein the network driver is configured to determine, based on the current throughput level, whether the throughput mode of the network driver should be modified to the low-throughput mode by being configured to determine whether the network driver is presently in the high-throughput mode and whether the current throughput level of the network device is below a throughput threshold of the network device. 10. The multi-core processor-based system of claim 8 , further comprising the interrupt balancer, wherein the network driver is configured to, responsive to determining that the throughput mode of the network driver should be modified to the low-throughput mode, enable the system reassignment of the plurality of interrupts among the plurality of processor cores by being configured to enable the interrupt balancer to manage distribution of the plurality of interrupts among the plurality of processor cores. 11. The multi-core processor-based system of claim 1 , wherein the multi-core processor-based system is integrated into an integrated circuit (IC). 12. The multi-core processor-based system of claim 1 , wherein the multi-core processor-based system is integrated into a device selected from a group consisting of: a set top box; an entertainment unit; a navigation device; a communications device; a fixed location data unit; a mobile location data unit; a global positioning system (GPS) device; a mobile phone; a cellular phone; a smart phone; a session initiation protocol (SIP) phone; a tablet; a phablet; a server; a computer; a portable computer; a mobile computing device; a wearable computing device; a desktop computer; a personal digital assistant (PDA); a monitor; a computer monitor; a television; a tuner; a radio; a satellite radio; a music player; a digital music player; a portable music player; a digital video player; a video player; a digital video disc (DVD) player; a portable digital video player; an automobile; a vehicle component; avionics systems; a drone; and a multicopter. 13. The multi-core processor-based system of claim 1 , further comprising the interrupt balancer, wherein the network driver is configured to, responsive to determining that the throughput mode of the network driver should be modified to the high-throughput mode, disable the system reassignment of the plurality of interrupts among the plurality of processor cores by being configured to disable the interrupt balancer from managing distribution of the plurality of interrupts among the plurality of processor cores. 14. A multi-core processor-based system for optimizing network driver performance and power consumption, comprising: a plurality of processor cores comprising one or more power-optimized processor cores and one or more performance-optimized processor cores; a means for calculating a current throughput level of a network device; a means for determining whether a throughput mode of a network driver should be modified to a high-throughput mode; a means for assigning each int
where the program performs an interfacing function, e.g. device driver (G06F13/105 takes precedence; contention policies within device drivers G06F9/4881; scheduling within device drivers G06F9/52) · CPC title
by interrupt, e.g. masked · CPC title
Power saving in modem or I/O interface · CPC title
where the allocation takes into account power or heat criteria (power management in computers in general G06F1/3203; thermal management in computers in general G06F1/206) · CPC title
Means for saving power · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.