Reducing P4 Language’s Voluminosity using Higher-Level Constructs
dc.contributor.author
Gran Alcoz, Albert
dc.contributor.author
Busse-Grawitz, Coralie
dc.contributor.author
Marty, Eric
dc.contributor.author
Vanbever, Laurent
dc.date.accessioned
2023-05-12T13:05:38Z
dc.date.available
2023-01-03T09:24:56Z
dc.date.available
2023-01-11T14:03:18Z
dc.date.available
2023-05-12T13:05:38Z
dc.date.issued
2022-12
dc.identifier.isbn
978-1-4503-9935-7
en_US
dc.identifier.other
10.1145/3565475.3569078
en_US
dc.identifier.uri
http://hdl.handle.net/20.500.11850/589735
dc.description.abstract
Over the last years, P4 has positioned itself as the primary language for data-plane programming. Despite its constant evolution, the P4 language still "suffers" from one significant limitation: the voluminosity of its code. P4 applications easily reach thousands of lines of code, becoming hard to develop, debug, and maintain. The reason is twofold: P4 requires many characters to express individual concepts (verbosity), and it relies on code repetition (lack of parametrization).
Today, P4 users overcome this limitation by relying on templating tools, hand-crafted scripts, and complicated macros. Unfortunately, these methods are not optimal: they make the development process difficult and do not generalize well beyond one codebase.
In this work, we propose reducing the voluminosity of P4 code by introducing higher-level language constructs. We present O4, an extended version of P4, that includes three such constructs: arrays (which group same-type entities together), loops (which reduce simple repetitions), and factories (which enable code parametrization).
We evaluate O4 on several state-of-the-art programs and show how, with respect to P4: (i) it reduces code volumes by up to 80%, (ii) it decreases code verbosity by 44% on average, and (iii) it cuts duplicated code by 60%. We contribute a compiler implementation that provides said benefits with just a 3.5% increase in compilation time.
en_US
dc.language.iso
en
en_US
dc.publisher
Association for Computing Machinery
en_US
dc.subject
P4 language
en_US
dc.subject
programming languages
en_US
dc.subject
programmable networks
en_US
dc.title
Reducing P4 Language’s Voluminosity using Higher-Level Constructs
en_US
dc.type
Conference Paper
dc.date.published
2022-12-06
ethz.book.title
EuroP4 '22: Proceedings of the 5th International Workshop on P4 in Europe
en_US
ethz.pages.start
19
en_US
ethz.pages.end
25
en_US
ethz.event
18th International Conference on emerging Networking EXperiments and Technologies (CoNEXT 2022)
en_US
ethz.event.location
Rome, Italy
en_US
ethz.event.date
December 6-9, 2022
en_US
ethz.identifier.wos
ethz.identifier.scopus
ethz.publication.place
New York, NY
en_US
ethz.publication.status
published
en_US
ethz.leitzahl
ETH Zürich::00002 - ETH Zürich::00012 - Lehre und Forschung::00007 - Departemente::02140 - Dep. Inf.technologie und Elektrotechnik / Dep. of Inform.Technol. Electrical Eng.::02640 - Inst. f. Technische Informatik und Komm. / Computer Eng. and Networks Lab.::09477 - Vanbever, Laurent / Vanbever, Laurent
en_US
ethz.leitzahl.certified
ETH Zürich::00002 - ETH Zürich::00012 - Lehre und Forschung::00007 - Departemente::02140 - Dep. Inf.technologie und Elektrotechnik / Dep. of Inform.Technol. Electrical Eng.::02640 - Inst. f. Technische Informatik und Komm. / Computer Eng. and Networks Lab.::09477 - Vanbever, Laurent / Vanbever, Laurent
en_US
ethz.date.deposited
2023-01-03T09:24:56Z
ethz.source
FORM
ethz.eth
yes
en_US
ethz.availability
Metadata only
en_US
ethz.rosetta.installDate
2023-01-11T14:03:19Z
ethz.rosetta.lastUpdated
2024-02-02T23:07:15Z
ethz.rosetta.versionExported
true
ethz.COinS
ctx_ver=Z39.88-2004&rft_val_fmt=info:ofi/fmt:kev:mtx:journal&rft.atitle=Reducing%20P4%20Language%E2%80%99s%20Voluminosity%20using%20Higher-Level%20Constructs&rft.date=2022-12&rft.spage=19&rft.epage=25&rft.au=Gran%20Alcoz,%20Albert&Busse-Grawitz,%20Coralie&Marty,%20Eric&Vanbever,%20Laurent&rft.isbn=978-1-4503-9935-7&rft.genre=proceeding&rft_id=info:doi/10.1145/3565475.3569078&rft.btitle=EuroP4%20'22:%20Proceedings%20of%20the%205th%20International%20Workshop%20on%20P4%20in%20Europe
Files in this item
Files | Size | Format | Open in viewer |
---|---|---|---|
There are no files associated with this item. |
Publication type
-
Conference Paper [35875]