This project is directed at developing a framework for supporting real-time mixed-criticality workloads on multicore platforms augmented with graphics processing units (GPUs) as hardware accelerators. The particular workloads of interest are drawn from emerging safety-critical embedded systems where autonomous functionality is required. Examples of such systems that are of relevance to the U.S. military include unmanned airplanes and helicopters, battlefield robots, unmanned ground vehicles, and various autonomous weapons systems. While many of these systems require a remote human operator today---and thus should more properly be called semi-autonomous---next-generation systems are envisioned that will be truly autonomous. In many settings, fielding truly autonomous systems will require significant computing power that must be provided within strict size, weight, and power (SWaP) limits. Multicore+GPU platforms are capable of meeting these requirements, provided a judicious resource-allocation framework is employed that can ensure that critical timing constraints are met without under-utilizing hardware resources.
The development of such a framework is the main objective of this project. The proposed framework will leverage the fact that, even in safety-critical systems, not all system components are highly critical. Thus, less-pessimistic provisioning assumptions can be applied to lower-criticality components to ensure efficient platform utilization while still guaranteeing the timing requirements of all components. In validating timing constraints, analysis assumptions can be applied to each component that are appropriate for the criticality level to which it is assigned.
The key outcomes of this project will be
The analysis to be obtained will extend recent work on mixed-criticality schedulability analysis to be applicable on multicore platforms augmented with GPUs. The prototype systems to be developed will extend a state-of-the-art real-time GPU management framework developed by the PI's group called GPUSync, which is implemented in LITMUSRT, a real-time Linux extension originally developed by the PI's group under prior ARO support. Two new GPUSync-related prototypes will be developed, one implemented in LITMUSRT that directly extends the existing GPUSync framework, and a second implemented mostly in userspace that is less fully featured but requires only minimal operating system (OS) modifications. The latter prototype is motivated by the fact that certified OSs must be used in many satefy-critical domains. In practice, userspace GPU management might be preferable to avoid costs associated with certifying extensive OS modifications.
Multicore+GPU platforms are seen as a key enabler for many forward-looking autonomous embedded systems. However, many of these systems come from safety-critical application domains where significant computational capacity will be required within strict SWaP limits. This is especially true of domains of interest to the U.S. military. For multicore+GPU to really be a key enabler in these domains, judicious resource allocation will be required. In this project, we will show that it is possible to leverage the fact that even safety-critical systems typically have components of lesser criticality that can be provisioned without the excessive pessimism required of highly critical components. While the existing literature on real-time mixed-criticality resource allocation is vast, no prior work on this topic has been done with respect to multicore+GPU platforms. This project will break new ground by expanding work on mixed-criticality resource allocation to apply to such platforms. It is our intent to provide a substantive foundation for establishing multicore+GPU as the key enabler it is currently touted to be.
N. Otterness J. Anderson, " AMD GPUs as an Alternative to NVIDIA for Supporting Real-Time Workloads", Proceedings of the 32nd Euromicro Conference on Real-Time Systems, pp. 10:1-10:23, July 2020. PDF .
T. Amert, M. Yang, S. Nandi, T. Vu, J. Anderson, and F.D. Smith, " The Price of Schedulability in Multi-Object Tracking: The History-vs.-Accuracy Trade-Off", Proceedings of the 23rd International Symposium on Real-Time Distributed Computing, pp. 124-133, May 2020. PDF .
T. Amert, S. Voronov, and J. Anderson, " OpenVX and Real-Time Certification: The Troublesome History", Proceedings of the 40th IEEE Real-Time Systems Symposium, pp. 312 -325, December 2019. PDF .
M. Yang, S. Wang, J. Bakita, T. Vu, F.D. Smith, J. Anderson, and J.-M. Frahm, " Re-thinking CNN Frameworks for Time-Sensitive Autonomous-Driving Applications: Addressing an Industrial Challenge", Proceedings of the 25th IEEE Real-Time and Embedded Technology and Applications Symposium, pp. 305-317, April 2019. PDF .
M. Yang, T. Amert, K. Yang, N. Otterness, J. Anderson, F. D. Smith, and S. Wang, " Making OpenVX Really `Real Time'", Proceedings of the 39th IEEE Real-Time Systems Symposium, pp. 80-93, December 2018. PDF .
N. Kim, S. Tang, N. Otterness, J. Anderson, F.D. Smith, and D. Porter, " Supporting I/O and IPC via Fine-Grained OS Isolation for Mixed-Criticality Real-Time Tasks", Proceedings of the 26th International Conference on Real-Time Networks and System, pp. 191-201, October 2018. Winner, outstanding paper award and best paper award. PDF .
J. Bakita, N. Otterness, J. Anderson, and F.D. Smith, " Scaling Up: The Validation of Empirically Derived Scheduling Rules on NVIDIA GPUs", Proceedings of 14th Annual Workshop on Operating Systems Platforms for Embedded Real-Time Applications, pp. 49-54, July 2018. PDF .
M. Yang, N. Otterness, T. Amert, J. Bakita, J. Anderson, and F. D. Smith, " Avoiding Pitfalls when Using NVIDIA GPUs for Real-Time Tasks in Autonomous Systems", Proceedings of the 30th Euromicro Conference on Real-Time Systems, pp. 20:1-20:21, July 2018. PDF .
Other papers that acknowledge this grant can be found on the PI's investigators: Publication Page .
Last modified 21 August 2020