Hermes: A Real Time Hypervisor for Mobile and IoT Systems

被引:12
作者
Klingensmith, Neil [1 ]
Banerjee, Suman [1 ]
机构
[1] Univ Wisconsin, Madison, WI 53706 USA
来源
HOTMOBILE'18: PROCEEDINGS OF THE 19TH INTERNATIONAL WORKSHOP ON MOBILE COMPUTING SYSTEMS & APPLICATIONS | 2018年
基金
美国国家科学基金会;
关键词
Real-time systems; hypervisor; virtualization;
D O I
10.1145/3177102.3177103
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
We present Hermes, a hypervisor for MMU-less microcontrollers. Hermes enables high-performance bare metal applications to coexist with RTOSes and other less time-critical software on a single CPU. We experimentally demonstrate that a real-time operating system scheduler does not always provide deterministic response times for I/O events, which can cause real-time workloads to be unschedulable. Hermes solves this problem by adding a layer of abstraction between the hardware I/O devices and the software that services them, making I/O transactions truly deterministic. Virtualization on low-power mobile and embedded systems also enables some interesting software capabilities like secure execution of third-party apps, software integrity attestation, and bare metal performance in a multitasking software environment. These features otherwise require additional hardware (i.e. multiple CPUs, hardware TPM, etc) or may not be available at all. In other projects, we have anecdotally noticed that real time operating systems are not always able to respond quickly and deterministically enough to time-sensitive operations, particularly under high I/O load. We validate this observed timing problem by measuring interrupt latency in an RTOS environment and comparing to an experimental implementation of Hermes. We find that not only is the interrupt latency lower in the virtualized environment, but it is also much more deterministic-a key figure of merit for real-time software systems. We discuss challenges of implementing a hypervisor on a CPU with no memory management unit, and we present some preliminary solutions and workarounds. We go on to explore some other applications of virtualization to mobile and IoT software.
引用
收藏
页码:101 / 106
页数:6
相关论文
共 18 条
  • [1] [Anonymous], 2014, P 2014 INT C EMB SOF
  • [2] Atmel Corporation, 2017, SAM E70 XPLAIN EV KI
  • [3] Atmel Corporation, 2017, SAM E ARM CORT M7 MI
  • [4] Berger Stefan, 2006, P 15 C USENIX SEC S
  • [5] Brannon B., 2006, AN501
  • [6] Castelluccia C, 2009, CCS'09: PROCEEDINGS OF THE 16TH ACM CONFERENCE ON COMPUTER AND COMMUNICATIONS SECURITY, P400
  • [7] Cho Y, 2016, PROCEEDINGS OF USENIX ATC '16: 2016 USENIX ANNUAL TECHNICAL CONFERENCE, P565
  • [8] THE ORIGIN OF THE VM-370 TIME-SHARING SYSTEM
    CREASY, RJ
    [J]. IBM JOURNAL OF RESEARCH AND DEVELOPMENT, 1981, 25 (05) : 483 - 490
  • [9] Dale W., 2014, P 9 ACM WORKSHOP MOB, DOI 10.1145/2645892.2645901
  • [10] KVM/ARM: The Design and Implementation of the Linux ARM Hypervisor
    Dall, Christoffer
    Nieh, Jason
    [J]. ACM SIGPLAN NOTICES, 2014, 49 (04) : 333 - 347