Due to the increasing complexity seen in both workloads and hardware resources in state-of-the-art embedded systems, developing efficient real-time schedulers and the corresponding schedulability tests becomes rather challenging. Although close to optimal schedulability performance can be achieved for supporting simple system models in practice, adding any small complexity element into the problem context such as non-preemption or resource heterogeneity would cause significant pessimism, which may not be eliminated by any existing scheduling technique. In this paper, we present LINTS^RT, a learning-based testbed for intelligent real-time scheduling, which has the potential to handle various complexities seen in practice. The design of LINTS^RT is fundamentally motivated by AlphaGo Zero for playing the board game Go, and specifically addresses several critical challenges due to the real-time scheduling context. We first present a clean design of LINTS^RT for supporting the basic case: scheduling sporadic workloads on a homogeneous multiprocessor, and then demonstrate how to easily extend the framework to handle further complexities such as non-preemption and resource heterogeneity. Both application and OS-level implementation and evaluation demonstrate that LINTS^RT is able to achieve significantly higher runtime schedulability under different settings compared to perhaps the most commonly applied schedulers, global EDF, and RM. To our knowledge, this work is the first attempt to design and implement an extensible learning-based testbed for autonomously making real-time scheduling decisions.
翻译:由于最先进的嵌入系统的工作量和硬件资源日益复杂,因此,开发高效实时调度器和相应的弹性测试变得相当困难。虽然在实践中支持简单系统模型可以实现接近最佳的弹性性能,但在问题背景下,如非预防或资源差异性等任何小的复杂因素都会造成重大的悲观,而现有的任何列表技术可能不会消除这种悲观感。在本文件中,我们介绍了智能实时时间安排的学习测试台LINTS ⁇ RT,这是一个智能实时时间安排的基于学习的测试台,有可能处理实践中所看到的各种复杂情况。LAGo Zero从根本上推动LINTS ⁇ RT的设计,是为了在游戏游戏 Go上玩游戏,并具体应对由于实时列表环境而带来的若干重大挑战。我们首先介绍了LINTS ⁇ RT的清洁设计,以支持基本案例:将零星工作量安排在单一的多处理器上,然后展示如何轻松地扩展框架,以处理非预防和资源差异性实时时间安排等复杂情况,这有可能在实践中处理各种复杂情况。