IP Library Granted Patent US 10,693,815
Granted Patent B2
US 10,693,815 · App. 16/104,503 · Granted Jun 23, 2020

System and method to use all incoming multicast packets as a basis for GUID to LID cache contents in a high performance computing environment

Inventors: Bjørn Dag Johnsen (Oslo, NO); Dag Georg Moxnes (Oslo, NO); Bartosz Bogdanski (Oslo, NO)
Assignee: ORACLE INTERNATIONAL CORPORATION
H04L49/358H04L45/02H04L45/48H04L45/66H04L49/201H04L67/1097H04L67/2842H04L69/22H04L45/16
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,693,815
App. No.
16/104,503
Granted
Jun 23, 2020
Kind
B2
Abstract

Systems and methods to use all incoming multicast (MC) packets as a basis for global unique identifier (GUID) to local identifier (LID) cache contents in a high performance computing environment, in accordance with an embodiment. Since all multicast packets have a Global Route Header (GRH), there is always both a source GID and a source LID defined for an incoming multicast packet. This implies that it is, in general, possible for an HCA implementation to gather information about GID and GUID to LID mappings for any sender node based on all incoming MC packets.

Claims (46)

1. A method to use all incoming multicast (MC) packets as a basis for global unique identifier (GUID) to local identifier (LID) cache contents in a high performance computing environment comprising:

providing, at one or more microprocessors, a first subnet, the first subnet comprising

a plurality of switches, the plurality of switches comprising at least a leaf switch, wherein each of the plurality of switches comprise at least one switch port of a plurality of switch ports

a plurality of host channel adapters, wherein each of the host channel adapters comprise at least one host channel adapter port of a plurality of host channel adapter ports, and wherein the plurality of host channel adapters are interconnected via the plurality of switches, and

a subnet manager, the subnet manager running on one of the plurality of switches and the plurality of host channel adapters;

defining a plurality of multicast groups within the first subnet;

receiving, at a receive function of a first host channel adapter of the plurality of host channel adapters within the first subnet, a multicast packet, the multicast packet comprising a global route header (GRH) that defines a source global identifier (GID) and a source local identifier (LID);

building, by the subnet manager, a dynamic cache at the first host channel adapter of the plurality of host channel adapters, the dynamic cache comprising at least a mapping table, the mapping table comprising a plurality of entries, wherein each entry comprises a mapping between a source global identifier of a plurality of source global identifiers and a corresponding source local identifier of a plurality of source local identifiers; and

adding, by the subnet manager, an entry to the plurality of entries in the mapping table, the added entry comprising a mapping between the source global identifier of the received multicast packet and a corresponding source local identifier;

wherein the receive function of the first host channel adapter is unaware of the dynamic cache.

2. The method of claim 1 , wherein the subnet manager builds the dynamic cache below a channel interface layer of the first host channel adapter.

3. The method of claim 2 , wherein the receive function is above the channel interface layer.

4. The method of claim 3 , wherein upon the subnet manager adding the entry to the plurality of entries in the mapping table, a multicast completion message is transmitted to the receive function of the first host channel adapter.

5. The method of claim 4 , wherein the multicast completion message is transmitted from a platform specific receive function provided below the channel interface layer.

6. The method of claim 1 , wherein upon a new node being added to the first subnet, a subnet management agent on the host channel adapter comprising the dynamic cache queries the dynamic cache to determine if a mapping exists between a source global identifier of the new node and a source local identifier of the new node.

7. A system to use all incoming multicast (MC) packets as a basis for global unique identifier (GUID) to local identifier (LID) cache contents in a high performance computing environment comprising:

one or more microprocessors; and

a first subnet, the first subnet comprising

a plurality of switches, the plurality of switches comprising at least a leaf switch, wherein each of the plurality of switches comprise at least one switch port of a plurality of switch ports

a plurality of host channel adapters, wherein each of the host channel adapters comprise at least one host channel adapter port of a plurality of host channel adapter ports, and wherein the plurality of host channel adapters are interconnected via the plurality of switches, and

a subnet manager, the subnet manager running on one of the plurality of switches and the plurality of host channel adapters;

wherein a plurality of multicast groups are defined within the first subnet;

wherein a multicast packet is received at a receive function of a first host channel adapter of the plurality of host channel adapters within the first subnet, wherein the multicast packet comprises a global route header (GRH) that defines a source global identifier (GID) and a source local identifier (LID);

wherein the subnet manager builds a dynamic cache at the first host channel adapter of the plurality of host channel adapters, the dynamic cache comprising at least a mapping table, the mapping table comprising a plurality of entries, wherein each entry comprises a mapping between a source global identifier of a plurality of source global identifiers and a corresponding source local identifier of a plurality of source local identifiers; and

wherein the subnet manager adds an entry to the plurality of entries in the mapping table, the added entry comprising a mapping between the source global identifier of the received multicast packet and a corresponding source local identifier; and

wherein the receive function is unaware of the dynamic cache.

8. The system of claim 7 , wherein the subnet manager builds the dynamic cache below a channel interface layer of the first host channel adapter.

9. The system of claim 8 , wherein the receive function is above the channel interface layer.

10. The system of claim 9 , wherein upon the subnet manager adding the entry to the plurality of entries in the mapping table, a multicast completion message is transmitted to the receive function of the first host channel adapter.

11. The system of claim 10 , wherein the multicast completion message is transmitted from a platform specific receive function provided below the channel interface layer.

12. The system of claim 7 , wherein upon a new node being added to the first subnet, a subnet management agent on the host channel adapter comprising the dynamic cache queries the dynamic cache to determine if a mapping exists between a source global identifier of the new node and a source local identifier of the new node.

13. A non-transitory computer readable storage medium having instructions thereon to use all incoming multicast (MC) packets as a basis for global unique identifier (GUID) to local identifier (LID) cache contents in a high performance computing environment, which when read and executed by one or more computers cause the one or more computers to perform steps comprising:

providing, at one or more microprocessors, a first subnet, the first subnet comprising

a plurality of switches, the plurality of switches comprising at least a leaf switch, wherein each of the plurality of switches comprise at least one switch port of a plurality of switch ports

a plurality of host channel adapters, wherein each of the host channel adapters comprise at least one host channel adapter port of a plurality of host channel adapter ports, and wherein the plurality of host channel adapters are interconnected via the plurality of switches, and

a subnet manager, the subnet manager running on one of the plurality of switches and the plurality of host channel adapters;

defining a plurality of multicast groups within the first subnet;

receiving, at a receive function of a first host channel adapter of the plurality of host channel adapters within the first subnet, a multicast packet, the multicast packet comprising a global route header (GRH) that defines a source global identifier (GID) and a source local identifier (LID);

building, by the subnet manager, a dynamic cache at the first host channel adapter of the plurality of host channel adapters, the dynamic cache comprising at least a mapping table, the mapping table comprising a plurality of entries, wherein each entry comprises a mapping between a source global identifier of a plurality of source global identifiers and a corresponding source local identifier of a plurality of source local identifiers; and

adding, by the subnet manager, an entry to the plurality of entries in the mapping table, the added entry comprising a mapping between the source global identifier of the received multicast packet and a corresponding source local identifier;

wherein the receive function of the first host channel adapter is unaware of the dynamic cache.

14. The non-transitory computer readable storage medium of claim 13 , wherein the subnet manager builds the dynamic cache below a channel interface layer of the first host channel adapter.

15. The non-transitory computer readable storage medium of claim 14 , wherein the receive function is above the channel interface layer.

16. The non-transitory computer readable storage medium of claim 15 , wherein upon the subnet manager adding the entry to the plurality of entries in the mapping table, a multicast completion message is transmitted to the receive function of the first host channel adapter; and

wherein the multicast completion message is transmitted from a platform specific receive function provided below the channel interface layer.

17. The non-transitory computer readable storage medium of claim 13 , wherein upon a new node being added to the first subnet, a subnet management agent on the host channel adapter comprising the dynamic cache queries the dynamic cache to determine if a mapping exists between a source global identifier of the new node and a source local identifier of the new node.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 19, 2018
From: JOHNSEN, BJORN DAG; MOXNES, DAG GEORG; BOGDANSKI, BARTOSZ
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 046916/0635 →
Continuity (15)
Continuation In Part 15927444 · Mar 21, 2018
Provisional Application 62476423 · Mar 24, 2017
Provisional Application 62547203 · Aug 18, 2017
Provisional Application 62547206 · Aug 18, 2017
Provisional Application 62547213 · Aug 18, 2017
Provisional Application 62547218 · Aug 18, 2017
Provisional Application 62547223 · Aug 18, 2017
Provisional Application 62547225 · Aug 18, 2017
Provisional Application 62547255 · Aug 18, 2017
Provisional Application 62547258 · Aug 18, 2017
Provisional Application 62547259 · Aug 18, 2017
Provisional Application 62547260 · Aug 18, 2017
Provisional Application 62547261 · Aug 18, 2017
Provisional Application 62547264 · Aug 18, 2017
Related Publication 20190007346A1 · Jan 3, 2019