IP Library Granted Patent US 8,572,353
Granted Patent B1
US 8,572,353 · App. 12/886,366 · Granted Oct 29, 2013

Condensed router headers with low latency output port calculation

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 8,572,353
App. No.
12/886,366
Granted
Oct 29, 2013
Kind
B1
Abstract

Communicating among cores in a computing system comprising a plurality of cores, each core comprising a processor and a switch, includes: routing a packet from an origin core to a destination core over a route including multiple cores; and at each core in the route before the destination core, routing the packet to the next core in the route according to a respective symbol in a sequence of multiple symbols. The respective symbol has a first symbol value indicating a single likely direction and the respective symbol has a second symbol value indicating multiple less likely directions.

Claims (34)

1. A method for communicating among cores in a multi-core processor device that comprises a plurality of cores, each core comprising a processor and a switch, the method comprising:

routing a packet that includes a header and payload from an origin core to a destination core over a route including multiple cores in the multi-core processor device; and

at each core in the route before the destination core, routing the packet to the next core in the route according to a value of a respective symbol in a sequence of multiple symbols in the header, with the respective symbol having a first symbol value indicating a single likely direction, and the respective symbol having a second, different symbol value indicating routing according to at least one of multiple less likely routing directions.

2. The method of claim 1 , further comprising, at a core in the route that routes the packet according to a respective symbol having the second symbol value, determining in which of the multiple less likely directions the packet is to be routed based on information in the packet.

3. The method of claim 2 , wherein the information in the packet comprises a sequence of direction fields each indicating one of the multiple less likely directions.

4. The method of claim 3 , wherein the sequence of direction fields includes a corresponding direction fields for each symbol in the sequence of symbols having the second symbol value.

5. The method of claim 1 , wherein the plurality of cores are connected over a mesh network in which neighboring cores in the mesh network are connected by a communication link, and at least some of the cores include links in opposite directions that provide a route through the core in a straight direction through the core.

6. The method of claim 5 , wherein routing the packet received at a given core in the route from the previous core in the route to the next core in the route according to a respective symbol having the first symbol value comprises routing the packet in a straight direction through the given core.

7. The method of claim 5 , wherein at least some of the cores include four links in four directions that provide the route through the core in a straight direction through the core, a route through the core in right turn direction through the core, and a route through the core in a left turn direction through the core.

8. The method of claim 7 , wherein routing the packet received at a given core in the route from the previous core in the route to the next core in the route according to a respective symbol having the second symbol value comprises routing the packet in either a left turn or right turn direction through the given core based on information in the packet.

9. The method of claim 1 , wherein each symbol in the sequence of symbols is a Boolean symbol and the first symbol value is a first value of the Boolean symbol and the second symbol value is a second value of the Boolean symbol.

10. The method of claim 9 , wherein each symbol in the sequence of symbols is stored in a bit of a bit vector.

11. A computer program product tangibly stored on a computer-readable hardware storage device, the computer program for communicating among cores in a multi-core processor device that comprises a plurality of cores, each core comprising a processor and a switch, the computer program including instructions for causing the computing system to:

route a packet that includes a header and payload from an origin core to a destination core over a route including multiple cores in the multi-core processor device; and

at each core in the route before the destination core, route the packet to the next core in the route according to a value of a respective symbol in a sequence of multiple symbols in the header, with the respective symbol having a first symbol value indicating a single likely direction and the respective symbol having a second, different symbol value indicating routing according to at least one of multiple less likely routing directions.

12. A computing system, comprising:

a multi-core processor device that comprises a plurality of cores, with each of the cores comprising a switch and a processor, and with at least some of the processors configured to:

route a packet that includes a header and payload from an origin core to a destination core over a route including multiple cores in the multi-core processor device; and

at each core in the route before the destination core, route the packet to the next core in the route according to a value of a respective symbol in a sequence of multiple symbols in the header, with the respective symbol having a first symbol value indicating a single likely direction and the respective symbol having a second, different symbol value indicating routing according to at least one of multiple less likely routing directions.

13. The computer program product of claim 11 , further comprising instructions to:

determine in which of the multiple less likely directions the packet is to be routed based on information in the packet.

14. The computer program product of claim 12 , wherein the information in the packet comprises a sequence of direction fields each indicating one of the multiple less likely directions and the sequence of direction fields includes a corresponding direction fields for each symbol in the sequence of symbols having the second symbol value.

15. The computer program product of claim 11 , wherein at least some of the cores include four links in four directions, and execution of the instructions provide the route through the core in a straight direction through the core, a route through the core in right turn direction through the core, and a route through the core in a left turn direction through the core.

16. The computer program product of claim 11 , wherein each symbol in the sequence of symbols is a Boolean symbol and the first symbol value is a first value of the Boolean symbol and the second symbol value is a second value of the Boolean symbol.

17. The computer program product of claim 15 , wherein each symbol in the sequence of symbols is stored in a bit of a bit vector.

18. The system of claim 12 , further configured to, at a core in the route that routes the packet according to a respective symbol having the second symbol value, determine in which of the multiple less likely directions the packet is to be routed based on information in the packet.

19. The system of claim 18 , wherein the information in the packet comprises a sequence of direction fields each indicating one of the multiple less likely directions.

20. The system of claim 19 , wherein the sequence of direction fields includes a corresponding direction fields for each symbol in the sequence of symbols having the second symbol value.

21. The system of claim 12 , wherein the plurality of cores are connected over a mesh network in which neighboring cores in the mesh network are connected by a communication link, and at least some of the cores include links in opposite directions that provide a route through the core in a straight direction through the core.

22. The system of claim 21 , wherein routing the packet received at a given core in the route from the previous core in the route to the next core in the route according to a respective symbol having the first symbol value comprises routing the packet in a straight direction through the given core.

23. The system of claim 22 , wherein at least some of the cores include four links in four directions that provide the route through the core in a straight direction through the core, a route through the core in right turn direction through the core, and a route through the core in a left turn direction through the core.

24. The system of claim 23 , wherein routing the packet received at a given core in the route from the previous core in the route to the next core in the route according to a respective symbol having the second symbol value comprises routing the packet in either a left turn or right turn direction through the given core based on information in the packet.

25. The system of claim 12 , wherein each symbol in the sequence of symbols is a Boolean symbol and the first symbol value is a first value of the Boolean symbol and the second symbol value is a second value of the Boolean symbol.

26. The system of claim 25 , wherein each symbol in the sequence of symbols is stored in a bit of a bit vector.

Assignments (8)
RELEASE OF SECURITY INTEREST IN PATENT COLLATERAL AT REEL/FRAME NO. 42962/0859 Recorded Jul 13, 2018
From: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
To: MELLANOX TECHNOLOGIES, LTD.; MELLANOX TECHNOLOGIES TLV LTD.; MELLANOX TECHNOLOGIES SILICON PHOTONICS INC.
Reel/Frame 046551/0459 →
SECURITY INTEREST Recorded Jun 23, 2017
From: MELLANOX TECHNOLOGIES, LTD.; MELLANOX TECHNOLOGIES TLV LTD.; MELLANOX TECHNOLOGIES SILICON PHOTONICS INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 042962/0859 →
DIVIDEND DECLARATION FROM EZCHIP SEMICONDUCTOR INC. TO THE STOCKHOLDER OF RECORD ON 6/2/2015 (EZCHIP INC., A DELAWARE CORPORATION) Recorded Feb 16, 2017
From: EZCHIP SEMICONDUCTOR INC.
To: EZCHIP, INC.
Reel/Frame 041736/0013 →
PURCHASE AGREEMENT Recorded Feb 16, 2017
From: EZCHIP, INC.
To: EZCHIP SEMICONDUCTOR LTD.
Reel/Frame 041736/0151 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 16, 2017
From: EZCHIP SEMICONDUCTOR LTD.
To: EZCHIP TECHNOLOGIES, LTD.
Reel/Frame 041736/0253 →
MERGER Recorded Feb 16, 2017
From: EZCHIP TECHNOLOGIES LTD.
To: EZCHIP SEMICONDUCTOR LTD.
Reel/Frame 041736/0321 →
MERGER Recorded Feb 16, 2017
From: EZCHIP SEMICONDUCTOR LTD.
To: MELLANOX TECHNOLOGIES, LTD.
Reel/Frame 041870/0455 →
MERGER Recorded Feb 16, 2017
From: TILERA CORPORATION
To: EZCHIP SEMICONDUCTOR INC.
Reel/Frame 041735/0792 →