IP Library Granted Patent US 7,899,966
Granted Patent B2
US 7,899,966 · App. 12/159,971 · Granted Mar 1, 2011

Methods and system for interrupt distribution in a multiprocessor system

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 7,899,966
App. No.
12/159,971
Granted
Mar 1, 2011
Kind
B2
Abstract

A method for distributing interrupt load to processors in a multiprocessor system. The method includes executing current transactions with multiple processors ( 104, 106, 108 ) where each transaction is associated with one of the processors, generating an interrupt request, estimating a transaction completion time for each processor and directing the interrupt request ( 102 ) to the processor having the least estimated transaction completion time. Estimating a transaction completion time occurs periodically so that information pertaining to transaction times is stored and continually updated. According to one aspect of the invention, the step of estimating a transaction completion time for each processor occurs when the interrupt request is generated. According to another aspect of the invention, the step of communicating the interrupt request includes communicating the interrupt request to an intermediary processor prior to estimating the transaction completion time.

Claims (40)

1. A method for distributing interrupt load to processors in a multiprocessor system, the method comprising:

executing a single current transaction with a first processor;

receiving an interrupt request during the execution of the single current transaction;

estimating a first transaction completion time for the single current transaction executed on the first processor;

estimating a second transaction completion time for a single current transaction executed on a second processor; and

re-directing the interrupt request to the second processor only when the second transaction completion time for the single current transaction executed on the second processor is less than the first transaction completion time for the single current transaction executed on the first processor.

2. A method as set forth in claim 1 , further comprising:

estimating a transaction completion time for each other processor in the multiprocessor system; and

re-directing the interrupt request to the processor having the least estimated transaction completion time.

3. A method as set forth in claim 2 , wherein the processors in the multiprocessor system are symmetric processors and the method further comprises: load balancing between the processors so that the processors operate at a virtually uniform load.

4. A method for distributing interrupt load to processors in a multiprocessor system, comprising:

executing a single current transaction with a first processor;

generating an interrupt request during the execution of the single current transaction and directing the interrupt request to the first processor; and

estimating a first transaction completion time for the single current transaction executed on the first processor at the time the interrupt request is generated;

estimating a second transaction completion time for a single current transaction executed on a second processor; and

re-directing the interrupt request to the second processor only when the second transaction completion time for the single current transaction executed on the second processor is less than the first transaction completion time for the single current transaction executed on the first processor.

5. A method as set forth in claim 4 , further comprising:

estimating a transaction completion time for each other processor in the multiprocessor system; and

re-directing the interrupt request to the processor having the least estimated transaction completion time.

6. A method as set forth in claim 5 , wherein the processors in the multiprocessor system are symmetric processors and the method further comprises: load balancing between the processors so that the processors operate at a virtually uniform load.

7. A method for distributing interrupt load to processors in a multiprocessor system, comprising:

executing current transactions with multiple processors where each single transaction is associated with one of the processors;

generating an interrupt request;

estimating a transaction completion time for the single transaction of each processor; and

directing the interrupt request to the processor having the least estimated transaction completion time.

8. A method as set forth in claim 7 , wherein the step of estimating a transaction completion time occurs periodically.

9. A method as set forth in claim 7 , wherein the step of estimating a transaction completion time for each processor occurs when the interrupt request is generated.

10. A method as set forth in claim 7 , further comprising the step of communicating the interrupt request to an intermediary processor prior to estimating the transaction completion time.

11. A method as set forth in claim 7 , wherein the processors are symmetric processors and the method further comprises: load balancing between the processors so that the processors operate at a virtually uniform load.

12. A system for distributing interrupt load, comprising:

multiple processors, each processor being capable of executing transactions;

an interrupt distributor in communication with the processors for distributing interrupt requests; and

the interrupt distributor is configured to estimate transaction completion times for a single transaction of each processor so that when each interrupt request is distributed, the interrupt request is assigned to the processor having the smallest transaction completion time of the single transaction.

13. A system as set forth in claim 12 , wherein the processors are synchronous and operate at a virtually constant frequency.

14. A system as set forth in claim 13 , wherein the processors define portions of a processor core.

15. A system as set forth in claim 13 , wherein the processors are discrete units and the system includes a main memory and a bus connecting the main memory to the processors.

16. A system as set forth in claim 15 further comprising:

cache memory associated in communication with each processor.

17. A system as set forth in claim 12 , wherein the processors are asynchronous and in addition to estimating the transaction completion times for each processor, the interrupt distributor tabulates the estimated transaction times for each processor at each available processor frequency.

18. A system as set forth in claim 12 , wherein the interrupt distributor is in communication with a transaction handler associated with each respective processor, each the transaction handler continually monitors the respective processor to estimate transaction completion times.

Assignments (17)
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12298143 PREVIOUSLY RECORDED ON REEL 042985 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded Oct 22, 2019
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 051029/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12298143 PREVIOUSLY RECORDED ON REEL 039361 FRAME 0212. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded Oct 22, 2019
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 051029/0387 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12298143 PREVIOUSLY RECORDED ON REEL 038017 FRAME 0058. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded Oct 22, 2019
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 051030/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12298143 PREVIOUSLY RECORDED ON REEL 042762 FRAME 0145. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded Oct 22, 2019
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 051145/0184 →
RELEASE OF SECURITY INTEREST Recorded Sep 10, 2019
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 050745/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE PROPERTY NUMBERS PREVIOUSLY RECORDED AT REEL: 47630 FRAME: 344. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Mar 21, 2019
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 048883/0267 →
CORRECTIVE ASSIGNMENT TO CORRECT THE EFFECTIVE DATE OF MERGER TO 9/5/2018 PREVIOUSLY RECORDED AT REEL: 047196 FRAME: 0687. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER. Recorded Oct 29, 2018
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047630/0344 →
MERGER Recorded Oct 4, 2018
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047196/0687 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12681366 PREVIOUSLY RECORDED ON REEL 039361 FRAME 0212. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded May 9, 2017
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 042762/0145 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12681366 PREVIOUSLY RECORDED ON REEL 038017 FRAME 0058. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded May 9, 2017
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 042985/0001 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Feb 3, 2017
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: BROADCOM CORPORATION
Reel/Frame 041712/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 1, 2017
From: BROADCOM CORPORATION
To: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
Reel/Frame 041706/0001 →
PATENT RELEASE Recorded Aug 17, 2016
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 039707/0471 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12092129 PREVIOUSLY RECORDED ON REEL 038017 FRAME 0058. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded Jul 14, 2016
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 039361/0212 →
SECURITY AGREEMENT SUPPLEMENT Recorded Mar 7, 2016
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 038017/0058 →
PATENT SECURITY AGREEMENT Recorded Feb 11, 2016
From: BROADCOM CORPORATION
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 037806/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 21, 2014
From: NXP B.V.
To: BROADCOM CORPORATION
Reel/Frame 033579/0267 →