ELI: Bare-Metal Performance for I/O Virtualization
Gordon, Abel and Amit, Nadav and Har’El, Nadav and Ben-Yehuda, Muli and Landau, Alex and Schuster, Assaf and Tsafrir, Dan
ACM Architectural Support for Programming Languages & Operating Systems (ASPLOS), 2012
Direct device assignment enhances the performance of guest virtual machines by allowing them to communicate with I/O devices without host involvement. But even with device assignment, guests are still unable to approach bare-metal performance, because the host intercepts all interrupts, including those interrupts generated by assigned devices to signal to guests the completion of their I/O requests. The host involvement induces multiple unwarranted guest/host context switches, which significantly hamper the performance of I/O intensive workloads. To solve this problem, we present ELI (ExitLess Interrupts), a software-only approach for handling interrupts within guest virtual machines directly and securely. By removing the host from the interrupt handling path, ELI manages to improve the throughput and latency of unmodified, untrusted guests by 1.3x-1.6x, allowing them to reach 97%-100% of bare-metal performance even for the most demanding I/O-intensive workloads.
[PDF]