IP Library Granted Patent US 12,430,166
Granted Patent B2
US 12,430,166 · App. 17/542,022 · Granted Sep 30, 2025

Hierarchical task scheduling for accelerators

Inventors: Narasinga Rao Miniskar (Oak Ridge, TN); Frank Y. Liu (Oak Ridge, TN); Aaron R. Young (Oak Ridge, TN); Jeffrey S. Vetter (Oak Ridge, TN); Dwaipayan Chakraborty (Oak Ridge, TN)
Assignee: UT-Battelle, LLC
G06F9/4881G06F9/5016G06F9/5027G06F2209/501G06F2209/5017
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,430,166
App. No.
17/542,022
Granted
Sep 30, 2025
Kind
B2
Abstract

Apparatus and methods are disclosed for scheduling tasks in a heterogeneous computing environment. Coarse scheduling of a received task-set is performed centrally, with tasks dispatched to respective processing resources including one or more accelerators. At each accelerator, sub-tasks of a received task are identified, scheduled, and executed. Data-transfer and computation sub-tasks can be pipelined. The accelerator operates using small tiles of local data, which are transferred to or from a large shared reservoir of main memory. Sub-task scheduling can be customized to each accelerator; coarse task scheduling can work on larger tasks; both can be efficient. Simulations demonstrate large improvements in makespan and/or circuit area. Disclosed technologies are scalable and can be implemented in varying combinations of hard-wired or software modules. These technologies are widely applicable to high-performance computing, image classification, media processing, wireless coding, encryption, and other fields.

Claims (67)

1. A system for scheduling tasks among a plurality of accelerator circuits, the system comprising:

a hierarchical task scheduler comprising:

a coarse scheduling circuit module configured to:

receive task-set metadata comprising a task graph having vertices representing respective tasks and directed edges, each from a respective source vertex of the vertices to a respective destination vertex of the vertices, joining respective pairs of the vertices, each of the directed edges having a weight representing a measure of data transfer from an upstream task represented by the respective source vertex to a downstream task represented by the respective destination vertex;

based on the task graph, schedule tasks from the task-set metadata among the plurality of accelerator circuits to minimize a makespan; and

dispatch the scheduled tasks to the plurality of accelerator circuits; and

two or more fine scheduling circuit modules, wherein each fine scheduling circuit module is communicatively coupled with the coarse scheduling circuit module and with a corresponding accelerator circuit from among the plurality of accelerator circuits, the corresponding accelerator circuit having a limited amount of local memory storage for computation and data transfers;

wherein the each fine scheduling circuit module comprises:

an interface sub-module configured to receive, from the coarse scheduling circuit module, the tasks scheduled for the corresponding accelerator circuit; and

an accelerator-specific scheduler (AS) sub-module configured to:

partition, for a given task of the received scheduled tasks, the given task into two or more streams of first sub-tasks, including: a first stream comprising computation sub-tasks each requiring one tile of the local memory storage; and a second stream comprising data-transfer sub-tasks; and

schedule the computation sub-tasks to execute synchronously and in parallel with the data-transfer sub-tasks on the corresponding accelerator circuit, each of the computation sub-tasks executing in a respective first time slot and having input or output data transferred by a respective one of the data-transfer sub-tasks in a second time slot adjacent to the first time slot;

wherein the AS sub-module enables the received scheduled tasks to be executed at the corresponding accelerator circuit with the limited amount of the local memory storage being less than or equal to two tiles of the local memory storage.

2. The system of claim 1 , wherein the interface sub-module comprises a first-in first-out queue (FIFO) configured to queue the received scheduled tasks.

3. The system of claim 1 , wherein:

the each fine scheduling circuit module further comprises a respective memory controller; and

the AS sub-module is configured to schedule the data-transfer sub-tasks to be executed by the respective memory controller.

4. The system of claim 3 , wherein the respective memory controller is communicatively coupled with accelerator-side static random-access memory (SRAM) through a direct memory access (DMA) channel, and is communicatively coupled with main memory through a bus shared among the two or more fine scheduling circuit modules.

5. The system of claim 1 , wherein the first sub-tasks comprise instructions to configure accelerator-specific memory-mapped addresses and DMA-specific memory-mapped addresses.

6. The system of claim 1 , wherein the accelerator circuits comprise respective neural network kernels, each of the neural network kernels configured as a convolution kernel, a batch normalization kernel, or a fully-connected layer kernel.

7. The system of claim 1 , wherein the accelerator circuits comprise convolution kernels of multiple types.

8. The system of claim 1 , wherein the coarse scheduling circuit module and at least one of the fine scheduling circuit modules comprise distinct respective processor cores configured to execute respective scheduling instructions.

9. The system of claim 1 , wherein at least one of the fine scheduling circuit modules is implemented as a hard-wired circuit.

10. The system of claim 1 , wherein the coarse scheduling circuit module and at least one of the fine scheduling circuit modules are implemented on a common chip.

11. A chipset comprising:

the system of claim 1 ; and

the plurality of accelerator circuits.

12. The system of claim 11 , wherein the accelerator circuits comprise two or more of: a neuromorphic array, a field-programmable gate array (FPGA), a general-purpose graphics processor unit (GPGPU), or an application specific integrated circuit (ASIC).

13. A high-performance computing (HPC) apparatus comprising:

the system of claim 1 ;

a host processor configured to provide the task-set metadata to the coarse scheduling circuit module; and

the plurality of accelerator circuits.

14. A chipset comprising:

first circuitry configured to implement a task scheduler; and

second circuitry, distinct from and coupled to the first circuitry, incorporating a processor core and implementing an accelerator, the accelerator having only a given amount of local memory storage for computation and data transfers, and a sub-task scheduler;

wherein the task scheduler is configured to receive task-set metadata comprising a task graph having vertices representing respective tasks and directed edges, each from a respective source vertex of the vertices to a respective destination vertex of the vertices, joining respective pairs of the vertices, each of the directed edges having a weight representing a measure of data transfer from an upstream task represented by the respective source vertex to a downstream task represented by the respective destination vertex;

wherein, based on the task graph, the task scheduler is further configured to schedule tasks from the task-set metadata among a plurality of accelerators, including the accelerator, to minimize a makespan;

wherein the first circuitry is configured to dispatch a first task, among the scheduled tasks, to the second circuitry based on output from the task scheduler;

wherein the sub-task scheduler is configured to schedule a plurality of sub-tasks of the first task for execution at the accelerator, the sub-tasks organized as two or more streams including: a first stream comprising computation sub-tasks each requiring one tile of the local memory storage; and a second stream comprising data-transfer sub-tasks;

wherein the computation sub-tasks are scheduled to execute synchronously and in parallel with the data-transfer sub-tasks at the accelerator, each of the computation sub-tasks executing in a respective first time slot and having input or output data transferred by a respective one of the data-transfer sub-tasks in a second time slot adjacent to the first time slot; and

wherein the sub-task scheduler enables the first task to be executed at the accelerator with the given amount of the local memory storage being less than or equal to two tiles of the local memory storage.

15. The chipset of claim 14 , wherein the processor core is a second processor core; the first circuitry comprises a first processor core and hard-wired circuitry implementing the task scheduler; and the first processor core is coupled to the hard-wired circuitry and configured to control the task scheduler.

16. The chipset of claim 14 , wherein the second circuitry comprises hard-wired circuitry implementing the sub-task scheduler; and the processor core is coupled to the hard-wired circuitry and configured to control the sub-task scheduler.

17. The chipset of claim 14 , wherein the processor core is configured to implement the sub-task scheduler by executing program instructions.

18. The chipset of claim 14 , wherein the processor core is a first processor core, the accelerator is a first accelerator, the sub-task scheduler is a first sub-task scheduler, and further comprising:

third circuitry, coupled to the first circuitry, implementing a second accelerator and a second processor core, wherein the second processor core is configured to implement a second sub-task scheduler;

wherein the first circuitry is configured to dispatch a second task to the third circuitry based on the output from the task scheduler; and

wherein the second sub-task scheduler is configured to schedule a plurality of sub-tasks of the second task at the second accelerator.

19. The chipset of claim 18 , further comprising:

eight additional circuitries, each coupled to the first circuitry, each implementing a respective additional accelerator and a respective additional processor core configured to implement a respective additional sub-task scheduler;

wherein the first circuitry is configured to dispatch respective tasks to the additional circuitries based on the output from the task scheduler; and

wherein each of the additional sub-task schedulers is configured to schedule a plurality of sub-tasks of the respective task at the respective additional accelerator.

20. The chipset of claim 14 , wherein the accelerator implements a neural network kernel, a convolution function, a matrix arithmetic function, a matrix analysis function, a data compression function, an encryption function, a domain transform, a bit blit function, a regular expression search function, a wireless coding function, or a beamforming function.

21. The chipset of claim 14 , wherein the processor core is a RISC-V processor core.

22. A smartphone comprising the chipset of claim 14 , wherein the smartphone supports a 5G cellular network standard or a 6G cellular network standard.

23. A multimedia streaming apparatus comprising the chipset of claim 14 , wherein the accelerator is configured to support high-efficiency video coding (HEVC).

24. A media streaming apparatus comprising the chipset of claim 14 , wherein the accelerator is configured to support MP3 coding.

25. A telephony apparatus comprising the chipset of claim 14 , wherein the accelerator is configured to support a voice coding standard.

26. A computer-implemented method comprising:

for the chipset of claim 16 :

producing a first computer-readable description of the first circuitry implementing the task scheduler; and

producing a second computer-readable description of the second circuitry; and

storing the first and second computer-readable descriptions in one or more computer-readable storage media, the first and second computer-readable descriptions being usable for fabricating one or more masks or reticles for manufacturing one or more integrated circuits implementing the first circuitry and the second circuitry.

27. The computer-implemented method of claim 26 further comprising:

fabricating the one or more masks or reticles using the stored first computer-readable description and the stored second computer-readable description.

28. The computer-implemented method of claim 26 further comprising:

manufacturing the one or more integrated circuits using the stored first computer-readable description and the stored second computer-readable description.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 4, 2025
From: CHAKRABORTY, DWAIPAYAN
To: UT-BATTELLE, LLC
Reel/Frame 072782/0928 →
CONFIRMATORY LICENSE Recorded Apr 14, 2022
From: UT-BATTELLE, LLC
To: U. S. DEPARTMENT OF ENERGY
Reel/Frame 059594/0827 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 11, 2022
From: MINISKAR, NARASINGA RAO; LIU, FRANK Y.; YOUNG, AARON R.; VETTER, JEFFREY S.
To: UT-BATTELLE, LLC
Reel/Frame 059556/0426 →
Continuity (2)
Provisional Application 63124268 · Dec 11, 2020
Related Publication 20220188155A1 · Jun 16, 2022
References Cited (32)
US 7321940B1 · Smith et al. · 2008 [cited by applicant]
US 8655997B2 · Eilam et al. · 2014 [cited by applicant]
US 10387202B2 · Karaje et al. · 2019 [cited by applicant]
US 11422821B1 · Hardage, Jr. · 2022 [cited by examiner]
US 11868872B1 · Minkin · 2024 [cited by examiner]
US 20180143975A1 · Casal · 2018 [cited by examiner]
US 20200183738A1 · Champigny · 2020 [cited by examiner]
US 20200257560A1 · Wang · 2020 [cited by examiner]
US 20210406646A1 · Han · 2021 [cited by examiner]
US 20220058024A1 · Fang · 2022 [cited by examiner]
US 20220092408A1 · Khaitan · 2022 [cited by examiner]
US 20220147776A1 · Yang · 2022 [cited by examiner]
Arabnejad, et al., “List Scheduling Algorithm for Heterogeneous Systems by an Optimistic Cost Table,” in IEEE Transactions on Parallel and Distributed Systems, vol. 25, No. 3, pp. 682-694 (Mar. 2014). [cited by applicant]
Arm, “AMBA AXI and ACE Protocol Specification,” available from https://developer.arm.com/documentation/ihi0022/e/, pp. 1-328 (Feb. 2013). [cited by applicant]
Arm, “AMBA AXI-Stream Protocol Specification,” available from https://developer.arm.com/documentation/ihi0051/latest/, pp. 1-56 (Apr. 2021). [cited by applicant]
Arnold, et al., “Instruction Set Architecture Extensions for a Dynamic Task Scheduling Unit,” 2012 IEEE Computer Society Annual Symposium on VLSI, pp. 249-254 (Aug. 2012). [cited by applicant]
Asanovic, et al., “The Rocket Chip Generator,” EECS Department, University of California, Berkley Technical Report No. UCB/EECS-2016-27, pp. 1-9 (Apr. 2016). [cited by applicant]
Binkert, et al., “The gem5 Simulator,” ACM SIGARCH Computer Architecture News, vol. 39, Issue 2, pp. 1-7 (May 2011). [cited by applicant]
Canon, et al., “Online Scheduling of Task Graphs on Heterogeneous Platforms,” in IEEE Transactions on Parallel and Distributed Systems, vol. 31, No. 3, pp. 721-732 (Mar. 2020). [cited by applicant]
Dallou, et al., “Nexus#: A Distributed Hardware Task Manager for Task-Based Programming Models,” 2015 IEEE International Parallel and Distributed Processing Symposium, pp. 1129-1138 (May 2015). [cited by applicant]
Johnston, et al., “AIWC: OpenCL-based Architecture-Independent Workload Characterization,” available from https://arxiv.org/pdf/1805.04207.pdf, 11 pages (Oct. 2018). [cited by applicant]
Kaleem, et al., “Adaptive heterogeneous scheduling for integrated GPUs,” 2014 23rd International Conference on Parallel Architecture and Compilation Techniques (PACT), pp. 151-162 (Aug. 2014). [cited by applicant]
Liu, et al., “Deffe: a data-efficient framework for performance characterization in domain-specific computing,” CF '20: Proceedings of the 17th ACM International Conference on Computing Frontiers, pp. 182-191 (May 2020). [cited by applicant]
Ma, et al., “Hierarchical task scheduler for interleaving substacks on heterogeneous multiprocessor platforms,” ASP-DAC '05: Proceedings of the 2005 Asia and South Pacific Design Automation Conference, pp. 952-955 (Jan.… [cited by applicant]
Morais, et al., “Adding Tightly-Integrated Task Scheduling Acceleration to a RISC-V Multi-core Processor,” available from https://core.ac.uk/download/pdf/326217828.pdf, 12 pages, also published as Morais, et al., “Addin… [cited by applicant]
Shao, et al., “Co-designing accelerators and SoC interfaces using gem5-Aladdin,” 2016 49th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO), 12 pages (Oct. 2016). [cited by applicant]
Shantharama, et al., “Hardware-Accelerated Platforms and Infrastructures for Network Functions: A Survey of Enabling Technologies and Research Studies,” IEEEAccess, pp. 132021-132085 (Jul. 2020). [cited by applicant]
Sjalander, et al., “A Look-Ahead Task Management Unit for Embedded Multi-Core Architectures,” 2008 11th EUROMICRO Conference on Digital System Design Architectures, Methods and Tools, pp. 149-157 (Sep. 2008). [cited by applicant]
Topcuoglu, et al., “Performance-effective and low-complexity task scheduling for heterogeneous computing,” in IEEE Transactions on Parallel and Distributed Systems, vol. 13, No. 3, pp. 260-274 (Mar. 2002). [cited by applicant]
Vetter, et al., “Extreme Heterogeneity 2018: Productive Computational Science in the Era of Extreme Heterogeneity Report for DOE ASCR Basic Research Needs Workshop on Extreme Heterogeneity,” available from https://www.o… [cited by applicant]
Waterman, et al., “RISC-V Instruction,” poster available from https://old.hotchips.org/wp-content/uploads/hc_archives/hc25/HC25- posters/HC25.26.p70-RISC-V-Warterman-UCB.pdf, 1 page (2013). [cited by applicant]
Western Digital, “RISC-V and Open Source Hardware Address New Computer Requirements,” available from https://documents.westerndigital.com/content/dam/doc-library/en_us/assets/public/western-digital/collateral/tech-brief… [cited by applicant]