Session: Performance and Experimentation HotMobile’18, February 12–13, 2018, Tempe, AZ, USA Hermes: A Real Time Hypervisor for Mobile and IoT Systems Neil Klingensmith Suman Banerjee University of Wisconsin University of Wisconsin
[email protected] [email protected] ABSTRACT Workshop on Mobile Computing Systems & Applications, Tempe , AZ, USA, We present Hermes, a hypervisor for MMU-less microcontrollers. February 12–13, 2018 (HotMobile ’18), 6 pages. https://doi.org/10.1145/3177102.3177103 Hermes enables high-performance bare metal applications to coex- ist 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 1 INTRODUCTION times for I/O events, which can cause real-time workloads to be Modern embedded sensing and mobile applications increasingly unschedulable. Hermes solves this problem by adding a layer of perform diverse functions, including displaying user interfaces, abstraction between the hardware I/O devices and the software managing networking, performing real-time data acquisition, and that services them, making I/O transactions truly deterministic. more. Some even allow third-party code to be downloaded and Virtualization on low-power mobile and embedded systems also run alongside the factory firmware [17]. Such diversity in runtime enables some interesting software capabilities like secure execu- requirements poses challenges to software architects, who must tion of third-party apps, software integrity attestation, and bare manage the often competing needs of different tasks. metal performance in a multitasking software environment. These To manage the diverse runtime requirements of embedded soft- features otherwise require additional hardware (i.e.