TY - GEN
T1 - SwitchLog
T2 - 25th International Symposium on Practical Aspects of Declarative Languages, PADL 2023
AU - Mehta, Vaibhav
AU - Loehr, Devon
AU - Sonchack, John
AU - Walker, David
N1 - Publisher Copyright:
© 2023, The Author(s), under exclusive license to Springer Nature Switzerland AG.
PY - 2023
Y1 - 2023
N2 - The development of programmable switches such as the Intel Tofino has allowed network designers to implement a wide range of new in-network applications and network control logic. However, current switch programming languages, like P4, operate at a very low level of abstraction. This paper introduces SwitchLog, a new experimental logic programming language designed to lift the level of abstraction at which network programmers operate, while remaining amenable to efficient implementation on programmable switches. SwitchLog is inspired by previous distributed logic programming languages such as NDLog, in which programmers declare a series of facts, each located at a particular switch in the network. Logic programming rules that operate on facts at different locations implicitly generate network communication, and are updated incrementally, as packets pass through a switch. In order to ensure these updates can be implemented efficiently on switch hardware, SwitchLog imposes several restrictions on the way programmers can craft their rules. We demonstrate that SwitchLog can be used to express a variety of networking applications in a mere handful of lines of code.
AB - The development of programmable switches such as the Intel Tofino has allowed network designers to implement a wide range of new in-network applications and network control logic. However, current switch programming languages, like P4, operate at a very low level of abstraction. This paper introduces SwitchLog, a new experimental logic programming language designed to lift the level of abstraction at which network programmers operate, while remaining amenable to efficient implementation on programmable switches. SwitchLog is inspired by previous distributed logic programming languages such as NDLog, in which programmers declare a series of facts, each located at a particular switch in the network. Logic programming rules that operate on facts at different locations implicitly generate network communication, and are updated incrementally, as packets pass through a switch. In order to ensure these updates can be implemented efficiently on switch hardware, SwitchLog imposes several restrictions on the way programmers can craft their rules. We demonstrate that SwitchLog can be used to express a variety of networking applications in a mere handful of lines of code.
KW - Data plane programming
KW - Datalog
KW - Logic programming
KW - P4
KW - Programmable networks
UR - http://www.scopus.com/inward/record.url?scp=85148684916&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=85148684916&partnerID=8YFLogxK
U2 - 10.1007/978-3-031-24841-2_12
DO - 10.1007/978-3-031-24841-2_12
M3 - Conference contribution
AN - SCOPUS:85148684916
SN - 9783031248405
T3 - Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
SP - 180
EP - 196
BT - Practical Aspects of Declarative Languages - 25th International Symposium, PADL 2023, Proceedings
A2 - Hanus, Michael
A2 - Inclezan, Daniela
PB - Springer Science and Business Media Deutschland GmbH
Y2 - 16 January 2023 through 17 January 2023
ER -