TY - GEN
T1 - P2GO
T2 - 19th ACM Workshop on Hot Topics in Networks, HotNets 2020
AU - Wintermeyer, Patrick
AU - Apostolaki, Maria
AU - Dietmüller, Alexander
AU - Vanbever, Laurent
N1 - Publisher Copyright:
© 2020 ACM.
PY - 2020/11/4
Y1 - 2020/11/4
N2 - Programmable devices allow the operator to specify the data-plane behavior of a network device in a high-level language such as P4. The compiler then maps the P4 program to the hardware after applying a set of optimizations to minimize resource utilization. Yet, the lack of context restricts the compiler to conservatively account for all possible inputs - including unrealistic or infrequent ones - leading to sub-optimal use of the resources or even compilation failures. To address this inefficiency, we propose that the compiler leverages insights from actual traffic traces, effectively unlocking a broader spectrum of possible optimizations. We present a system working alongside the compiler that uses traffic-awareness to reduce the allocated resources of a P4 program by: (i) removing dependencies that do not manifest; (ii) adjusting table and register sizes to reduce the pipeline length; and (iii) offloading parts of the program that are rarely used to the controller. Our prototype implementation on the Tofino switch automatically profiles the P4 program, detects opportunities and performs optimizations to improve the pipeline efficiency. Our work showcases the potential benefit of applying profiling techniques used to compile general-purpose languages to compiling P4 programs.
AB - Programmable devices allow the operator to specify the data-plane behavior of a network device in a high-level language such as P4. The compiler then maps the P4 program to the hardware after applying a set of optimizations to minimize resource utilization. Yet, the lack of context restricts the compiler to conservatively account for all possible inputs - including unrealistic or infrequent ones - leading to sub-optimal use of the resources or even compilation failures. To address this inefficiency, we propose that the compiler leverages insights from actual traffic traces, effectively unlocking a broader spectrum of possible optimizations. We present a system working alongside the compiler that uses traffic-awareness to reduce the allocated resources of a P4 program by: (i) removing dependencies that do not manifest; (ii) adjusting table and register sizes to reduce the pipeline length; and (iii) offloading parts of the program that are rarely used to the controller. Our prototype implementation on the Tofino switch automatically profiles the P4 program, detects opportunities and performs optimizations to improve the pipeline efficiency. Our work showcases the potential benefit of applying profiling techniques used to compile general-purpose languages to compiling P4 programs.
KW - compilation
KW - optimization
KW - p4
KW - profile-guided
KW - programmable data plane
KW - programmable networks
KW - resource allocation
UR - http://www.scopus.com/inward/record.url?scp=85097107579&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=85097107579&partnerID=8YFLogxK
U2 - 10.1145/3422604.3425941
DO - 10.1145/3422604.3425941
M3 - Conference contribution
AN - SCOPUS:85097107579
T3 - HotNets 2020 - Proceedings of the 19th ACM Workshop on Hot Topics in Networks
SP - 146
EP - 152
BT - HotNets 2020 - Proceedings of the 19th ACM Workshop on Hot Topics in Networks
PB - Association for Computing Machinery, Inc
Y2 - 4 November 2020 through 6 November 2020
ER -