IP Library › Granted Patent US 12,099,869
Granted Patent B2
US 12,099,869 · App. 17/195,748 · Granted Sep 24, 2024

Layer-wise scheduling on models based on idle times

Inventors: Seung Wook Lee (Suwon-si, KR); Younghwan Oh (Seoul, KR); Jaewook Lee (Seoul, KR); Sam Son (Bucheon-si, KR); Yunho Jin (Seoul, KR); Taejun Ham (Seoul, KR)
Assignees: Samsung Electronics Co., Ltd.; SNU R&DB FOUNDATION
G06F9/4881G06F9/5038G06F9/505
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 12,099,869
App. No.
17/195,748
Granted
Sep 24, 2024
Kind
B2
Abstract

A scheduler, a method of operating the scheduler, and an electronic device including the scheduler are disclosed. The method of operating the scheduler configured to determine a model to be executed in an accelerator includes receiving one or more requests for execution of a plurality of models to be independently executed in the accelerator, and performing layer-wise scheduling on the models based on an idle time occurring when a candidate layer which is a target for the scheduling in each of the models is executed in the accelerator.

Claims (49)

1. A processor-implemented method, the method comprising:

receiving respective requests for execution of a plurality of models to be independently executed in an accelerator;

performing queuing of the respective requests and layer-wise scheduling of the plurality of models, for execution by the accelerator, based on estimated idle times for respective candidate layers of each of the plurality of models corresponding to the queued respective requests; and

executing respective layers of the plurality of models based on the performed layer-wise scheduling,

wherein the performing of the layer-wise scheduling of the plurality of models based on the estimated idle times includes determining whether a candidate layer, among the respective candidate layers, has had a delayed execution a preset number of other layer execution times or more, and based on a result of the determining, selecting the candidate layer to next be executed before remaining candidate layers of the plurality of candidate layers.

2. The method of claim 1 , wherein the performing of the layer-wise scheduling comprises:

selecting one candidate layer, of the respective candidate layers, that has a corresponding idle time that is minimum among the estimated idle times with respect to a state of the accelerator.

3. The method of claim 2 , wherein the state of the accelerator is determined based on consideration of at least one of:

usage information of a memory of the accelerator;

a difference between a point in time at which an operation resource of the accelerator will be completed and a point in time at which a memory access resource of the accelerator will be available to start being used; or

a state of a progression of each of the plurality of models.

4. The method of claim 3 , wherein the usage information is information of an entire capacity, a used capacity, and/or a remaining capacity of an on-chip memory of the accelerator.

5. The method of claim 1 , wherein the performing of the queuing of the respective requests and the layer-wise scheduling of the plurality of models are performed in real-time.

6. The method of claim 1 , wherein each of the estimated idle times, for the respective candidate layers, is based on an idle time of a corresponding operation resource of the accelerator and an idle time of a corresponding memory access resource of the accelerator.

7. The method of claim 6 , wherein the idle time of the corresponding operation resource, for each of the respective candidate layers, is determined based on:

a difference between a point in time at which the corresponding operation resource completes execution of a previously scheduled layer and a point in time at which a memory access resource, for the previously scheduled layer, completed execution; and

an execution time of the corresponding memory access resource.

8. The method of claim 6 , wherein the idle time of the corresponding operation resource, with respect to each of the respective candidate layers, occurs when an execution time of the corresponding memory access resource is respectively greater than an execution time of an operation resource for a previous layer that is most recently scheduled.

9. The method of claim 6 , wherein the corresponding idle time of the memory access resource, with respect to each of the respective candidate layers, is determined based on:

a point in time at which execution of the memory access resource, with respect to each of the respective candidate layers, is suspended due to a constraint on a size of an on-chip memory of the accelerator; and

a point in time at which execution of an operation resource for a previous layer that is most recently scheduled is completed.

10. The method of claim 1 , wherein the performing of the layer-wise scheduling of the plurality of models based on the estimated idle times includes selecting for execution a candidate layer, from among multiple candidate layers that have a same minimum estimated idle time, that has a lowest idle time of a corresponding memory access resource.

11. The method of claim 1 , wherein the estimated idle times are estimated based on consideration of multiple layers currently being executed in the accelerator.

12. The method of claim 1 , wherein the performing of the layer-wise scheduling of the plurality of models is performed independently of an order of the requests being received.

13. The method of claim 1 , wherein two or more of the plurality of models will have no data dependency with one another when executed in the accelerator.

14. The method of claim 1 , wherein an operation resource of the accelerator is based on one or more processing elements of the accelerator, and a memory access resource of the accelerator is based on an on-chip memory and/or an off-chip memory of the accelerator.

15. A non-transitory computer-readable storage medium storing instructions that, when executed by a processor, cause the processor to perform the method of claim 1 .

16. A non-transitory computer-readable storage medium storing instructions that, when executed by a processor distinct from the accelerator, causes the processor to perform the method of claim 1 and causes respective executions of the plurality of candidate layers based on the scheduling using the accelerator.

17. An electronic device, comprising:

one or more processors configured to:

perform, in real-time,

a queuing of respective requests for execution of a plurality of models to be independently executed in an accelerator, and

a layer-wise scheduling of the plurality of models, for execution by the accelerator, based on estimated idle times for respective candidate layers of each of the plurality of models corresponding to the queued respective requests; and

execute respective layers of the plurality of models based on the performed layer-wise scheduling,

wherein, for the performing of the layer-wise scheduling of the plurality of models based on the estimated idle times, the one or more processors are configured to determine whether a candidate layer, among the respective candidate layers, has had a delayed execution a preset number of other layer execution times or more, and based on a result of the determining, select the candidate layer to next be executed before remaining candidate layers of the plurality of candidate layers.

18. The device of claim 17 , further comprising:

an off-chip memory; and

the accelerator, which includes an on-chip memory.

19. An electronic device comprising:

a scheduler configured to queue plural requests for execution of a plurality of models to be independently executed, and perform layer-wise scheduling on the plurality of models, for execution by the accelerator, based on estimated idle times for respective candidate layers of each of the plurality of models; and

the accelerator configured to execute respective layers of the plurality of models based on the performed layer-wise scheduling by the scheduler,

wherein, for the performing of the layer-wise scheduling of the plurality of models based on the estimated idle times, the scheduler is configured to determine whether a candidate layer, among the respective candidate layers, has had a delayed execution a preset number of other layer execution times or more, and based on a result of the determining, select the candidate layer to next be executed before remaining candidate layers of the plurality of candidate layers.

20. A processor-implemented method, comprising:

performing real-time layer-wise scheduling, of a plurality of models requested for execution in an accelerator,

where the real-time layer-wise scheduling is based on estimated idle times for plural independent candidate layers of the plurality of models, and

where the real-time layer-wise scheduling is performed after each time a previous candidate layer has begun scheduled execution in the accelerator and candidate layers remain to be scheduled with respect to the plurality of models; and

instructing the accelerator to execute one or more of the plural independent candidate layers that have lowest estimated idle times of the estimated idle times,

wherein the performing of the real-time layer-wise scheduling of the plurality of models based on the estimated idle times includes determining whether a candidate layer, among the respective candidate layers, has had a delayed execution a preset number of other layer execution times or more, and based on a result of the determining, selecting the candidate layer to next be executed before remaining candidate layers of the plurality of candidate layers.

21. The method of claim 20 , further comprising queuing respective requests for execution of the plurality of models, and performing the real-time layer-wise scheduling based on the queued respective requests, a state of the accelerator, and respective workload characteristics of the plural independent candidate layers of the plurality of models.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 9, 2021
From: LEE, SEUNG WOOK; OH, YOUNGHWAN; LEE, JAEWOOK; SON, SAM; JIN, YUNHO; HAM, TAEJUN
To: SAMSUNG ELECTRONICS CO., LTD; SNU R&DB FOUNDATION
Reel/Frame 055529/0948 →
Priority Claims (1)
KR 10-2020-0132759 · Oct 14, 2020 · national
Continuity (1)
Related Publication 20220114015A1 · Apr 14, 2022