TY - JOUR
T1 - Rust-Shyper
T2 - A reliable embedded hypervisor supporting VM migration and hypervisor live-update
AU - Mo, Ce
AU - Wang, Lei
AU - Li, Siran
AU - Hu, Keyang
AU - Jiang, Bo
N1 - Publisher Copyright:
© 2023 Elsevier B.V.
PY - 2023/9
Y1 - 2023/9
N2 - Traditional embedded hypervisors usually focus on resource utilization and performance while neglecting the reliability requirements. On the one hand, the reliability issues result from the use of C language that may introduce memory safety bugs. On the other hand, most existing embedded hypervisors lacks run-time fault tolerance and dynamic bug-fixing mechanisms in deployed embedded system. To address the above challenges, in this paper, we propose Rust-Shyper, an embedded type-1 hypervisor built with Rust, which has both high performance and high reliability. We make full use of the Rust language features in terms of code safety to reduce the number of bugs within the embedded hypervisor. Furthermore, we have proposed low-overhead VM migration and hypervisor live-update mechanisms to enable our embedded hypervisor to tolerate hardware faults at runtime and dynamically fix hypervisor bugs. To the best of our knowledge, we are the first work to propose live-update mechanisms for embedded hypervisor. We have systematically evaluated the performance and reliability of Rust-Shyper, and the results show that Rust-Shyper can significantly improve memory safety without compromising performance. Furthermore, the VM migration and hypervisor live-update mechanisms only incur a small performance overhead.
AB - Traditional embedded hypervisors usually focus on resource utilization and performance while neglecting the reliability requirements. On the one hand, the reliability issues result from the use of C language that may introduce memory safety bugs. On the other hand, most existing embedded hypervisors lacks run-time fault tolerance and dynamic bug-fixing mechanisms in deployed embedded system. To address the above challenges, in this paper, we propose Rust-Shyper, an embedded type-1 hypervisor built with Rust, which has both high performance and high reliability. We make full use of the Rust language features in terms of code safety to reduce the number of bugs within the embedded hypervisor. Furthermore, we have proposed low-overhead VM migration and hypervisor live-update mechanisms to enable our embedded hypervisor to tolerate hardware faults at runtime and dynamically fix hypervisor bugs. To the best of our knowledge, we are the first work to propose live-update mechanisms for embedded hypervisor. We have systematically evaluated the performance and reliability of Rust-Shyper, and the results show that Rust-Shyper can significantly improve memory safety without compromising performance. Furthermore, the VM migration and hypervisor live-update mechanisms only incur a small performance overhead.
KW - Embedded hypervisor
KW - Hypervisor live-update
KW - Reliability
KW - Rust
KW - VM migration
UR - https://www.scopus.com/pages/publications/85172413503
U2 - 10.1016/j.sysarc.2023.102948
DO - 10.1016/j.sysarc.2023.102948
M3 - 文章
AN - SCOPUS:85172413503
SN - 1383-7621
VL - 142
JO - Journal of Systems Architecture
JF - Journal of Systems Architecture
M1 - 102948
ER -