TY - GEN
T1 - Automatic Kernel Offload Using BPF
AU - Shahinfar, Farbod
AU - Miano, Sebastiano
AU - Siracusano, Giuseppe
AU - Bifulco, Roberto
AU - Panda, Aurojit
AU - Antichi, Gianni
N1 - Publisher Copyright:
© 2023 ACM.
PY - 2023/6/22
Y1 - 2023/6/22
N2 - BPF support in Linux has made kernel extensions easier. Recent efforts have shown that using BPF to offload portions of server applications, e.g., memcached and service proxies, can improve application performance and efficiency. However, thus far, the community has not looked at the question of what parts of an application should be offloaded? This paper first shows that blindly offloading application functionality to the kernel is neither beneficial nor desirable, and care must be taken when deciding what to offload. Furthermore, when deciding what to offload, developers must consider not just the application, but also the workload being handled, and the kernel being targetted, Therefore, we advocate automating this decision process in a compiler, that can analyze application code, and produce two executables, a kernel offload and a userspace program, that jointly implement the application's functionality. This paper discusses the challenges that must be addressed to build such a compiler, and why they can be feasibly addressed.
AB - BPF support in Linux has made kernel extensions easier. Recent efforts have shown that using BPF to offload portions of server applications, e.g., memcached and service proxies, can improve application performance and efficiency. However, thus far, the community has not looked at the question of what parts of an application should be offloaded? This paper first shows that blindly offloading application functionality to the kernel is neither beneficial nor desirable, and care must be taken when deciding what to offload. Furthermore, when deciding what to offload, developers must consider not just the application, but also the workload being handled, and the kernel being targetted, Therefore, we advocate automating this decision process in a compiler, that can analyze application code, and produce two executables, a kernel offload and a userspace program, that jointly implement the application's functionality. This paper discusses the challenges that must be addressed to build such a compiler, and why they can be feasibly addressed.
UR - http://www.scopus.com/inward/record.url?scp=85166172348&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=85166172348&partnerID=8YFLogxK
U2 - 10.1145/3593856.3595888
DO - 10.1145/3593856.3595888
M3 - Conference contribution
AN - SCOPUS:85166172348
T3 - HotOS 2023 - Proceedings of the 19th Workshop on Hot Topics in Operating Systems
SP - 143
EP - 149
BT - HotOS 2023 - Proceedings of the 19th Workshop on Hot Topics in Operating Systems
PB - Association for Computing Machinery, Inc
T2 - 19th Workshop on Hot Topics in Operating Systems, HotOS 2023
Y2 - 22 June 2023 through 24 June 2023
ER -