IP Library Granted Patent US 10,628,363
Granted Patent B2
US 10,628,363 · App. 16/246,712 · Granted Apr 21, 2020

Peer-to-peer communication for graphics processing units

Inventors: German Kazakov (Longmont, CO); Christopher R. Long (Colorado Springs, CO); James Scott Cannata (Denver, CO); Jason Breakstone (Broomfield, CO)
Assignee: Liqid Inc.
G06F13/4022G06F9/5044G06F9/5077G06F12/02G06F13/28G06F13/4282G06T1/20G06F2213/0026
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,628,363
App. No.
16/246,712
Granted
Apr 21, 2020
Kind
B2
Abstract

Disaggregated computing architectures, platforms, and systems are provided herein. In one example, a method of operating a data system is provided. The method includes initiating an isolation function in a communication fabric to form a peer arrangement between graphics processing units (GPUs) coupled to the communication fabric. The isolation function isolates a first address domain associated with the GPUs from at least a second address domain associated with the host by at least establishing synthetic devices representing the GPUs in the second address domain.

Claims (44)

1. A method of operating a data system, the method comprising:

in a management processor, initiating an isolation function in a communication fabric to form a peer-to-peer arrangement between graphics processing units (GPUs) coupled to the communication fabric;

wherein the isolation function isolates a first address domain associated with the GPUs from at least a second address domain associated with a host by at least establishing synthetic devices representing the GPUs in the second address domain.

2. The method of claim 1 , further comprising:

redirecting traffic transferred by the host for the GPUs in the second address domain for delivery to corresponding ones of the GPUs in the first address domain.

3. The method of claim 2 , further comprising:

adding a selected GPU into the peer-to-peer arrangement by at least instantiating the selected GPU in the second address domain and initiating a synthetic device representing the selected GPU in the first address domain.

4. The method of claim 3 , further comprising:

removing the selected GPU from the peer-to-peer arrangement by at least inactivating the synthetic device representing the selected GPU in the first address domain.

5. The method of claim 1 , further comprising:

establishing the isolation function in the communication fabric by at least providing address traps that monitor for traffic over the communication fabric directed to addresses associated with the GPUs in the second address domain and translate the addresses into corresponding addresses for the GPUs in the first address domain.

6. The method of claim 1 , further comprising:

responsive to traffic from a first of the GPUs indicating the second of the GPUs as a destination in the second address domain, employing an address trap in the isolation function to receive the traffic and transfer the traffic to the second of the GPUs in the first address domain.

7. The method of claim 6 , wherein the peer-to-peer arrangement between the GPUs comprises a direct memory access (DMA) link established between memory associated with each of the GPUs.

8. The method of claim 1 , further comprising:

establishing the isolation function in communication switch circuitry that forms at least a portion of the communication fabric.

9. The method of claim 1 , wherein the isolation function comprises one or more address traps and one or more address translation tables.

10. The method of claim 1 , further comprising:

selecting device addresses in the isolation function for the GPUs in the first address domain that do not overlap with device address usages of further GPUs communicatively coupled on the communication fabric.

11. A data system, comprising:

a control processor configured to initiate an isolation function in a communication fabric to form a peer-to-peer arrangement between graphics processing units (GPUs) coupled to the communication fabric;

wherein the isolation function isolates a first address domain associated with the GPUs from at least a second address domain associated with a host by at least establishing synthetic devices representing the GPUs in the second address domain.

12. The data system of claim 11 , wherein the isolation function is configured to redirect traffic transferred by the host for the GPUs in the second address domain for delivery to corresponding ones of the GPUs in the first address domain.

13. The data system of claim 12 , comprising:

the control processor configured to add a selected GPU into the peer-to-peer arrangement by at least instantiating the selected GPU into the first address domain and providing a synthetic device representing the selected GPU on the second address domain; and

the control processor configured to remove the selected GPU from the peer-to-peer arrangement by at least inactivating the synthetic device representing the selected GPU on the second address domain.

14. The data system of claim 11 , comprising:

the control processor configured to establish the isolation function in the communication fabric by at least providing address traps that monitor traffic over the communication fabric directed to addresses associated with the GPUs in the second address domain and translate the addresses into corresponding addresses for the GPUs in the first address domain.

15. The data system of claim 11 , wherein responsive to communication traffic from a first of the GPUs indicating the second of the GPUs as a destination in the second address domain, the isolation function is configured to employ an address trap to receive the communication traffic and transfer the communication traffic to the second of the GPUs in the first address domain.

16. The data system of claim 15 , wherein the peer-to-peer arrangement between the GPUs comprises a direct memory access (DMA) link established between memory associated with each of the GPUs.

17. The data system of claim 11 , comprising:

the control processor configured to establish the isolation function in communication switch circuitry that forms at least a portion of the communication fabric, wherein the isolation function comprises one or more address traps and one or more address translation tables.

18. The data system of claim 11 , comprising:

the control processor configured to select device addresses in the isolation function for the GPUs in the first address domain that do not overlap with address usages of further GPUs communicatively coupled on the communication fabric.

19. An apparatus comprising:

one or more computer readable storage media;

a processing system operatively coupled with the one or more computer readable storage media; and

program instructions stored on the one or more computer readable storage media, that when executed by the processing system, direct the processing system to at least:

establish a peer-to-peer arrangement between graphics processing units (GPUs) over a communication fabric by at least providing an isolation function in the communication fabric configured to isolate a first address domain associated with the GPUs from at least a second address domain associated with a host;

wherein the isolation function comprises synthetic devices representing the GPUs in the second address domain;

wherein the isolation function is configured to redirect traffic transferred by the host for the GPUs in the second address domain for delivery to corresponding ones of the GPUs in the first address domain; and

wherein the isolation function is further configured to redirect traffic transferred by a first of the GPUs indicating the second of the GPUs as a destination in the second address domain to the second of the GPUs in the first address domain.

20. The apparatus of claim 19 , comprising further program instructions, that when executed by the processing system, direct the processing system to at least:

select device addresses in the isolation function for the GPUs in the first address domain that do not overlap with address usages of further GPUs communicatively coupled on the communication fabric.

Assignments (5)
RELEASE OF SECURITY INTEREST Recorded Apr 16, 2021
From: CANADIAN IMPERIAL BANK OF COMMERCE
To: LIQID INC.
Reel/Frame 055953/0860 →
SECURITY INTEREST Recorded Jan 5, 2021
From: LIQID INC.
To: HORIZON TECHNOLOGY FINANCE CORPORATION
Reel/Frame 054900/0539 →
SECURITY INTEREST Recorded Oct 3, 2019
From: LIQID INC.
To: CANADIAN IMPERIAL BANK OF COMMERCE
Reel/Frame 050630/0636 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 14, 2019
From: LONG, CHRISTOPHER R.; KAZAKOV, GERMAN; CANNATA, JAMES SCOTT
To: LIQID INC.
Reel/Frame 047986/0509 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 14, 2019
From: BREAKSTONE, JASON
To: LIQID INC.
Reel/Frame 047986/0636 →
Continuity (4)
Continuation 15848268 · Dec 20, 2017
Provisional Application 62592859 · Nov 30, 2017
Provisional Application 62502806 · May 8, 2017
Related Publication 20190146942A1 · May 16, 2019