IP Library Granted Patent US 11,102,108
Granted Patent B2
US 11,102,108 · App. 16/261,362 · Granted Aug 24, 2021

System and method for a multicast send duplication instead of replication in a high performance computing environment

Inventors: Bjørn Dag Johnsen (Oslo, NO); Stephen McKinty (Theys, FR); Predrag Hodoba (Asker, NO)
Assignee: ORACLE INTERNATIONAL CORPORATION
H04L45/24H04L45/16H04L67/10
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 11,102,108
App. No.
16/261,362
Granted
Aug 24, 2021
Kind
B2
Abstract

Systems and methods for multicast send duplication instead of replication in a high performance computing environment. A method can provide a plurality of switches, a plurality of hosts, the plurality of hosts being interconnected via the plurality of switches, wherein a host of the plurality of hosts comprises a multicast sender node, the sender node comprising a system image generation module and a current message sequence module. The method can organize the plurality of switches into two rails, the two or more rails providing redundant connectivity between the plurality of hosts. The method can send two or more duplicate multicast packets on different rails. Upon a receiving node receiving at least two versions of the same multicast packet, only one will be delivered to the communication stack/clients above the layer that handles the encapsulation header.

Claims (42)

1. A system for multicast send duplication instead of replication in a high performance computing environment, comprising:

a computer, the computer comprising one or more microprocessors;

a plurality of switches;

a plurality of hosts, the plurality of hosts being interconnected via the plurality of switches, wherein a host of the plurality of hosts comprises a multicast sender node, the sender node comprising a system image generation module and a current message sequence module;

wherein the plurality of switches are organized into two rails, the two or more rails providing redundant connectivity between the plurality of hosts;

wherein the multicast sender node sends two or more duplicate multicast packets addressed to a multicast address, wherein each of the two or more duplicate multicast packets are sent on a different rail of the two rails, wherein each of the duplicate multicast packets comprises an encapsulation header, the encapsulation header comprising a concatenation of the system image generation number and the respective unique current message sequence number;

wherein the system image generation module generates a persistent system image generation number associated with the sender node each time the sender node is started; and

wherein the current message sequence module generates a unique current message sequence number and associates the unique current message sequence number with each of the sent two duplicate message packets;

wherein upon sending both of the two duplicate multicast packets which have been assigned the unique current message sequence number, the current message sequence module generates a second unique current message sequence number, the second unique current message sequence number being incremented above the unique current message sequence number; and

wherein upon receiving a multicast packet, a receiving node compares the encapsulation header against an expected encapsulation header and:

upon the encapsulation header being equal to or larger than the expected encapsulation header, allows the packet to proceed, and

upon the encapsulation header being smaller than the expected encapsulation header, drops the packet.

2. The system of claim 1 , wherein the expected encapsulation header is determined based upon the persistent system image generation number associated with the sender node and a prior multicast message, the prior multicast message being associated with a current message sequence number lower than the first of two unique current message sequence numbers.

3. The system of claim 1 , wherein each of the duplicate multicast packets comprise an idempotent flag.

4. A method for multicast send duplication instead of replication in a high performance computing environment, comprising:

providing, at a computer, the computer comprising one or more microprocessors,

a plurality of switches;

a plurality of hosts, the plurality of hosts being interconnected via the plurality of switches, wherein a host of the plurality of hosts comprises a multicast sender node, the sender node comprising a system image generation module and a current message sequence module;

organizing the plurality of switches into two rails, the two or more rails providing redundant connectivity between the plurality of hosts; and

sending, by the multicast sender node, two or more duplicate multicast packets addressed to a multicast address, wherein each of the two or more duplicate multicast packets are sent on a different rail of the two rails, wherein each of the duplicate multicast packets comprises an encapsulation header, the encapsulation header comprising a concatenation of the system image generation number and the respective unique current message sequence number;

wherein the system image generation module generates a persistent system image generation number associated with the sender node each time the sender node is started; and

wherein the current message sequence module generates a unique current message sequence number and associates the unique current message sequence number with each of the sent two duplicate message packets;

wherein upon sending both of the two duplicate multicast packets which have been assigned the unique current message sequence number, the current message sequence module generates a second unique current message sequence number, the second unique current message sequence number being incremented above the unique current message sequence number; and

wherein upon receiving a multicast packet, a receiving node compares the encapsulation header against an expected encapsulation header and:

upon the encapsulation header being equal to or larger than the expected encapsulation header, allows the packet to proceed, and

upon the encapsulation header being smaller than the expected encapsulation header, drops the packet.

5. The method of claim 4 , wherein the expected encapsulation header is determined based upon the persistent system image generation number associated with the sender node and a prior multicast message, the prior multicast message being associated with a current message sequence number lower than the first of two unique current message sequence numbers.

6. The method of claim 4 , wherein each of the duplicate multicast packets comprise an idem potent flag.

7. A non-transitory computer readable storage medium having instructions thereon for multicast send duplication instead of replication in a high performance computing environment, which when read and executed cause a computer to perform steps comprising:

providing, at a computer, the computer comprising one or more microprocessors,

a plurality of switches;

a plurality of hosts, the plurality of hosts being interconnected via the plurality of switches, wherein a host of the plurality of hosts comprises a multicast sender node, the sender node comprising a system image generation module and a current message sequence module;

organizing the plurality of switches into two rails, the two or more rails providing redundant connectivity between the plurality of hosts; and

sending, by the multicast sender node, two or more duplicate multicast packets addressed to a multicast address, wherein each of the two or more duplicate multicast packets are sent on a different rail of the two rails, wherein each of the duplicate multicast packets comprises an encapsulation header, the encapsulation header comprising a concatenation of the system image generation number and the respective unique current message sequence number;

wherein the system image generation module generates a persistent system image generation number associated with the sender node each time the sender node is started; and

wherein the current message sequence module generates a unique current message sequence number and associates the unique current message sequence number with each of the sent two duplicate message packets;

wherein upon sending both of the two duplicate multicast packets which have been assigned the unique current message sequence number, the current message sequence module generates a second unique current message sequence number, the second unique current message sequence number being incremented above the unique current message sequence number; and

wherein upon receiving a multicast packet, a receiving node compares the encapsulation header against an expected encapsulation header and:

upon the encapsulation header being equal to or lamer than the expected encapsulation header, allows the packet to proceed, and

upon the encapsulation header being smaller than the expected encapsulation header, drops the packet.

8. The non-transitory computer readable storage medium of claim 7 , wherein the expected encapsulation header is determined based upon the persistent the persistent system image generation number associated with the sender node and a prior multicast message, the prior multicast message being associated with a current message sequence number lower than the first of two unique current message sequence numbers.

9. The non-transitory computer readable storage medium of claim 7 , wherein each of the duplicate multicast packets comprise an idempotent flag.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 5, 2019
From: JOHNSEN, BJORN DAG; MCKINTY, STEPHEN; HODOBA, PREDRAG
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 048244/0016 →
Continuity (5)
Continuation In Part 16115138 · Aug 28, 2018
Provisional Application 62679478 · Jun 1, 2018
Provisional Application 62679465 · Jun 1, 2018
Provisional Application 62552818 · Aug 31, 2017
Related Publication 20190319874A1 · Oct 17, 2019
Cited By (2)
US 12,470,623 US 12,568,024