skip to main content
10.1145/3543712.3543756acmotherconferencesArticle/Chapter ViewAbstractPublication PagesicctaConference Proceedingsconference-collections
research-article
Open access

A new preemptive task scheduling framework for heterogeneous embedded systems

Published: 20 September 2022 Publication History

Abstract

In recent years, the graphics processing units (GPUs) have been used to generate real-time applications in embedded systems; due to the programmability, high performance, and low power consumption of GPUs, leveraging the ability to process multiple workloads simultaneously. However, application programming frameworks using GPUs presented in the literature lack the flexibility to handle real-time events and the dynamic behavior of the application. Existing GPU schedulers do not consider the preemption of higher priority tasks or are only considering temporary preemption, causing a task to occupy all GPU resources until it ends once launched, this causes delays in higher priority tasks generated dynamically by events and increases the rate of lost deadlines and failures in critical applications. To consider this problem, we propose a new programming framework to schedule preemptive tasks based on their priority and allocate them through dynamic load balancing. The proposed framework seeks to generate a minimum of context switch and maximize the cores’ utility into a heterogeneous embedded system. The design was presented for an Nvidia Jetson Tx2 card, featuring 5 modules of the programming framework.

References

[1]
Tanya Amert, Nathan Otterness, Ming Yang, James H. Anderson, and F. Donelson Smith. 2017. GPU Scheduling on the NVIDIA TX2: Hidden Details Revealed. Proceedings - Real-Time Systems Symposium 2018-January (2017), 104–115. https://doi.org/10.1109/RTSS.2017.00017
[2]
Sunita Bansal and Chittaranjan Hota. 2011. Efficient Refinery Scheduling Heuristic in Heterogeneous Computing Systems. Journal of Advances in Information Technology 2 (8 2011), 159–164. Issue 3. https://doi.org/10.4304/jait.2.3.159-164
[3]
Marko Bertogna and Sanjoy Baruah. 2010. Limited preemption EDF scheduling of sporadic task systems. IEEE Transactions on Industrial Informatics 6, 4 (2010), 579–591. https://doi.org/10.1109/TII.2010.2049654
[4]
Giorgio C Butazzo. 1998. Hard real-time computing systems: Predictable scheduling algorithms and applications. Vol. 24. Springer Science & Business Media, CH. 126 pages. https://doi.org/10.1016/s0898-1221(98)90205-x
[5]
Giorgio C. Buttazzo, Marko Bertogna, and Gang Yao. 2013. Limited preemptive scheduling for real-time systems. A survey. IEEE Transactions on Industrial Informatics 9, 1 (2013), 3–15. https://doi.org/10.1109/TII.2012.2188805
[6]
Jon Calhoun and Hai Jiang. 2012. Preemption of a CUDA kernel function. Proceedings - 13th ACIS International Conference on Software Engineering, Artificial Intelligence, Networking, and Parallel/Distributed Computing, SNPD 2012 1(2012), 247–252. https://doi.org/10.1109/SNPD.2012.53
[7]
N. Capodieci, R. Cavicchioli, M. Bertogna, and A. Paramakuru. 2018. Deadline-Based Scheduling for GPU with Preemption Support. In 2018 IEEE Real-Time Systems Symposium (RTSS). IEEE, TN, USA, 119–130.
[8]
Guoyang Chen, Yue Zhao, Xipeng Shen, and Huiyang Zhou. 2017. Effisha: A software framework for enabling efficient preemptive scheduling of GPU. In Proceedings of the ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPOPP. Association for Computing Machinery, Austin, Texas, 3–16. https://doi.org/10.1145/3018743.3018748
[9]
John Cheng and Max Grossman. 2014. Professional CUDA C Programming(1st ed.). Wrox Press Ltd., GBR.
[10]
Mahendra Bhatu Gawali and Subhash K. Shinde. 2017. Standard Deviation Based Modified Cuckoo Optimization Algorithm for Task Scheduling to Efficient Resource Allocation in Cloud Computing. Journal of Advances in Information Technology 8 (2017), 210–218. Issue 4. https://doi.org/10.12720/jait.8.4.210-218
[11]
Christoph Hartmann and Ulrich Margull. 2019. GPUart - An application-based limited preemptive GPU real-time scheduler for embedded systems. Journal of Systems Architecture 97 (2019), 304–319. https://doi.org/10.1016/j.sysarc.2018.10.005
[12]
Yunji Kang, Woohyun Joo, Sungkil Lee, and Dongkun Shin. 2017. Priority-driven spatial resource sharing scheduling for embedded graphics processing units. Journal of Systems Architecture 76 (2017), 17–27. https://doi.org/10.1016/j.sysarc.2017.04.002
[13]
Shinpei Kato, Karthik Lakshmanan, Aman Kumar, Mihir Kelkar, Yutaka Ishikawa, and Ragunathan Rajkumar. 2011. RGEM: A responsive GPGPU execution model for runtime engines. Proceedings - Real-Time Systems Symposium 1 (2011), 57–66. https://doi.org/10.1109/RTSS.2011.13
[14]
Haeseung Lee and Mohammad Abdullah Al Faruque. 2016. Run-Time Scheduling Framework for Event-Driven Applications on a GPU-Based Embedded System. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems 35, 12(2016), 1956–1967. https://doi.org/10.1109/TCAD.2016.2547916
[15]
Zhen Lin, Lars Nyland, and Huiyang Zhou. 2016. Enabling Efficient Preemption for SIMT Architectures with Lightweight Context Switching. International Conference for High Performance Computing, Networking, Storage and Analysis, SC 0 (nov 2016), 898–908. https://doi.org/10.1109/SC.2016.76
[16]
C. L. Liu and James W. Layland. 1973. Scheduling Algorithms for Multiprogramming in a Hard-Real-Time Environment. Journal of the ACM (JACM) 20, 1 (1973), 46–61. https://doi.org/10.1145/321738.321743
[17]
NVIDIA. 2018. NVIDIA sobre la computación de GPU y la diferencia entre GPU y CPU. https://la.nvidia.com/object/what-is-gpu-computing-la.html
[18]
Carlos Reano, Federico Silla, Dimitrios S. Nikolopoulos, and Blesson Varghese. 2018. Intra-Node Memory Safe GPU Co-Scheduling. IEEE Transactions on Parallel and Distributed Systems 29, 5 (2018), 1089–1102. https://doi.org/10.1109/TPDS.2017.2784428 arxiv:1712.04495
[19]
Markus Steinberger. 2018. On Dynamic Scheduling for the GPU and its Applications in Computer Graphics and beyond. IEEE Computer Graphics and Applications 38, 3 (2018), 119–130. https://doi.org/10.1109/MCG.2018.032421659
[20]
Ivan Tanasic, Isaac Gelado, Javier Cabezas, Alex Ramirez, Nacho Navarro, and Mateo Valero. 2014. Enabling preemptive multiprogramming on GPUs. Proceedings - International Symposium on Computer Architecture 42, 3 (jun 2014), 193–204. https://doi.org/10.1109/ISCA.2014.6853208
[21]
Kristin Uchiyama. 2017. NVIDIA Jetson TX2 Enables AI at the Edge | NVIDIA Newsroom. http://nvidianews.nvidia.com/news/nvidia-jetson-tx2-enables-ai-at-the-edge
[22]
Zhenning Wang, Jun Yang, Rami Melhem, Bruce Childers, Youtao Zhang, and Minyi Guo. 2016. Simultaneous Multikernel GPU: Multi-tasking throughput processors via fine-grained sharing. Proceedings - International Symposium on High-Performance Computer Architecture 2016-April (mar 2016), 358–369. https://doi.org/10.1109/HPCA.2016.7446078
[23]
Husheng Zhou, Guangmo Tong, and Cong Liu. 2015. GPES: A preemptive execution system for GPGPU computing. Proceedings of the IEEE Real-Time and Embedded Technology and Applications Symposium, RTAS 2015-May (2015), 87–97. https://doi.org/10.1109/RTAS.2015.7108420

Cited By

View all
  • (2023)Uso de GPUs en aplicaciones de tiempo real: Una revisión de técnicas para el análisis y optimización de parámetros temporalesRevista Iberoamericana de Automática e Informática industrial10.4995/riai.2023.2032121:1(1-16)Online publication date: 7-Nov-2023
  • (2023)Kernel-as-a-ServiceProceedings of the 24th International Middleware Conference10.1145/3590140.3629115(192-206)Online publication date: 27-Nov-2023

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Other conferences
ICCTA '22: Proceedings of the 2022 8th International Conference on Computer Technology Applications
May 2022
286 pages
ISBN:9781450396226
DOI:10.1145/3543712
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 20 September 2022

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. CUDA
  2. GPGPU
  3. GPU
  4. HPC
  5. Real-time scheduling

Qualifiers

  • Research-article
  • Research
  • Refereed limited

Conference

ICCTA 2022

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)358
  • Downloads (Last 6 weeks)50
Reflects downloads up to 20 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2023)Uso de GPUs en aplicaciones de tiempo real: Una revisión de técnicas para el análisis y optimización de parámetros temporalesRevista Iberoamericana de Automática e Informática industrial10.4995/riai.2023.2032121:1(1-16)Online publication date: 7-Nov-2023
  • (2023)Kernel-as-a-ServiceProceedings of the 24th International Middleware Conference10.1145/3590140.3629115(192-206)Online publication date: 27-Nov-2023

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

HTML Format

View this article in HTML Format.

HTML Format

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media