IP Library Granted Patent US 11,315,013
Granted Patent B2
US 11,315,013 · App. 15/960,472 · Granted Apr 26, 2022

Implementing parameter server in networking infrastructure for high-performance computing

Inventors: Dragan Savic (Brookline, MA); Junping Zhao (Beijing, CN)
Assignee: EMC IP Holding Company LLC
G06N3/08G06F9/45558H04L67/1095G06F2009/45595
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,315,013
App. No.
15/960,472
Granted
Apr 26, 2022
Kind
B2
Abstract

Techniques are provided for implementing a parameter server within a networking infrastructure of a computing system to reduce the communication bandwidth and latency for performing communication synchronization operations of the parameter server. For example, a method includes executing a distributed deep learning (DL) model training process to train model parameters of a DL model using a plurality of worker nodes executing on one or more server nodes of a computing system, and executing a parameter server within a networking infrastructure of the computing system to aggregate local model parameters computed by the plurality of worker nodes and to distribute aggregated model parameters to the plurality of worker nodes using the networking infrastructure of the computing system.

Claims (56)

1. A method, comprising:

executing a distributed deep learning (DL) model training process to train a DL model using a plurality of server nodes comprising at least a first server node and a second server node, wherein the first server node comprises a first processor, a first set of accelerator devices, and a first network interface component, wherein the second server node comprises a second processor, a second set of accelerator devices, and a second network interface component, wherein executing the DL model training process comprises performing an iterative process, wherein at least one iteration of the DL model training process comprises:

distributing, by the first and second processors, a batch of training data to the respective first and second set of accelerator devices, wherein the accelerator devices of the first and second set of accelerator devices each receive a respective portion of the batch of training data;

executing a first set of worker processes on the first set of accelerator devices, and a second set of worker processes on the second set of accelerator devices, wherein the worker processes of the first and second set of worker processes compute respective local parameters using the respective portions of the batch of training data;

performing, by the worker processes of the first set of worker processes, respective direct memory copy operations to copy the respective local parameters to a first memory associated with the first network interface component;

performing, by the worker processes of the second set of worker processes, respective direct memory copy operations to copy the respective local parameters to a second memory associated with the second network interface component;

aggregating, by a first parameter server process executing on the first network interface component, the local parameters provided by the first set of worker processes to thereby generate a first set of local aggregated parameters, wherein the first parameter server process comprises a master parameter server process;

aggregating, by a second parameter server process executing on the second network interface component, the local parameters provided by the second set of worker processes to thereby generate a second set of local aggregated parameters;

performing, by the second parameter server process, a direct memory copy operation to copy the second set of local aggregated parameters to the first memory associated with the first network interface component;

aggregating, by the first parameter server process, at least the first and second set of local aggregated parameters to thereby generate a global set of parameters; and

performing, by the first parameter server process, a direct memory copy operation to copy the global set of parameters to the first memory associated with the first network interface component.

2. The method of claim 1 , wherein the first and second set of worker processes are managed by respective virtual worker nodes.

3. The method of claim 1 , wherein the first and second set of accelerator devices comprise graphics processing unit devices.

4. The method of claim 1 , wherein the first and second network interface components comprise respective first and second network interface cards of the respective first and second server nodes.

5. The method of claim 4 , wherein the first and second network interface cards comprise virtual network interface cards.

6. The method of claim 4 , wherein the first and second network interface cards comprise respective first and second physical network interface cards.

7. The method of claim 1 , wherein the direct memory copy operations, which are performed by the worker processes of the first and second set of worker processes to copy the respective local parameters to the respective first and second memories associated with the respective first and second network interface components, are implemented using a direct memory access (DMA) protocol.

8. The method of claim 1 , wherein the direct memory copy operations, which are performed by the first and second parameter server processes, are implemented using a remote direct memory access (RDMA) protocol.

9. An article of manufacture comprising a processor-readable storage medium having stored program code of one or more software programs, wherein the program code is executable by one or more processors to implement method steps comprising:

executing a distributed deep learning (DL) model training process to train a DL model using a plurality of server nodes comprising at least a first server node and a second server node, wherein the first server node comprises a first processor, a first set of accelerator devices, and a first network interface component, wherein the second server node comprises a second processor, a second set of accelerator devices, and a second network interface component, wherein executing the DL model training process comprises performing an iterative process, wherein at least one iteration of the DL model training process comprises:

distributing, by the first and second processors, a batch of training data to the respective first and second set of accelerator devices, wherein the accelerator devices of the first and second set of accelerator devices each receive a respective portion of the batch of training data;

executing a first set of worker processes on the first set of accelerator devices, and a second set of worker processes on the second set of accelerator devices, wherein the worker processes of the first and second set of worker processes compute respective local parameters using the respective portions of the batch of training data;

performing, by the worker processes of the first set of worker processes, respective direct memory copy operations to copy the respective local parameters to a first memory associated with the first network interface component;

performing, by the worker processes of the second set of worker processes, respective direct memory copy operations to copy the respective local parameters to a second memory associated with the second network interface component;

aggregating, by a first parameter server process executing on the first network interface component, the local parameters provided by the first set of worker processes to thereby generate a first set of local aggregated parameters, wherein the first parameter server process comprises a master parameter server process;

aggregating, by a second parameter server process executing on the second network interface component, the local parameters provided by the second set of worker processes to thereby generate a second set of local aggregated parameters;

performing, by the second parameter server process, a direct memory copy operation to copy the second set of local aggregated parameters to the first memory associated with the first network interface component;

aggregating, by the first parameter server process, at least the first and second set of local aggregated parameters to thereby generate a global set of parameters; and

performing, by the first parameter server process, a direct memory copy operation to copy the global set of parameters to the first memory associated with the first network interface component.

10. The article of manufacture of claim 9 , wherein the first and second set of worker processes are managed by respective virtual worker nodes.

11. The article of manufacture of claim 9 , wherein the first and second set of accelerator devices comprise graphics processing unit devices.

12. The article of manufacture of claim 9 , wherein the first and second network interface components comprise respective first and second network interface cards of the respective first and second server nodes.

13. The article of manufacture of claim 9 , wherein:

the direct memory copy operations, which are performed by the worker processes of the first and second set of worker processes to copy the respective local parameters to the respective first and second memories associated with the respective first and second network interface components, are implemented using a direct memory access (DMA) protocol; and

the direct memory copy operations, which are performed by the first and second parameter server processes, are implemented using a remote direct memory access (RDMA) protocol.

14. A computing system, comprising:

a server cluster comprising a plurality of server nodes comprising at least a first server node and a second server node, wherein the first server node comprises a first processor, a first set of accelerator devices, and a first network interface component, wherein the second server node comprises a second processor, a second set of accelerator devices, and a second network interface component, wherein the plurality of server nodes are configured to perform a distributed deep learning (DL) model training process to train of a DL model, wherein the DL model training process comprises an iterative process, wherein in performing at least one iteration of the DL model training process:

the first and second processors are configured to distribute a batch of training data to the respective first and second set of accelerator devices, wherein the accelerator devices of the first and second set of accelerator devices each receive a respective portion of the batch of training data;

the first set of accelerator devices is configured to execute a first set of worker processes, and the second set of accelerator devices is configured to execute a second set of worker processes, wherein the worker processes of the first and second set of worker processes compute respective local parameters using the respective portions of the batch of training data;

the worker processes of the first set of worker processes are configured to perform respective direct memory copy operations to copy the respective local parameters to a first memory associated with the first network interface component;

the worker processes of the second set of worker processes are configured to perform respective direct memory copy operations to copy the respective local parameters to a second memory associated with the second network interface component;

the first network interface component is configured to execute a first parameter server process which aggregates the local parameters provided by the first set of worker processes to thereby generate a first set of local aggregated parameters, wherein the first parameter server process comprises a master parameter server process;

the second network interface component is configured to execute a second parameter server process, wherein the second parameter server process is configured to (i) aggregate the local parameters provided by the second set of worker processes to thereby generate a second set of local aggregated parameters, and (ii) perform a direct memory copy operation to copy the second set of local aggregated parameters to the first memory associated with the first network interface component; and

the first parameter server process executing on the first network interface component is configured to (i) aggregate at least the first and second set of local aggregated parameters to thereby generate a global set of parameters, and (ii) perform a direct memory copy operation to copy the global set of parameters to the first memory associated with the first network interface component.

15. The computing system of claim 14 , wherein the first and second set of worker processes are managed by respective virtual worker nodes.

16. The computing system of claim 14 , wherein the first and second set of accelerator devices comprise graphics processing unit devices.

17. The computing system of claim 14 , wherein:

the direct memory copy operations, which are performed by the worker processes of the first and second set of worker processes to copy the respective local parameters to the respective first and second memories associated with the respective first and second network interface components, are implemented using a direct memory access (DMA) protocol; and

the direct memory copy operations, which are performed by the first and second parameter server processes, are implemented using a remote direct memory access (RDMA) protocol.

18. The computing system of claim 14 , wherein the first and second network interface components comprise respective first and second network interface cards of the respective first and second server nodes.

19. The computing system of claim 18 , wherein the respective first and second network interface cards comprise respective first and second physical network interface cards, wherein at least the first physical network interface card comprises:

a system-on-chip configured to execute the first parameter server process;

a configurable memory interface circuit; and

a plurality of memory devices comprising volatile memory, and non-volatile memory;

wherein the configurable memory interface circuit is configured to enable components of the system-on-chip to access the plurality of memory devices.

20. The computing system of claim 19 , wherein the system-on-chip is configured to execute (i) a data compression engine, and (ii) a transfer control protocol (TCP) offload engine, wherein the TCP offload engine is configured to offload an entire TCP/IP protocol stack of the first server node.

Assignments (8)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (046366/0014) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 060450/0306 →
RELEASE OF SECURITY INTEREST AT REEL 046286 FRAME 0653 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 058298/0093 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Mar 21, 2019
From: CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049452/0223 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 22, 2018
From: SAVIC, DRAGAN; ZHAO, JUNPING
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 046173/0903 →
PATENT SECURITY AGREEMENT (CREDIT) Recorded Jun 1, 2018
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 046286/0653 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Jun 1, 2018
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 046366/0014 →