Analytical enhancements and practical insights for mpcp with self-suspensions
Abstract
Hardware accelerators such as GP-GPUs and DSPs are being increasingly used in computationally-intensive real-time and multimedia systems. System efficiency is often increased when CPU tasks suspend while using these devices. In this paper, we extend the existing Multiprocessor Priority Ceiling Protocol (MPCP) schedulability analysis in this particular context. We present three methods to improve the traditional MPCP analysis that reduces pessimism in analyzing blocking times. Two of these methods, the request-driven and the job-driven approaches, are motivated by prior work and are adapted to MPCP. The third combines these two approaches in a novel way to consistently outperform either on its own. We note that our underlying observations are general, and that such methods can also be used for analyzing other real-time synchronization protocols. Experimental results indicate that our analytical improvements result in a significantly higher schedulability compared to the traditional recursion-based analysis, even when self-suspensions are not considered. Our approach is also competitive with and often outperforms the linear-programming-based FMLP+ analysis, while having a considerably lower runtime complexity. We further substantiate the practical feasibility of suspension-based MPCP and examine its benefits over the busy-waiting approach by presenting a case-study on an NVIDIA TX2 embedded platform using real-world vision applications.
BibTeX
@conference{Patel-2018-126191,author = {Pratyush Patel and Iljoo Baek and Hyoseung Kim and Ragunathan Rajkumar},
title = {Analytical enhancements and practical insights for mpcp with self-suspensions},
booktitle = {Proceedings of IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS '18)},
year = {2018},
month = {April},
pages = {177 - 189},
}