IP Library Granted Patent US 9,904,346
Granted Patent B2
US 9,904,346 · App. 14/716,326 · Granted Feb 27, 2018

Methods and apparatus to improve turbo performance for events handling

Inventors: Ryan D. Wells (Folsom, CA); Ohad Falik (Haifa, IL); Jose P. Allarey (Davis, CA)
Assignee: Intel Corporation
G06F1/324G06F1/32G06F1/3203G06F1/3206G06F1/329G06F1/3228G06F1/3234G06F1/3237G06F1/3243G06F1/3246G06F1/3287G06F1/3293G06F1/3296G06F9/5027G06F9/5094G06F2209/501Y02B60/1217Y02B60/1278Y02B60/1282Y02B60/142Y02B60/32
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,904,346
App. No.
14/716,326
Granted
Feb 27, 2018
Kind
B2
Abstract

Embodiments of an apparatus for improving performance for events handling are presented. In one embodiment, the apparatus includes a number of processing elements and task routing logic. If at least one of the processing elements is in a turbo mode, the task routing logic selects a processing element for executing a task based at least on a comparison of performance losses.

Claims (26)

1. A multi-core processor for executing a task, comprising:

a plurality of processing cores;

turbo mode logic to control the plurality of processing cores such that an active processing core transitions into a turbo mode by operating at a higher frequency while an idle processing core remains idle;

performance computing logic to calculate potential performance losses associated with selecting among the plurality of processing cores for handling an event, wherein said potential performance losses comprise an active performance loss (APL) for selecting the active processing core to handle the event and a waking performance loss (WPL) for selecting the idle processing core to handle the event, wherein the APL is based on a ratio of a time period for executing the task and a total runtime of both the task and a program workload being executed by the active processing core; and

task routing logic to select between the active processing core and the idle processing core for executing a task to handle the event, said selection based on a comparison between the APL and the WPL, wherein power is channeled to wake up the idle processing core unless the comparison indicates that the APL is less than the WPL.

2. The multi-core processor of claim 1 , wherein the active processing core in a turbo mode transitions to a lower operating frequency so that the power can be channeled to wake up the idle processing core.

3. The multi-core processor of claim 1 , wherein the WPL is based on a decrease of an operating frequency associated with active processing core and a frequency scalability factor of a program being executed by the active processing core.

4. The multi-core processor of claim 1 , further comprising:

memory, coupled to the performance computing logic, to hold information about a frequency scalability factor of a program being executed by the active processing core.

5. The multi-core processor of claim 1 , wherein the task is executable by any of the plurality of processing cores to handle a re-routable event.

6. A method for improving turbo performance, comprising:

transitioning an active processing core of a plurality of processing cores into a turbo mode by operating at a higher frequency while an idle processing core of the plurality of processing elements remains idle;

calculating potential performance losses associated with the plurality of processing cores handling an event, wherein an active performance loss (APL) is calculated based on a ratio of a time period for executing the task and a total runtime of both the task and a program workload being executed by the active processing core;

selecting between the active processing core and the idle processing core for executing a task to handle the event, said selection based on a comparison of the APL for selecting the active processing core to execute the task and a waking performance loss (WPL) for selecting the idle processing core to execute the task; and

channeling power to wake up the idle processing core unless the comparison indicates that the APL is less than the WPL.

7. The method of claim 6 , further comprising calculating the WPL based on a decrease of an operating frequency associated with the active processing core in the turbo mode and a frequency scalability factor of a program being executed by the active processing core.

8. The method of claim 6 , further comprising transitioning the active processing core in the turbo mode to a lower operating frequency so that the power can be channeled to wake up the idle processing core.

9. A system for improving turbo performance, comprising:

a plurality of processing cores;

turbo mode logic to control the plurality of processing cores such that an active processing core may transition into a turbo mode by operating at a higher frequency if an idle processing element remains idle;

performance computing logic to calculate potential performance losses associated with selecting among the plurality of processing cores for handling an event, wherein said potential performance losses comprise an active performance loss (APL) for selecting the active processing core to handle the event and a waking performance loss (WPL) for selecting the idle processing core to handle the event, wherein the APL is based on a ratio of a time period for executing the task and a total runtime of both the task and a program workload being executed by the active processing core;

task routing logic to select between the active processing core and the idle processing core for executing a task to handle the event, said selection based on a comparison between the APL and the WPL, wherein power is channeled to wake up the idle processing core unless the comparison indicates that the APL is less than the WPL; and

a memory, coupled to the task routing logic, to hold a frequency scalability factor of a program to be executed by one or more of the plurality of processing cores.

10. The system of claim 9 , wherein the WPL is based on a decrease of an operating frequency associated with active processing core and the frequency scalability factor of said program while it is being executed by the active processing core.

11. The system of claim 9 , wherein the active processing core in a turbo mode transitions to a lower operating frequency so that the power can be channeled to wake up the idle processing core.

12. The system of claim 9 , wherein the task is executable by any of the plurality of processing cores to handle a re-routable event.

Continuity (3)
Continuation 13156268 · Jun 8, 2011
Continuation 12630438 · Dec 3, 2009
Related Publication 20150253833A1 · Sep 10, 2015