Automated Optimization of Parameterized Data-Plane Programs With Parasol
Abstract
Programmable data planes allow for sophisticated applications that give operators the power to customize the functionality of their networks. Deploying these applications, however, often requires tedious and burdensome optimization of their layout and design, in which programmers must manually write, compile, and test an implementation, adjust the design, and repeat. In this paper we present Parasol, a framework that allows programmers to define general, parameterized network algorithms and automatically optimize their various parameters. The parameters of a Parasolprogram can represent a wide variety of implementation decisions, and may be optimized for arbitrary, high-level objectives defined by the programmer. Furthermore, optimization may be tailored to particular environments by providing a representative sample of traffic. We show how we implement the Parasolframework, which consists of a sketching language for writing parameterized programs, and a simulation-based optimizer for testing different parameter settings. We evaluate Parasolby implementing a suite of ten data-plane applications, and find that Parasolproduces a solution with comparable performance to hand-optimized P4 code within a two-hour time budget.
Repository Citation
Hogan, Mary, Devon Loehr, John Sonchack, et al. 2025. "Automated Optimization of Parameterized Data-Plane Programs With Parasol." IEEE-ACM Transactions on Networking 33(2).
Publisher
Institute of Electrical and Electronics Engineers
Association for Computing Machinery
Publication Date
4-1-2025
Publication Title
IEEE-ACM Transactions on Networking
Department
Computer Science
Document Type
Conference Proceeding
DOI
https://doi.org/10.1109/TNET.2024.3499833
Keywords
Optimization, Data structures, Flexible printed circuits, Hardware, Servers, Layout, Accuracy, Telemetry, Program processors, Probes, Software defined networking, Data structures, Hardware, P4, Programmable data plane
Language
English
Format
text
