תקציר
Programmable networks support a wide variety of applications, including access control, routing, monitoring, caching, and synchronization. As demand for applications grows, so does resource contention within the switch data plane. Cramming applications onto a switch is a challenging task that often results in non-modular programming, frustrating “trial and error” compile-debug cycles, and suboptimal use of resources. In this paper, we present P4All, an extension of P4 that allows programmers to define elastic data structures that stretch automatically to make optimal use of available switch resources. These data structures are defined using symbolic primitives (that parameterize the size and shape of the structure) and objective functions (that quantify the value gained or lost as that shape changes). A top-level optimization function specifies how to share resources amongst data structures or applications. We demonstrate the inherent modularity and effectiveness of our design by building a range of reusable elastic data structures including hash tables, Bloom filters, sketches, and key-value stores, and using those structures within larger applications. We show how to implement the P4All compiler using a combination of dependency analysis, loop unrolling, linear and non-linear constraint generation, and constraint solving. We evaluate the compiler's performance, showing that a range of elastic programs can be compiled to P4 in few minutes at most, but usually less.
שפה מקורית | אנגלית |
---|---|
כותר פרסום המארח | Proceedings of the 19th USENIX Symposium on Networked Systems Design and Implementation, NSDI 2022 |
מוציא לאור | USENIX Association |
עמודים | 193-207 |
מספר עמודים | 15 |
מסת"ב (אלקטרוני) | 9781939133274 |
סטטוס פרסום | פורסם - 2022 |
אירוע | 19th USENIX Symposium on Networked Systems Design and Implementation, NSDI 2022 - Renton, ארצות הברית משך הזמן: 4 אפר׳ 2022 → 6 אפר׳ 2022 |
סדרות פרסומים
שם | Proceedings of the 19th USENIX Symposium on Networked Systems Design and Implementation, NSDI 2022 |
---|
כנס
כנס | 19th USENIX Symposium on Networked Systems Design and Implementation, NSDI 2022 |
---|---|
מדינה/אזור | ארצות הברית |
עיר | Renton |
תקופה | 4/04/22 → 6/04/22 |
הערה ביבליוגרפית
Publisher Copyright:© 2022 by The USENIX Association. All Rights Reserved.