IP Library Granted Patent US 9,081,625
Granted Patent B2
US 9,081,625 · App. 13/652,512 · Granted Jul 14, 2015

Method for reducing execution jitter in multi-core processors within an information handling system

Inventors: Michael Karl Molloy (Round Rock, TX); Mukund P. Khatri (Austin, TX); Robert Wayne Hormuth (Cedar Park, TX)
Assignee: DELL PRODUCTS, L.P.
G06F9/5094G06F9/223Y02B60/142
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,081,625
App. No.
13/652,512
Granted
Jul 14, 2015
Kind
B2
Abstract

A method of reducing execution jitter includes a processor having several cores and control logic that receives core configuration parameters. Control logic determines if a first set of cores are selected to be disabled. If none of the cores is selected to be disabled, the control logic determines if a second set of cores is selected to be jitter controlled. If the second set of cores is selected to be jitter controlled, the second set of cores is set to a first operating state. If the first set of cores is selected to be disabled, the control logic determines a second operating state for a third set of enabled cores. The control logic determines if the third set of enabled cores is jitter controlled, and if the third set of enabled cores is jitter controlled, the control logic sets the third set of enabled cores to the second operating state.

Claims (85)

1. A computer implemented method of reducing execution jitter within a processor having a control logic and a plurality of individual cores, the method comprising:

receiving at least one core configuration parameter;

determining from the at least one configuration parameter if a first set of one or more cores are selected to be disabled from operation;

in response to none of the first set of cores being selected to be disabled, determining if a second set of one or more cores are selected to be jitter controlled;

in response to the second set of the cores being selected to be jitter controlled, setting the second set of cores to a first operating state that reduces jitter;

in response to the first set of cores being selected to be disabled, disabling the first set of cores and determining a second operating state that reduces jitter for a third set of one or more enabled cores;

determining if the third set of enabled cores are selected to be jitter controlled; and

in response to the third set of enabled cores being selected to be jitter controlled, setting the third set of enabled cores to the second operating state that reduces jitter.

2. The method of claim 1 , wherein the core configuration parameter comprises an ordered lookup table of the third set of enabled cores.

3. The method of claim 1 , further comprising:

receiving the core configuration parameter from a basic input output system stored in memory; and

loading the core configuration parameter into the control logic.

4. The method of claim 1 , wherein the first operating state comprises a first operating frequency for the second set of cores and the second operating state comprises a second operating frequency for the third set of cores, and wherein the second operating state is based on the number of disabled cores.

5. The method of claim 1 , wherein the disabled cores do not operate and are selected to be disabled based on a physical location of each core.

6. The method of claim 1 , further comprising:

determining a third operating state for a fourth set of enabled cores;

determining if the fourth set of enabled cores are selected to be jitter controlled; and

in response to the fourth set of enabled cores selected to be jitter controlled, setting the fourth set of enabled cores to the third operating state.

7. The method of claim 1 , further comprising:

loading, into the control logic, an ordered lookup table of the cores ordered by maximum physical spacing between each pair of sequentially enabled cores among a sequence of enabled cores;

enabling operation of a first core in the ordered lookup table;

determining if all of the third set of enabled cores have been enabled for operation; and

in response to all of the third set of enabled cores not being enabled, enabling operation of a next sequential core in the ordered lookup table.

8. The method of claim 1 , further comprising:

selecting a first core of the plurality of cores;

placing the first core in a first position in an ordered lookup table;

determining if all of the cores have been placed in the lookup table; and

in response to all of the cores not having been placed in the table, selecting a second core with maximum spacing from the other cores that are not yet selected for the table and placing the selected second core in a next sequential position in the ordered lookup table.

9. A multi-core processor comprising:

a plurality of cores in communication; and

control logic in communication with the plurality of cores and having firmware executing thereon, wherein the firmware configures the control logic to:

receive at least one core configuration parameter;

determine from the at least one configuration parameter if a first set of one or more cores are selected to be disabled from operation;

in response to none of the first set of cores being selected to be disabled, determine if a second set of one or more cores are selected to be jitter controlled;

in response to the second set of the cores being selected to be jitter controlled, set the second set of cores to a first operating state that reduces jitter;

in response to the first set of cores being selected to be disabled, disable the first set of cores from operation based on a physical location of each core and determine a second operating state that reduces jitter for a third set of one or more enabled cores;

determine if the third set of enabled cores are selected to be jitter controlled; and

in response to the third set of enabled cores being selected to be jitter controlled, set the third set of enabled cores to the second operating state that reduces jitter.

10. The multi-core processor of claim 9 , further comprising logic that receives the at least one core configuration parameter and wherein the core configuration parameter comprises an ordered lookup table of the third set of enabled cores.

11. The multi-core processor of claim 9 , further comprising logic that:

receives the core configuration parameter in a basic input output system memory; and

loads the core configuration parameter into the control logic.

12. The multi-core processor of claim 9 , wherein the first operating state comprises a first operating frequency for the second set of cores and the second operating state comprises a second operating frequency for the third set of cores, and wherein the second operating state is based on the number of disabled cores.

13. The multi-core processor of claim 9 , further comprising logic that:

determines a third operating state for a fourth set of enabled cores;

determines if the fourth set of enabled cores are selected to be jitter controlled; and

in response to the fourth set of enabled cores selected to be jitter controlled, sets the fourth set of enabled cores to the third operating state.

14. The multi-core processor of claim 9 , further comprising logic that:

loads an ordered lookup table of the cores ordered by maximum spacing into the control logic;

enables a first core in the ordered lookup table;

determines if all of the third set of enabled cores have been enabled for operation; and

in response to all of the third set of enabled cores not being enabled, enables a subsequent second core in the ordered lookup table.

15. The multi-core processor of claim 9 , further comprising logic that:

selects a first core of the plurality of cores;

places the first core in a first position in an ordered lookup table;

determines if all of the cores have been placed in the lookup table; and

in response to all of the cores not having been placed in the table, selects a second core with maximum spacing from the other cores and placing the selected second core in a second position in the ordered lookup table.

16. An information handling system (IHS) comprising:

a processor having a plurality of cores and a control logic;

a memory coupled to the processor via a system interconnect;

the control logic having firmware executing thereon to reduce execution jitter, wherein the firmware configures the control logic to:

receive at least one core configuration parameter;

determine from the at least one configuration parameter if a first set of one or more cores are selected to be disabled from operation;

in response to none of the first set of cores being selected to be disabled, determine if a second set of one or more cores are selected to be jitter controlled;

in response to the second set of the cores being selected to be jitter controlled, set the second set of cores to a first operating state that reduces jitter;

in response to the first set of cores being selected to be disabled, disable the first set of cores from operation and determine a second operating state that reduces jitter for a third set of one or more enabled cores;

determine if the third set of enabled cores are selected to be jitter controlled; and

in response to the third set of enabled cores being selected to be jitter controlled, set the third set of enabled cores to the second operating state that reduces jitter.

17. The information handling system of claim 16 , wherein:

the control logic further receives the at least one core configuration parameter that includes an ordered lookup table of the third set of enabled cores; and

the first operating state comprises a first operating frequency for the second set of cores and the second operating state comprises a second operating frequency for the third set of cores, and wherein the second operating state is based on the number of disabled cores.

18. The information handling system of claim 16 , wherein the control logic:

determines a third operating state for a fourth set of enabled cores;

determines if the fourth set of enabled cores are selected to be jitter controlled; and

in response to the fourth set of enabled cores being selected to be jitter controlled, sets the fourth set of enabled cores to the third operating state.

19. The information handling system of claim 16 , wherein the control logic:

loads an ordered lookup table of the cores ordered by maximum spacing into the control logic;

enables a first core in the ordered lookup table;

determines if all of the third set of enabled cores have been enabled for operation; and

in response to all of the third set of cores not being enabled, enables a subsequent second core in the ordered lookup table.

20. The information handling system of claim 16 , wherein the control logic:

selects a first core of the plurality of cores;

places the first core in a first position in an ordered lookup table;

determines if all of the cores have been placed in the lookup table; and

in response to all of the cores not having been placed in the table, selects a second core with maximum spacing from the other cores and placing the selected second core in a second position in the ordered lookup table.

Assignments (15)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (045455/0001) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061753/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040136/0001) Recorded Apr 26, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061324/0001 →
RELEASE OF SECURITY INTEREST Recorded Nov 3, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL, L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058216/0001 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Mar 21, 2019
From: CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049452/0223 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040134/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 040136/0001 →
RELEASE OF SECURITY INTEREST Recorded Sep 14, 2016
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: DELL MARKETING L.P.; ASAP SOFTWARE EXPRESS, INC.; APPASSURE SOFTWARE, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL INC.; DELL PRODUCTS L.P.; DELL USA L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040040/0001 →
RELEASE OF SECURITY INTEREST Recorded Sep 14, 2016
From: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: DELL MARKETING L.P.; ASAP SOFTWARE EXPRESS, INC.; APPASSURE SOFTWARE, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL INC.; DELL PRODUCTS L.P.; DELL USA L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040065/0618 →
RELEASE OF SECURITY INTEREST Recorded Sep 13, 2016
From: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
To: DELL MARKETING L.P.; ASAP SOFTWARE EXPRESS, INC.; APPASSURE SOFTWARE, INC.; COMPELLANT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL INC.; DELL PRODUCTS L.P.; DELL USA L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040065/0216 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Jan 2, 2014
From: APPASSURE SOFTWARE, INC.; ASAP SOFTWARE EXPRESS, INC.; BOOMI, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL INC.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL USA L.P.; FORCE10 NETWORKS, INC.; GALE TECHNOLOGIES, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
To: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS FIRST LIEN COLLATERAL AGENT
Reel/Frame 031897/0348 →
PATENT SECURITY AGREEMENT (TERM LOAN) Recorded Jan 2, 2014
From: DELL INC.; APPASSURE SOFTWARE, INC.; ASAP SOFTWARE EXPRESS, INC.; BOOMI, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL USA L.P.; FORCE10 NETWORKS, INC.; GALE TECHNOLOGIES, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 031899/0261 →
PATENT SECURITY AGREEMENT (ABL) Recorded Jan 2, 2014
From: DELL INC.; APPASSURE SOFTWARE, INC.; ASAP SOFTWARE EXPRESS, INC.; BOOMI, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL USA L.P.; FORCE10 NETWORKS, INC.; GALE TECHNOLOGIES, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 031898/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 16, 2012
From: MOLLOY, MICHAEL KARL; KHARTI, MUKUND; HORMUTH, ROBERT
To: DELL PRODUCTS L.P.
Reel/Frame 029133/0487 →
Continuity (1)
Related Publication 20140108778A1 · Apr 17, 2014