IP Library Granted Patent US 10,303,522
Granted Patent B2
US 10,303,522 · App. 15/640,510 · Granted May 28, 2019

System and method for distributed graphics processing unit (GPU) computation

Inventors: Kai Zhou (San Diego, CA); Siyuan Liu (San Diego, CA)
Assignee: TUSIMPLE
G06F9/5083G06F9/5055G06F16/9566G06T1/20
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,303,522
App. No.
15/640,510
Granted
May 28, 2019
Kind
B2
Abstract

A system and method for distributed graphics processing unit (GPU) computation are disclosed. A particular embodiment includes: receiving a user task service request from a user node; querying resource availability from a plurality of slave nodes having a plurality of graphics processing units (GPUs) thereon; assigning the user task service request to a plurality of available GPUs based on the resource availability and resource requirements of the user task service request, the assigning including starting a service on a GPU using a distributed processing container and creating a corresponding uniform resource locator (URL); and retaining a list of URLs corresponding to the resources assigned to the user task service request.

Claims (37)

1. A system comprising:

a data processor; and

a distributed task management module, executable by the data processor, the distributed task management module being configured to:

receive a user task service request from a user node;

query resource availability from a plurality of slave nodes having a plurality of graphics processing units (GPUs) thereon, the plurality of slave nodes configured with multiple GPUs mounted on distributed processing containers;

generate a list of uniform resource locators (URLs), each URL on the list corresponding to a path to an available distributed processing container on the plurality of slave nodes;

issue the list of URLs to a load balancing node;

receive from the load balancing node an overall unique URL corresponding to the list of URLs;

use the overall unique URL to assign the user task service request to a plurality of available GPUs based on the resource availability and resource requirements of the user task service request, the assigning including using available distributed processing containers on the plurality of slave nodes; and

retain the list of URLs corresponding to the distributed processing containers assigned to the user task service request.

2. The system of claim 1 wherein the distributed processing containers are implemented using a container-enabled system having a plurality of distributed containers for processing data.

3. The system of claim 1 wherein the distributed task management module being configured to forward the overall unique URL to a user node that originated the user task service request.

4. The system of claim 1 wherein the distributed task management module being configured to determine a number of GPUs mounted within an individual slave node and a number of resources available therein.

5. The system of claim 1 wherein assigning the user task service request is based on whether the user task service request is a GPU intensive task or a central processing unit (CPU) intensive task.

6. A method comprising:

receiving a user task service request from a user node;

querying resource availability from a plurality of slave nodes having a plurality of graphics processing units (GPUs) thereon, the plurality of slave nodes configured with multiple GPUs mounted on distributed processing containers;

generating a list of uniform resource locators (URLs), each URL on the list corresponding to a path to an available distributed processing container on the plurality of slave nodes;

issuing the list of URLs to a load balancing node;

receiving from the load balancing node an overall unique URL corresponding to the list of URLs;

using the overall unique URL to assign the user task service request to a plurality of available GPUs based on the resource availability and resource requirements of the user task service request, the assigning including using available distributed processing containers on the plurality of slave nodes; and

retaining the list of URLs corresponding to the distributed processing containers assigned to the user task service request.

7. The method of claim 6 wherein the distributed processing containers are implemented using a container-enabled system having a plurality of distributed containers for processing data.

8. The method of claim 6 including forwarding the overall unique URL to a user node that originated the user task service request.

9. The method of claim 6 including determining a number of GPUs mounted within an individual slave node and a number of resources available therein.

10. The method of claim 6 wherein assigning the user task service request is based on whether the user task service request is a GPU intensive task or a central processing unit (CPU) intensive task.

11. A non-transitory machine-useable storage medium embodying instructions which, when executed by a machine, cause the machine to:

receive a user task service request from a user node;

query resource availability from a plurality of slave nodes having a plurality of graphics processing units (GPUs) thereon, the plurality of slave nodes configured with multiple GPUs mounted on distributed processing containers;

generate a list of uniform resource locators (URLs), each URL on the list corresponding to a path to an available distributed processing container on the plurality of slave nodes;

issue the list of URLs to a load balancing node;

receive from the load balancing node an overall unique URL corresponding to the list of URLs;

use the overall unique URL to assign the user task service request to a plurality of available GPUs based on the resource availability and resource requirements of the user task service request, the assigning including using available distributed processing containers on the plurality of slave nodes; and

retain the list of URLs corresponding to the distributed processing containers assigned to the user task service request.

12. The machine-useable storage medium of claim 11 wherein the distributed processing containers are implemented using a container-enabled system having a plurality of distributed containers for processing data.

13. The machine-useable storage medium of claim 11 wherein the instructions being configured forward the overall unique URL to a user node that originated the user task service request.

14. The machine-useable storage medium of claim 11 wherein assigning the user task service request is based on whether the user task service request is a GPU intensive task or a central processing unit (CPU) intensive task.

Assignments (3)
CHANGE OF NAME Recorded Dec 3, 2025
From: TUSIMPLE, INC.
To: CREATEAI, INC.
Reel/Frame 073832/0553 →
CHANGE OF NAME Recorded Jan 30, 2020
From: TUSIMPLE
To: TUSIMPLE, INC.
Reel/Frame 051757/0470 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 10, 2018
From: ZHOU, KAI; LIU, SIYUAN
To: TUSIMPLE
Reel/Frame 047467/0743 →
Continuity (1)
Related Publication 20190004868A1 · Jan 3, 2019