Understanding the Overheads of Hardware and Language-Based IPC Mechanisms
Understanding the Overheads of Hardware and Language-Based IPC Mechanisms
复制标题
了解硬件和基于语言的 IPC 机制的开销
DOI:
10.1145/3477113.3487275
复制
发表时间:
2021
期刊:
影响因子:
--
通讯作者:
Burtsev, Anton
中科院分区:
文献类型:
--
作者:
Li, Zhaofeng;Huang, Tianjiao;Narayanan, Vikram;Burtsev, Anton
A recent surge of security attacks has triggered a renewed interest in hardware support for isolation. Extended page table switching with VMFUNC, memory protection keys (MPK), and memory tagging extensions (MTE) are just a few of the hardware isolation mechanisms that promise support for low-overhead isolation in recent CPUs. Along with the restored interest in lightweight hardware isolation mechanisms, safe programming languages like Rust has made a leap towards practical, zero-overhead safety implemented without garbage collection.Both lightweight hardware mechanisms and zero-overhead language safety can be leveraged to enforce the isolation of subsystems, e.g., browser plugins, device drivers and kernel extensions, user-defined database and network functions, etc. However, as both technologies are still young, their relative advantages are still unknown. In this work, we study the overheads of hardware and software isolation mechanisms with the goal to understand their relative advantages and disadvantages for fine-grained isolation of subsystems with tight performance budgets. We ask two questions: What is the overhead of hardware isolation in an ideal scenario where the hardware isolation mechanism takes zero cycles? And if the safety of the Rust language can lower the overhead of cross-subsystem invocations, can the language on its own introduce overheads that might outweigh isolation advantages? To answer these questions, we develop and compare two carefully optimized versions of inter-process communication (IPC) mechanisms (one in safe Rust and one in a carefully-optimized assembly), and two identical (to the degree possible) DPDK-based network packet processing frameworks (one in C++ and one in Rust). Our analysis shows that for systems requiring frequent boundary crossings, a safe language is still beneficial even if the overheads of hardware isolation mechanisms drop to zero.
登录
查看更多内容
影响因子:
--
作者:
T. V. Eicken;Chi;G. Czajkowski;C. Hawblitzel;Deyu Hu;Daniel Spoonhower
通讯作者:
Daniel Spoonhower
DOI:
--
发表时间:
2018-10
期刊:
--
影响因子:
--
作者:
C. Kulkarni;S. Moore;Mazhar Naqvi;Tian Zhang;R. Ricci;Ryan Stutsman
通讯作者:
C. Kulkarni;S. Moore;Mazhar Naqvi;Tian Zhang;R. Ricci;Ryan Stutsman
DOI:
10.1145/566726.566751
发表时间:
2000
期刊:
Proceedings of the 9th workshop on ACM SIGOPS European workshop: beyond the PC: new challenges for the operating system
影响因子:
--
作者:
A. Gefflaut;T. Jaeger;Yoonho Park;J. Liedtke;Kevin Elphinstone;Volkmar Uhlig;Jonathon Tidswell;Luke Deller;Lars Reuther
通讯作者:
Lars Reuther
DOI:
10.1109/ancs.2019.8901892
发表时间:
2019
期刊:
2019 ACM/IEEE Symposium on Architectures for Networking and Communications Systems (ANCS)
影响因子:
--
作者:
Paul Emmerich;Simon Ellmann;Fabian Bonk;A. Egger;Esaú García Sánchez;T. Günzel;Sebastian Di Luzio;Alexandru Obada;Maximilian Stadlmeier;Sebastian Voit;G. Carle
通讯作者:
G. Carle
DOI:
--
发表时间:
2020
期刊:
--
影响因子:
--
作者:
Vikram Narayanan;Tianjiao Huang;David Detweiler;Daniel M. Appel;Zhaofeng Li;Gerd Zellweger;A. Burtsev
通讯作者:
Vikram Narayanan;Tianjiao Huang;David Detweiler;Daniel M. Appel;Zhaofeng Li;Gerd Zellweger;A. Burtsev