US 11,770,349 B2
System and method for supporting configurable legacy P_Key table abstraction using a bitmap based hardware implementation in a high performance computing environment
Bjørn Dag Johnsen, Oslo (NO); Prabhunandan Narasimhamurthy, Santa Clara, CA (US); and Line Holen, Oslo (NO)
Assigned to ORACLE INTERNATIONAL CORPORATION, Redwood Shores, CA (US)
Filed by Oracle International Corporation, Redwood Shores, CA (US)
Filed on Jan. 25, 2017, as Appl. No. 15/415,497.
Claims priority of provisional application 62/287,704, filed on Jan. 27, 2016.
Prior Publication US 2017/0212918 A1, Jul. 27, 2017
Int. Cl. G06F 9/451 (2018.01); G06F 16/23 (2019.01); H04L 49/25 (2022.01); H04L 67/10 (2022.01); G06F 16/22 (2019.01); H04L 49/356 (2022.01); H04L 45/48 (2022.01); H04L 41/0853 (2022.01); H04L 43/0817 (2022.01); H04L 41/046 (2022.01); H04L 43/0823 (2022.01); H04L 43/0882 (2022.01); H04L 41/0803 (2022.01); H04L 41/12 (2022.01); H04L 49/10 (2022.01); H04L 49/15 (2022.01); H04L 49/00 (2022.01); H04L 45/02 (2022.01); H04L 67/1097 (2022.01); G06F 9/455 (2018.01); H04L 41/14 (2022.01); H04L 9/40 (2022.01); H04L 12/44 (2006.01)
CPC H04L 49/25 (2013.01) [G06F 9/451 (2018.02); G06F 9/45558 (2013.01); G06F 16/2237 (2019.01); H04L 41/046 (2013.01); H04L 41/0803 (2013.01); H04L 41/0853 (2013.01); H04L 41/12 (2013.01); H04L 41/14 (2013.01); H04L 43/0817 (2013.01); H04L 43/0823 (2013.01); H04L 43/0882 (2013.01); H04L 45/02 (2013.01); H04L 45/48 (2013.01); H04L 49/10 (2013.01); H04L 49/15 (2013.01); H04L 49/30 (2013.01); H04L 49/358 (2013.01); H04L 49/70 (2013.01); H04L 63/20 (2013.01); H04L 67/10 (2013.01); H04L 67/1097 (2013.01); G06F 2009/45579 (2013.01); G06F 2009/45595 (2013.01); H04L 12/44 (2013.01); H04L 63/12 (2013.01)] 17 Claims
OG exemplary drawing
 
1. A system for supporting legacy P_Key table abstraction using a bitmap based hardware implementation in a high performance computing environment, comprising:
one or more microprocessors;
at least one subnet, the at least one subnet comprising:
a plurality of switches, the plurality of switches comprising at least a leaf switch, wherein each of the one or more switches comprise a plurality of switch ports,
a plurality of host channel adapters, each host channel adapter comprising at least one host channel adapter port,
a plurality of end nodes, wherein each of the plurality of end nodes access the at least one subnet via at least one host channel adapter of the plurality of host channel adapters, and
a plurality of hardware-based P_Key tables, each of the plurality of hardware-based P_Key tables being provided at a respective switch of the plurality of switches;
wherein each of the plurality of end nodes assigned to at least one of a plurality of partitions;
wherein each of the plurality of partitions are defined by a P_Key value of a plurality of P_Key values;
wherein a switch port of a switch of the plurality of switches accesses a hardware-based P_Key bitmap of the switch, wherein the hardware-based P_Key bitmap comprises a bitmap comprising a plurality of bits, wherein each bit corresponds to a P_Key of the plurality of P_Key values;
wherein the hardware-based P_Key bitmap is associated with a virtual P_Key table stored within both a memory of the switch and a memory external to the switch and a subnet manager, the virtual P_Key table being stored within the memory of the switch and the external memory by a subnet management agent of the switch, wherein the virtual P_Key table provides a legacy representation of the hardware-based P_Key table to the subnet manager, a version of the software the subnet manager is running not comprising a definition that supports interaction and query of a hardware-based P_Key bitmap by the subnet manager, wherein the memory external to the switch is accessible by the subnet manager; and
wherein upon the subnet manager writing a new P_Key value to the virtual P_Key table at the memory external to the switch, the subnet management agent updates the hardware-based P_Key bitmap via a hardware access layer, the update of the hardware-based P_Key bitmap reflecting the new P_Key value written to the virtual P_Key table by the subnet manager.