TY - GEN
T1 - ESCA
T2 - 30th Euromicro International Conference on Parallel, Distributed and Network-Based Processing, PDP 2022
AU - Cheng, Yu Cheng
AU - Huang, Ching Chun Jim
AU - Tu, Chia Heng
N1 - Publisher Copyright:
© 2022 IEEE.
PY - 2022
Y1 - 2022
N2 - The switches between a non-privileged application and the OS kernel running in the CPU's supervisor mode have been inducing performance costs despite manufacturer efforts to provide special instructions for such transition. Software that heavily interacts with the underlying OS (e.g., I/O intensive and event-driven applications) suffers from system call overhead. To deteriorate this situation, security vulnerabilities in modern processors have prompted kernel mitigations that further increase the transition overhead. Particularly system-call-heavy applications have been reported to be slowed down by up to 30% with kernel page-Table isolation (KPTI), the widely deployed mitigation for the Meltdown vulnerability. To decouple system calls from mode transitions, we revisit an old idea known as system-call batching or multi-calls: The bundling of system calls into a combined call, which only incurs the mode-Transition costs of a single one. And then, we have implemented ESCA scheme to adapt system-call batching to Linux-based servers in the light of Meltdown and Spectre, effectively eliminating the slowdown of KPTI-Affected applications. Our evaluation shows that the throughputs of real-world applications, benefiting from ESCA, can be improved with only 2 lines of code changed respectively: Nginx by up to 12%, lighttpd by up to 23%, and Redis by 4%. Meanwhile, using aggregated transitions, our approach allows faster system calls interleaved with full compatibility but without requiring Linux kernel patches.
AB - The switches between a non-privileged application and the OS kernel running in the CPU's supervisor mode have been inducing performance costs despite manufacturer efforts to provide special instructions for such transition. Software that heavily interacts with the underlying OS (e.g., I/O intensive and event-driven applications) suffers from system call overhead. To deteriorate this situation, security vulnerabilities in modern processors have prompted kernel mitigations that further increase the transition overhead. Particularly system-call-heavy applications have been reported to be slowed down by up to 30% with kernel page-Table isolation (KPTI), the widely deployed mitigation for the Meltdown vulnerability. To decouple system calls from mode transitions, we revisit an old idea known as system-call batching or multi-calls: The bundling of system calls into a combined call, which only incurs the mode-Transition costs of a single one. And then, we have implemented ESCA scheme to adapt system-call batching to Linux-based servers in the light of Meltdown and Spectre, effectively eliminating the slowdown of KPTI-Affected applications. Our evaluation shows that the throughputs of real-world applications, benefiting from ESCA, can be improved with only 2 lines of code changed respectively: Nginx by up to 12%, lighttpd by up to 23%, and Redis by 4%. Meanwhile, using aggregated transitions, our approach allows faster system calls interleaved with full compatibility but without requiring Linux kernel patches.
UR - http://www.scopus.com/inward/record.url?scp=85129576709&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=85129576709&partnerID=8YFLogxK
U2 - 10.1109/PDP55904.2022.00012
DO - 10.1109/PDP55904.2022.00012
M3 - Conference contribution
AN - SCOPUS:85129576709
T3 - Proceedings - 30th Euromicro International Conference on Parallel, Distributed and Network-Based Processing, PDP 2022
SP - 18
EP - 25
BT - Proceedings - 30th Euromicro International Conference on Parallel, Distributed and Network-Based Processing, PDP 2022
A2 - Gonzalez-Escribano, Arturo
A2 - Garcia, Jose Daniel
A2 - Torquati, Massimo
A2 - Skavhaug, Amund
PB - Institute of Electrical and Electronics Engineers Inc.
Y2 - 9 March 2022 through 11 March 2022
ER -