IP Library Granted Patent US 11,886,931
Granted Patent B2
US 11,886,931 · App. 17/522,694 · Granted Jan 30, 2024

Inter-node execution of configuration files on reconfigurable processors using network interface controller (NIC) buffers

Inventors: Ram Sivaramakrishnan (San Jose, CA); Sumti Jairath (Santa Clara, CA); Emre Ali Burhan (Sunnyvale, CA); Manish K. Shah (Austin, TX); Raghu Prabhakar (San Jose, CA); Ravinder Kumar (Fremont, CA); Arnav Goel (San Jose, CA); Ranen Chatterjee (Fremont, CA); Gregory Frederick Grohoski (Bee Cave, TX); Kin Hing Leung (Cupertino, CA); Dawei Huang (San Diego, CA); Manoj Unnikrishnan (Saratoga, CA); Martin Russell Raumann (San Leandro, CA); Bandish B. Shah (San Francisco, CA)
Assignee: SambaNova Systems, Inc.
G06F9/5077G06F9/45558G06F9/5027G06F2009/4557
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,886,931
App. No.
17/522,694
Granted
Jan 30, 2024
Kind
B2
Abstract

The technology disclosed relates to inter-node execution of configuration files on reconfigurable processors using network interface controller (NIC) buffers. In particular, the technology disclosed relates to a runtime logic that is configured to execute configuration files that define applications and application data for applications using a first reconfigurable processor connected to a first host, and a second reconfigurable processor connected to a second host. The first reconfigurable processor is configured to push input data for the applications in a first plurality of buffers. The first host is configured to cause a first network interface controller (NIC) to stream the input data to a second plurality of buffers from the first plurality of buffers. The second host is configured to cause a second NIC to stream the input data to the second reconfigurable processor from the second plurality of buffers.

Claims (32)

1. A data processing system, comprising:

a first reconfigurable processor operatively coupled to a first host processor running on a first processing node;

a second reconfigurable processor operatively coupled to a second host processor on a second processing node;

a first Network Interface Controller (NIC) operatively coupled to the first processing node, the first NIC having a first plurality of buffers;

a second NIC operatively coupled to the second processing node, the second NIC having a second plurality of buffers; and

runtime logic configured to execute configuration files that define applications and application data for the applications using the first reconfigurable processor and the second reconfigurable processor, the execution including:

the first reconfigurable processor configured to push input data for the applications to one or more buffers in the first plurality of buffers;

the first host processor configured to cause the first NIC to stream the input data to one or more buffers in the second plurality of buffers from the first plurality of buffers; and

the second host processor configured to cause the second NIC to stream the input data to the second reconfigurable processor from the buffers in the second plurality of buffers;

wherein the second host processor uses one or more Remote Direct Memory Access (RDMA) commands to update tail pointers of the buffers in the second plurality of buffers after the input data is streamed to the buffers in the second plurality of buffers; and

wherein the second reconfigurable processor is configured to pull the input data from the buffers in the second plurality of buffers in response to the updated tail pointers.

2. The data processing system of claim 1 , the execution further including:

the second reconfigurable processor to push output data for the applications to the buffers in the second plurality of buffers, wherein the output data is generated as a result of processing the input data;

the second host processor configured to cause the second NIC to stream the output data to the buffers in the first plurality of buffers from the second plurality of buffers; and

the first host processor configured to cause the first NIC to stream the output data to the first reconfigurable processor from the buffers in the first plurality of buffers.

3. The data processing system of claim 2 , wherein the first host processor uses the one or more RDMA commands to update tail pointers of the buffers in the first plurality of buffers after the output data is streamed to the buffers in the first plurality of buffers.

4. The data processing system of claim 3 , wherein the first reconfigurable processor is configured to pull the output data from the buffers in the first plurality of buffers in response to the updated tail pointers.

5. A data processing system, comprising:

a first reconfigurable processor operatively coupled to a first host processor running on a first processing node, the first processing node operatively coupled to a first Network Interface Controller (NIC);

a second reconfigurable processor operatively coupled to a second host processor running on a second processing node, the second processing node operatively coupled to a second NIC;

an address generator of the first reconfigurable processor configured to stream configuration data and application data for execution of configuration files that define applications from the first reconfigurable processor to the second reconfigurable processor using memory addresses that map to a first plurality of buffers; and

an address generator of the second reconfigurable processor configured to stream the configuration data and the application data from the second reconfigurable processor to the first reconfigurable processor using memory addresses that map to a second plurality of buffers;

wherein the second reconfigurable processor is configured to push output data for applications to buffers in the second plurality of buffers;

wherein the first host processor is configured to cause the first NIC to stream the output data to the first reconfigurable processor from the buffers in the first plurality of buffers; and

wherein the first host processor uses one or more Remote Direct Memory Access (RDMA) commands to update tail pointers of the buffers in the first plurality of buffers after the output data is streamed to the buffers in the first plurality of buffers.

6. The data processing system of claim 5 , wherein the first plurality of buffers operates in a memory of the first reconfigurable processor.

7. The data processing system of claim 5 , wherein the first plurality of buffers operates in a memory of the first host processor.

8. The data processing system of claim 5 , wherein the first plurality of buffers operates in a memory of the first NIC.

9. The data processing system of claim 5 , wherein the second plurality of buffers operates in a memory of the second reconfigurable processor.

10. The data processing system of claim 5 , wherein the second plurality of buffers operates in a memory of the second host processor.

11. The data processing system of claim 5 , wherein the second plurality of buffers operates in a memory of the second NIC.

12. The data processing system of claim 5 , wherein the first NIC is a first SmartNIC, and the second NIC is a second SmartNIC.

Assignments (2)
INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Apr 18, 2025
From: SAMBANOVA SYSTEMS, INC.
To: SILICON VALLEY BANK, A DIVISION OF FIRST-CITIZENS BANK & TRUST COMPANY, AS AGENT
Reel/Frame 070892/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 9, 2021
From: SIVARAMAKRISHNAN, RAM; JAIRATH, SUMTI; BURHAN, EMRE ALI; SHAH, MANISH K.; PRABHAKAR, RAGHU; KUMAR, RAVINDER; GOEL, ARNAV; CHATTERJEE, RANEN; GROHOSKI, GREGORY FREDERICK; LEUNG, KIN HING; HUANG, DAWEI; UNNIKRISHNAN, MANOJ; RAUMANN, MARTIN RUSSELL; SHAH, BANDISH B.
To: SAMBANOVA SYSTEMS, INC.
Reel/Frame 058066/0195 →
Continuity (2)
Continuation 17127929 · Dec 18, 2020
Related Publication 20220197713A1 · Jun 23, 2022
Cited By (3)
US 12,210,468 US 12,229,057 US 12,380,041