Benchmarking is crucial for testing and validating any system, even more so in real-time systems. Typical real-time applications adhere to well-understood abstractions: they exhibit a periodic behavior, operate on a well-defined working set, and strive for stable response time avoiding non-predicable factors such as page faults. Unfortunately, available benchmark suites fail to reflect key characteristics of real-time applications. Practitioners and researchers must resort to either benchmark heavily approximated real-time environments, or to re-engineer available benchmarks to add -- if possible -- the sought-after features. Additionally, the measuring and logging capabilities provided by most benchmark suites are not tailored "out-of-the-box" to real-time environments, and changing basic parameters such as the scheduling policy often becomes a tiring and error-prone exercise. In this paper, we present RT-bench, an open-source framework adding standard real-time features to virtually any existing benchmark. Furthermore, RT-bench provides an easy-to-use, unified command line interface to customize key aspects of the real-time execution of a set of benchmarks. Our framework is guided by four main criteria: 1) cohesive interface, 2) support for periodic application behavior and deadline semantics, 3) controllable memory footprint, and 4) extensibility and portability. We have integrated within the framework applications from the widely used SD-VBS and IsolBench suites. We showcase a set of use-cases that are representative of typical real-time system evaluation scenarios and that can be easily conducted via RT-Bench.
翻译:基准对于测试和验证任何系统来说至关重要,在实时系统中更是如此。典型的实时应用程序坚持非常理解的抽象特征:它们表现出一种定期行为,在明确界定的工作环境中运作,并努力争取稳定的反应时间,避免无法预测的因素,例如页误差。不幸的是,现有的基准套件未能反映实时应用程序的关键特征。从业者和研究人员必须采用基准高度近似实时环境,或者重新设计现有基准,以便 -- -- 如果可能的话 -- -- 容易添加所寻求的特征。此外,大多数基准套件提供的计量和记录能力不是针对实时环境的“箱外”情景,而是根据实时环境定制的“箱外”的,并努力争取稳定的反应时间,避免页误差。在本文件中,我们介绍一个开放源框架,将标准的实时功能与任何现有基准相加。此外,RT-Bench系统提供了一个容易使用的统一命令线接口,我们从实时执行一套基准的关键方面定制了“箱外”到实时环境,我们的框架以四个主要标准为指导。