TY - GEN
T1 - Incremental Specialization of Network Programs
AU - Ruffy, Fabian
AU - Wang, Zhanghan
AU - Antichi, Gianni
AU - Panda, Aurojit
AU - Sivaraman, Anirudh
N1 - Publisher Copyright:
© 2024 Copyright held by the owner/author(s).
PY - 2024/11/18
Y1 - 2024/11/18
N2 - Programmable network devices process packets using limited time and space. Consequently, much effort has been spent making network programs run as efficiently as possible. One promising line of work focuses on specializing the implementation of a network program to a particular—presumed constant—control-plane configuration. However, while some parts of the control plane configurations are constant for long periods of time, others change frequently, and in bursts (e.g., due to routing table updates). Thus, any approach that specializes a network program with respect to control-plane configurations must be incremental: it should be able to tell quickly whether a new control-plane update will affect the program’s implementation and recompile the program only when its implementation must change. We describe several benefits of such an approach, including reducing resource use on line-rate pipelines and improving the memory footprint of packet classification. We explore our ideas with a prototype, Flay, an incremental partial evaluator that optimizes P4 programs by treating control-plane entries as constant. Flay can reduce resources in the implementations of Tofino programs. Flay can also determine in 100s of milliseconds whether a control-plane update will change a program’s implementation. We conclude by outlining several avenues for future work.
AB - Programmable network devices process packets using limited time and space. Consequently, much effort has been spent making network programs run as efficiently as possible. One promising line of work focuses on specializing the implementation of a network program to a particular—presumed constant—control-plane configuration. However, while some parts of the control plane configurations are constant for long periods of time, others change frequently, and in bursts (e.g., due to routing table updates). Thus, any approach that specializes a network program with respect to control-plane configurations must be incremental: it should be able to tell quickly whether a new control-plane update will affect the program’s implementation and recompile the program only when its implementation must change. We describe several benefits of such an approach, including reducing resource use on line-rate pipelines and improving the memory footprint of packet classification. We explore our ideas with a prototype, Flay, an incremental partial evaluator that optimizes P4 programs by treating control-plane entries as constant. Flay can reduce resources in the implementations of Tofino programs. Flay can also determine in 100s of milliseconds whether a control-plane update will change a program’s implementation. We conclude by outlining several avenues for future work.
KW - Incremental Computation
KW - P4
KW - Partial Evaluation
KW - Programmable Networks
KW - SDN
KW - Specialization
KW - eBPF/XDP
UR - http://www.scopus.com/inward/record.url?scp=85215671456&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=85215671456&partnerID=8YFLogxK
U2 - 10.1145/3696348.3696870
DO - 10.1145/3696348.3696870
M3 - Conference contribution
AN - SCOPUS:85215671456
T3 - HOTNETS 2024 - Proceedings of the 2024 3rd ACM Workshop on Hot Topics in Networks
SP - 264
EP - 272
BT - HOTNETS 2024 - Proceedings of the 2024 3rd ACM Workshop on Hot Topics in Networks
PB - Association for Computing Machinery, Inc
T2 - 3rd ACM Workshop on Hot Topics in Networks, HOTNETS 2024
Y2 - 18 November 2024 through 19 November 2024
ER -