IP Library Granted Patent US 10,355,972
Granted Patent B2
US 10,355,972 · App. 15/656,977 · Granted Jul 16, 2019

System and method for supporting flexible P_Key mapping in a high performance computing environment

Inventors: Bjørn Dag Johnsen (Oslo, NO); Arvind Srinivasan (San Jose, CA); Ola Torudbakken (Oslo, NO)
Assignee: ORACLE INTERNATIONAL CORPORATION
H04L45/02H04L12/66H04L47/20H04L49/25H04L69/324G06F2201/88H04L49/358
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,355,972
App. No.
15/656,977
Granted
Jul 16, 2019
Kind
B2
Abstract

System and method for supporting flexible partition key (P_Key) mapping in a high performance computing environment. In accordance with an embodiment, when such computer environments comprise more than one subnet and/or forwarding domain that support inter-subnet partitions, the P_Keys comprising such inter-subnet partitions can change across domain boundaries. In such situations, a partition key of a packet can be updated upon entry to a new subnet and/or forwarding domain.

Claims (48)

1. A method for supporting flexible P_Key mapping in a high performance computing environment, comprising:

providing, at one or more computers, including one or more microprocessors

a network fabric, the network fabric comprising

a first subnet, the first subnet comprising a first set of network switches, a first switch of the first set of networks switches comprising a gateway port;

a second subnet, the second subnet comprising a second set of network switches; and

a global fabric manager, the global fabric manager having administrative control within the first subnet and second subnet;

defining, by the global fabric manager, an inter-subnet partition, the inter-subnet partition comprising a first set of partition key (P_Key) values within the first subnet and a second set of P_Key values within the second subnet

receiving, at the gateway port of the first switch, a packet from the second subnet, the packet comprising a P_Key value within the second set of P_Key values;

looking up, at a P_Key mapping table accessible by the first switch, a new P_Key value for the packet based upon the P_Key value of the packet, wherein the mapping table comprises a plurality of mappings between the set of P_Key values within the second set of P_Key values and the set of P_Key values within the first set of P_Key values; and

updating, based upon the lookup, that packet to comprise the new P_Key value, the new P_Key value being within the first set of P_Key values.

2. The method of claim 1 , wherein a global route header of the received packet comprises a cyclic redundancy check (CRC).

3. The method of claim 2 , wherein the CRC contained in the global route header of the packet is used to determine a valid P_Key value of the packet.

4. The method of claim 1 , further comprising:

after updating the packet to comprise the new P_Key value, forwarding the packet into the first subnet.

5. The method of claim 1 , wherein a portion of the received packet is covered by an invariant CRC, and wherein the portion of the received packet covered by the invariant CRC does not comprise the P_Key.

6. The method of claim 1 , wherein the network fabric comprises an InfiniBand fabric.

7. A system for supporting flexible P_Key mapping in a high performance computing environment, the system comprising:

a computer environment comprising:

a network fabric, the network fabric comprising

a first subnet, the first subnet comprising a first set of network switches, a first switch of the first set of networks switches comprising a gateway port;

a second subnet, the second subnet comprising a second set of network switches; and

a global fabric manager, the global fabric manager having administrative control within the first subnet and second subnet;

wherein the computer environment is configured to perform the steps comprising:

defining, by the global fabric manager, an inter-subnet partition, the inter-subnet partition comprising a first set of partition key (P_Key) values within the first subnet and a second set of P_Key values within the second subnet

receiving, at the gateway port of the first switch, a packet from the second subnet, the packet comprising a P_Key value within the second set of P_Key values;

looking up, at a P_Key mapping table accessible by the first switch, a new P_Key value for the packet based upon the P_Key value of the packet, wherein the mapping table comprises a plurality of mappings between the set of P_Key values within the second set of P_Key values and the set of P_Key values within the first set of P_Key values; and

updating, based upon the lookup, that packet to comprise the new P_Key value, the new P_Key value being within the first set of P_Key values.

8. The system of claim 7 , wherein a global route header of the received packet comprises a cyclic redundancy check (CRC).

9. The system of claim 8 , wherein the CRC contained in the global route header of the packet is used to determine a valid P_Key value of the packet.

10. The system of claim 7 , wherein the computer environment is configured to perform further steps comprising:

after updating the packet to comprise the new P_Key value, forwarding the packet into the first subnet.

11. The system of 7 , wherein a portion of the received packet is covered by an invariant CRC, and wherein the portion of the received packet covered by the invariant CRC does not comprise the P_Key.

12. The system of claim 7 , wherein the network fabric comprises an InfiniBand fabric.

13. A non-transitory machine readable medium, including instructions stored thereon for supporting flexible P_Key mapping in a high performance computing environment, which when read and executed by one or more computers caused the one or more computers to perform steps comprising:

providing, at one or more computers, including one or more microprocessors

a network fabric, the network fabric comprising

a first subnet, the first subnet comprising a first set of network switches, a first switch of the first set of networks switches comprising a gateway port;

a second subnet, the second subnet comprising a second set of network switches; and

a global fabric manager, the global fabric manager having administrative control within the first subnet and second subnet;

defining, by the global fabric manager, an inter-subnet partition, the inter-subnet partition comprising a first set of partition key (P_Key) values within the first subnet and a second set of P_Key values within the second subnet

receiving, at the gateway port of the first switch, a packet from the second subnet, the packet comprising a P_Key value within the second set of P_Key values;

looking up, at a P_Key mapping table accessible by the first switch, a new P_Key value for the packet based upon the P_Key value of the packet, wherein the mapping table comprises a plurality of mappings between the set of P_Key values within the second set of P_Key values and the set of P_Key values within the first set of P_Key values; and

updating, based upon the lookup, that packet to comprise the new P_Key value, the new P_Key value being within the first set of P_Key values.

14. The non-transitory machine readable medium of claim 13 , wherein a global route header of the received packet comprises a cyclic redundancy check (CRC).

15. The non-transitory machine readable medium of claim 14 , wherein the CRC contained in the global route header of the packet is used to determine a valid P_Key value of the packet.

16. The non-transitory machine readable medium of claim 13 , the steps further comprising:

after updating the packet to comprise the new P_Key value, forwarding the packet into the first subnet.

17. The non-transitory machine readable medium of claim 13 , wherein a portion of the received packet is covered by an invariant CRC, and wherein the portion of the received packet covered by the invariant CRC does not comprise the P_Key.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 27, 2017
From: JOHNSEN, BJORN DAG; SRINIVASAN, ARVIND; TORUDBAKKEN, OLA
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 043719/0295 →
Continuity (3)
Continuation In Part 15416642 · Jan 26, 2017
Provisional Application 62288101 · Jan 28, 2016
Related Publication 20170324646A1 · Nov 9, 2017