IP Library › Granted Patent US 10,642,760
Granted Patent B2
US 10,642,760 · App. 15/667,270 · Granted May 5, 2020

Techniques for command arbitation in symmetric multiprocessor systems

Inventors: Guy L. Guthrie (Austin, TX); Charles Marino (Round Rock, TX); Praveen S. Reddy (Austin, TX)
Assignee: International Business Machines Corporation
G06F13/161G06F12/0811G06F12/0813G06F12/0831G06F2212/621
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 10,642,760
App. No.
15/667,270
Granted
May 5, 2020
Kind
B2
Abstract

A technique for operating a data processing system includes determining, by an arbiter of a processing unit of the data processing system, whether an over-commit has occurred. In response to determining that the over-commit has occurred, the arbiter selects a broadcast command to be dropped based on a number of hops traversed through the data processing system by the broadcast command.

Claims (19)

1. A method of operating a data processing system, comprising:

determining, by an arbiter of a processing unit of the data processing system, whether an over-commit has occurred;

in response to determining that the over-commit has occurred, selecting, by the arbiter, a broadcast command to be dropped based on a number of hops traversed through the data processing system by the broadcast command, wherein a weighting factor of a multi-hop broadcast command is increased as the number of hops traversed by the multi-hop broadcast command increases such that the arbiter is less likely to drop the multi-hop broadcast command as the number of hops traversed by the multi-hop broadcast command increases, and wherein the broadcast command includes a tag that specifies a chip identifier (ID) that identifies a chip that is a source of the broadcast command and a group ID that identifies a group for the source chip that the arbiter utilizes to determine the number of hops traversed by the multi-hop broadcast command; and

dynamically adjusting the weighting factor of the multi-hop broadcast command when a group of one or more chips is added to or deleted from the data processing system.

2. The method of claim 1 , wherein the arbiter is configured to achieve fairness by considering a total number of processing units with current broadcast commands that are being arbitrated by the arbiter.

3. A data processing system, comprising:

a memory; and

a processing unit coupled to the memory, wherein the processing unit includes an arbiter that is configured to:

determine whether an over-commit has occurred;

in response to determining that the over-commit has occurred, select a broadcast command to be dropped based on a number of hops traversed through the data processing system by the broadcast command, wherein a weighting factor of a multi-hop broadcast command is increased as the number of hops traversed by the multi-hop broadcast command increases such that the arbiter is less likely to drop the multi-hop broadcast command as the number of hops traversed by the multi-hop broadcast command increases, and wherein the broadcast command includes a tag that specifies a chip identifier (ID) that identifies a chip that is a source of the broadcast command and a group ID that identifies a group for the source chip that the arbiter utilizes to determine the number of hops traversed by the multi-hop broadcast command; and

dynamically adjust the weighting factor of the multi-hop broadcast command when a group of one or more chips is added to or deleted from the data processing system.

4. The data processing system of claim 3 , wherein the arbiter is configured to achieve fairness by considering a total number of processing units with current broadcast commands that are being arbitrated by the arbiter.

5. A data processing system, comprising:

a first processing node including one or more first processing units; and

a second processing node coupled to the first processing node, wherein the second processing node includes one or more second processing units each having an arbiter that is configured to:

determine whether an over-commit has occurred;

in response to determining that the over-commit has occurred, select a broadcast command to be dropped based on a number of hops traversed through the data processing system by the broadcast command, wherein a weighting factor of a multi-hop broadcast command is increased as the number of hops traversed by the multi-hop broadcast command increases such that the arbiter is less likely to drop the multi-hop broadcast command as the number of hops traversed by the multi-hop broadcast command increases, and wherein the broadcast command includes a tag that specifies a chip identifier (ID) that identifies a chip that is a source of the broadcast command and a group ID that identifies a group for the source chip that the arbiter utilizes to determine the number of hops traversed by the multi-hop broadcast command; and

dynamically adjust the weighting factor of the multi-hop broadcast command when a group of one or more chips is added to or deleted from the data processing system.

6. The data processing system of claim 5 , wherein the arbiter is configured to achieve fairness by considering a total number of processing units with current broadcast commands that are being arbitrated by the arbiter.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 2, 2017
From: GUTHRIE, GUY L.; MARINO, CHARLES; REDDY, PRAVEEN S.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 043175/0937 →
Continuity (1)
Related Publication 20190042486A1 · Feb 7, 2019