IP Library › Granted Patent US 10,891,253
Granted Patent B2
US 10,891,253 · App. 15/622,787 · Granted Jan 12, 2021

Multicast apparatuses and methods for distributing data to multiple receivers in high-performance computing and cloud-based networks

Inventors: Shachar Raindel (Redmond, WA); Anirudh Badam (Redmond, WA); Jitendra Padhye (Redmond, WA)
Assignee: Microsoft Technology Licensing, LLC
G06F15/17331G06F13/28G06F13/287G06F13/4282G06F2213/0024
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,891,253
App. No.
15/622,787
Filed
Jun 14, 2017
Granted
Jan 12, 2021
Kind
B2
Art Unit
2457
USPC
709/212
Abstract

An originating host device in a distribution chain is provided upstream from multiple host devices including intermediary and terminating host devices. The originating host device includes a core with a generation application and a first RDMA NIC. The core: determines a plan for transferring data between the originating host device and the other host devices; and generates WQEs to implement the plan. The first RDMA NIC includes a read application, a descriptor application, and a reception application. The read application is configured such that the first RDMA NIC reads the WQEs from a first memory. The descriptor application is configured such that the first RDMA NIC: writes a portion of the WQEs directly from the first RDMA NIC to a second memory of the intermediary host device; and triggers a second RDMA NIC of the intermediary host device to process the portion of the WQEs stored in the second memory.

Claims (24)

1. An originating host device in a distribution chain upstream from a plurality of host devices, wherein the plurality of host devices comprises an intermediary host device and a terminating host device, the originating host device comprising:

a core comprising a generation application, wherein the generation application is configured such that the core of the originating host device (i) determines a plan for transferring data between the originating host device and the plurality of host devices, and (ii) generates a plurality of work queue elements (WQEs) to implement the plan, the WQEs including an operation to be performed, a memory address of the intermediary or the terminating host device to perform the operation on, and a memory address of the originating host device to access in performing the operation; and

a first remote direct memory access (RDMA) network interface card (NIC) comprising

a read application configured such that the first RDMA NIC reads the plurality of WQEs from a first memory,

a descriptor application configured such that the first RDMA NIC (i) remote direct memory accesses a second memory of the intermediary host device including writing a first portion of the WQEs directly from the first RDMA NIC to the second memory, and (ii) after writing the first portion of the WQEs, provides a signal that triggers a second RDMA NIC of the intermediary host device to process the first portion of the WQEs stored in the second memory, and

a reception application configured such that the first RDMA NIC receives an acknowledgement signal or a portion of the data from the terminating host device, wherein the acknowledgement signal indicates transfer of the data is completed.

2. The originating host device of claim 1 , wherein:

the generation application is configured such that the core of the originating host device determines the plan for distributing the data to the plurality of host devices in the distribution chain;

the first RDMA NIC comprises a copy application, wherein the copy application is configured such that the first RDMA NIC direct memory accesses the second memory of the intermediary host device including copying the data from the first memory to the second memory, wherein the data is identified in some of the plurality of WQEs; and

the reception application is configured such that the first RDMA NIC receives the acknowledgement signal from the terminating host device, wherein the acknowledgement signal indicates a last hop has been reached in the distribution chain and distribution of the data to the plurality of host devices is completed.

3. The originating host device of claim 1 , comprising the first memory.

4. The originating host device of claim 1 , wherein the first memory is separate from the originating host device and is accessed by the first RDMA NIC via a peripheral component interconnect express interface.

5. The originating host device of claim 1 , wherein:

a second portion of the plurality of WQEs are partial WQEs;

the partial WQEs correspond respectively to template control descriptors;

the template control descriptors are generated by the plurality of host devices; and

each of the partial WQEs (i) comprises information not included in a corresponding one of the template control descriptors, and (ii) completes the corresponding one of the template control descriptors to provide a full WQE.

6. The originating host device of claim 5 , wherein the first portion of the plurality of WQEs includes at least one of the second portions of the plurality of WQEs.

7. The originating host device of claim 1 , wherein:

the generation application is configured such that the core of the originating host device determines the plan for collecting the data from the plurality of host devices in the distribution chain;

the portion of WQEs comprises a first WQE and a second WOE;

the portion of the data received by the reception application is a first portion of the data; and

the reception application is configured such that the first RDMANIC (i) receives a second portion of the data from the intermediary host device based on the first WQE, and (ii) receives the first portion of the data from the terminating host device based on the second WQE.

8. The originating host device of claim 1 , wherein the data comprises user data or control messages.

Assignments (2)
CORRECTIVE ASSIGNMENT TO CORRECT THE THIRD INVENTOR NAME PREVIOUSLY RECORDED AT REEL: 042709 FRAME: 0449. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Sep 28, 2017
From: RAINDEL, SHACHAR; BADAM, ANIRUDH; PADHYE, JITENDRA
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 044047/0645 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 14, 2017
From: RAINDEL, SHACHAR; BADAM, ANIRUDH; PADHYE, JITENDRA
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 042709/0449 →
Continuity (2)
Provisional Application 62384866 · Sep 8, 2016
Related Publication 20180067893A1 · Mar 8, 2018