Run-Time Scheduling Framework for Event-Driven Applications on a GPU-Based Embedded System

Graphics processing units (GPUs) have been employed in the critical path of applications in embedded systems due to the GPUs' programmability, high-performance, and low power consumption. State-of-the-art GPUs have the capability to process multiple GPU workloads concurrently. Moreover, GPU-based embedded systems have been considered to be essential because of the increased number of throughput-oriented applications and system events. However, existing application scheduling frameworks on a GPU do not have enough flexibility to handle the dynamic behavior of the event-driven applications. This is because in the existing scheduling frameworks: only temporal preemption is considered and one application occupies the GPU at a time. In order to tackle these problems, we propose a novel run-time scheduling framework that considers both temporal and spatial preemptions concurrently. We demonstrate the capability and novelty of our framework compared to the existing scheduling frameworks with realistic benchmark applications and with different execution scenarios. Experimental results show that our scheduling framework is able to guarantee up to 1.37 times as many applications compared to other scheduling frameworks. Moreover, the total amount of timing violation is decreased by up to 54.57%.

[1]  Takahiro Yakoh,et al.  GPGPU aided method for real-time systems , 2012, IEEE 10th International Conference on Industrial Informatics.

[2]  Stephen Pistorius,et al.  A real time Breast Microwave Radar imaging reconstruction technique using simt based interpolation , 2010, 2010 IEEE International Conference on Image Processing.

[3]  Shinpei Kato,et al.  TimeGraph: GPU Scheduling for Real-Time Multi-Tasking Environments , 2011, USENIX Annual Technical Conference.

[4]  James H. Anderson,et al.  Globally scheduled real-time multiprocessor systems with GPUs , 2011, Real-Time Systems.

[5]  Sebastian Thrun,et al.  Real time motion capture using a single time-of-flight camera , 2010, 2010 IEEE Computer Society Conference on Computer Vision and Pattern Recognition.

[6]  Satoshi Matsuoka,et al.  NVCR: A Transparent Checkpoint-Restart Library for NVIDIA CUDA , 2011, 2011 IEEE International Symposium on Parallel and Distributed Processing Workshops and Phd Forum.

[7]  James H. Anderson,et al.  Replica-Request Priority Donation: A Real-Time Progress Mechanism for Global Locking Protocols , 2012, 2012 IEEE International Conference on Embedded and Real-Time Computing Systems and Applications.

[8]  Kyoung-Don Kang,et al.  Supporting Preemptive Task Executions and Memory Copies in GPGPUs , 2012, 2012 24th Euromicro Conference on Real-Time Systems.

[9]  Esteban Walter Gonzalez Clua,et al.  Automatic Dynamic Task Distribution between CPU and GPU for Real-Time Systems , 2008, 2008 11th IEEE International Conference on Computational Science and Engineering.

[10]  Xu Yang,et al.  A hybrid CPU-GPGPU approach for real-time elastography , 2011, IEEE Transactions on Ultrasonics, Ferroelectrics and Frequency Control.

[11]  H. Murayama,et al.  Real-Time Imaging System for the OpenPET , 2012, IEEE Transactions on Nuclear Science.

[12]  Shinpei Kato,et al.  RGEM: A Responsive GPGPU Execution Model for Runtime Engines , 2011, 2011 IEEE 32nd Real-Time Systems Symposium.

[13]  Ikuma Sato,et al.  GPU based real-time surgical navigation system with three-dimensional ultrasound imaging for water-filled laparo-endoscope surgery , 2012, 2012 Annual International Conference of the IEEE Engineering in Medicine and Biology Society.

[14]  Avi Mendelson,et al.  Scheduling processing of real-time data streams on heterogeneous multi-GPU systems , 2012, SYSTOR '12.

[15]  Kevin Skadron,et al.  Rodinia: A benchmark suite for heterogeneous computing , 2009, 2009 IEEE International Symposium on Workload Characterization (IISWC).

[16]  James H. Anderson,et al.  Real-World Constraints of GPUs in Real-Time Systems , 2011, 2011 IEEE 17th International Conference on Embedded and Real-Time Computing Systems and Applications.

[17]  Mohammad Abdullah Al Faruque,et al.  GPU-EvR: Run-time event based real-time scheduling framework on GPGPU platform , 2014, 2014 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[18]  Andrew W. Fitzgibbon,et al.  KinectFusion: real-time 3D reconstruction and interaction using a moving depth camera , 2011, UIST.

[19]  Petru Eles,et al.  Saving energy without defying deadlines on mobile GPU-based heterogeneous systems , 2014, 2014 International Conference on Hardware/Software Codesign and System Synthesis (CODES+ISSS).

[20]  Richard D. Green,et al.  Enhanced real time facial detection and replacement using GPGPU , 2013, 2013 28th International Conference on Image and Vision Computing New Zealand (IVCNZ 2013).

[21]  Narciso García,et al.  Moving object detection for real-time augmented reality applications in a GPGPU , 2012, IEEE Transactions on Consumer Electronics.

[22]  Eduardo Tovar,et al.  WCET Measurement-based and Extreme Value Theory Characterisation of CUDA Kernels , 2014, RTNS.

[23]  Albert Y. Zomaya,et al.  Lowest priority first based feasibility analysis of real-time systems , 2013, J. Parallel Distributed Comput..

[24]  Jürgen Teich,et al.  Dynamic Task-Scheduling and Resource Management for GPU Accelerators in Medical Imaging , 2012, ARCS.

[25]  Samuel Williams,et al.  The Landscape of Parallel Computing Research: A View from Berkeley , 2006 .

[26]  Yangdong Deng,et al.  Evaluating the potential of graphics processors for high performance embedded computing , 2011, 2011 Design, Automation & Test in Europe.

[27]  James H. Anderson,et al.  An optimal k-exclusion real-time locking protocol motivated by multi-GPU systems , 2012, Real-Time Systems.

[28]  Fabio Daolio,et al.  GPU-Based Road Sign Detection Using Particle Swarm Optimization , 2009, 2009 Ninth International Conference on Intelligent Systems Design and Applications.

[29]  James H. Anderson,et al.  GPUSync: A Framework for Real-Time GPU Management , 2013, 2013 IEEE 34th Real-Time Systems Symposium.

[30]  Yangdong Deng,et al.  Hermes: An integrated CPU/GPU microarchitecture for IP routing , 2011, 2011 48th ACM/EDAC/IEEE Design Automation Conference (DAC).

[31]  Yong Liao,et al.  PK-OMLP: An OMLP Based k-Exclusion Real-Time Locking Protocol for Multi-GPU Sharing under Partitioned Scheduling , 2013, 2013 IEEE 11th International Conference on Dependable, Autonomic and Secure Computing.