TY - JOUR
T1 - Unishyper
T2 - A Rust-based unikernel enhancing reliability and efficiency of embedded systems
AU - Hu, Keyang
AU - Huang, Wang
AU - Wang, Lei
AU - Mo, Ce
AU - Wang, Runxiang
AU - Chen, Yu
AU - Ren, Ju
AU - Jiang, Bo
N1 - Publisher Copyright:
© 2024 Elsevier B.V.
PY - 2024/8
Y1 - 2024/8
N2 - Unikernels are simple, customizable, efficient, and small in code size, which makes them highly applicable to embedded scenarios. However, most existing unikernels are developed and optimized for cloud computing, and they do not fully meet the requirements of high reliability and platform customization in embedded environments. We propose Unishyper, a reliable and high-performance embedded unikernel in Rust. To support memory isolation between user applications, user code, and kernel code, Unishyper designs the Zone mechanism on top of Intel MPK. Unishyper further proposes a thread-level unwind strategy for safe fault handling while avoiding memory leakage. Finally, Unishyper supports fine-grained customization, seamlessly integrates with the Rust ecosystem, and uses Unilib for function offloading to further reduce image size. Our evaluation results show that Unishyper achieves better performance than peer unikernels on major micro-benchmarks, can effectively stop illegal memory accesses across application boundaries, and has a minimal memory footprint of less than 100 KB.
AB - Unikernels are simple, customizable, efficient, and small in code size, which makes them highly applicable to embedded scenarios. However, most existing unikernels are developed and optimized for cloud computing, and they do not fully meet the requirements of high reliability and platform customization in embedded environments. We propose Unishyper, a reliable and high-performance embedded unikernel in Rust. To support memory isolation between user applications, user code, and kernel code, Unishyper designs the Zone mechanism on top of Intel MPK. Unishyper further proposes a thread-level unwind strategy for safe fault handling while avoiding memory leakage. Finally, Unishyper supports fine-grained customization, seamlessly integrates with the Rust ecosystem, and uses Unilib for function offloading to further reduce image size. Our evaluation results show that Unishyper achieves better performance than peer unikernels on major micro-benchmarks, can effectively stop illegal memory accesses across application boundaries, and has a minimal memory footprint of less than 100 KB.
KW - Embedded system
KW - Reliability
KW - Rust
KW - Unikernel
UR - https://www.scopus.com/pages/publications/85196844483
U2 - 10.1016/j.sysarc.2024.103199
DO - 10.1016/j.sysarc.2024.103199
M3 - 文章
AN - SCOPUS:85196844483
SN - 1383-7621
VL - 153
JO - Journal of Systems Architecture
JF - Journal of Systems Architecture
M1 - 103199
ER -