System and method for dynamic scheduling of distributed deep learning training jobs
AssigneeSamsung Electronics Co., Ltd.
InventorsTimothy Capes, Iqbal Mohomed, Vishal Raheja, Mete Kemertas
Life of this patent
Estimating the term…
Loading patent…
AssigneeSamsung Electronics Co., Ltd.
InventorsTimothy Capes, Iqbal Mohomed, Vishal Raheja, Mete Kemertas
Estimating the term…
A scheduling algorithm for scheduling training of deep neural network (DNN) weights on processing units identifies a next job to provisionally assign a processing unit (PU) based on a doubling heuristic. The doubling heuristic makes use of an estimated number of training sets needed to complete training of weights for a given job and/or a training speed function which indicates how fast the weights are converging. The scheduling algorithm solves a problem of efficiently assigning PUs when multiple DNN weight data structures must be trained efficiently. In some embodiments, the training of the weights uses a ring-based message passing architecture. In some embodiments, performance using a nested loop approach or nested loop fashion is provided. In inner iterations of the nested loop, PUs are scheduled and jobs are launched or re-started. In outer iterations of the nested loop, jobs are stopped, parameters are updated and the inner iteration is re-entered.
A method of scheduling a plurality of jobs to a plurality of processing units (PUs), wherein the plurality of jobs comprises J jobs, the J being two or more, and the plurality of PUs comprises C PUs, the C being two or more, the method comprising:
A method using an inner sequence of iterations within an outer sequence of iterations in a nested fashion, wherein a plurality of jobs comprises J jobs, the J being two or more, and a plurality of processing units (PUs) comprises C PUs and the C being two or more, the method comprising:
A device for scheduling a plurality of jobs to a plurality of processing units (PUs), wherein the plurality of jobs comprises J jobs, the J being two or more, and the plurality of PUs comprises C PUs, the C being two or more, the device comprising:
An application specific integrated circuit (ASIC) for scheduling a plurality of jobs to a plurality of processing units (PUs), wherein the plurality of jobs includes J jobs, the J being two or more, and the plurality of PUs comprises C PUs, the C being two or more, the ASIC configured to:
Dependencies are inferred from the claim text.