• Home
  • Search
  • NAP: Programming Data Planes with Approximate Data Structures
  • Cite Icon1
  • https://doi.org/10.1145/3630047.3630196Copy DOI Icon

NAP: Programming Data Planes with Approximate Data Structures

  • Dec 6, 2023
  • Mengying Pan +3 more
Show More
  • Abstract
  • Literature Map
  • References
  • Citations
  • Similar Papers
Abstract

Many applications that run on programmable data planes rely on approximate data structures, due to insufficient in-network memory. However, programming with approximate data structures is challenging because it requires (1) expertise in streaming algorithms to select the data structures that best match an application's requirements, (2) meticulous configuration to minimize approximation error while fitting within the hardware constraints, and (3) proficiency in the low-level P4 language. To address these issues, we propose NAP, a high-level network programming language. The core of NAP is the versatile approximate dictionary abstraction that captures a wide range of compact data structures, while allowing programmers to simply specify the kinds of error an application can tolerate. We demonstrate the language's expressiveness, conciseness, and efficiency through a variety of network applications, each compiling to P4 for the Intel Tofino in less than a second and featuring 25X--50X fewer lines of code compared to the P4 output. We evaluate an approximate stateful firewall written in NAP with real campus traffic, achieving performance consistent with the predicted accuracy.

Similar Papers
  • Conference Article
  • Citations38

Foundations of computer science

  • Jan 01, 1996
  • Viera K Proulx +2
  • Supplementary Content

Architecting Query Compilers for Diverse Workloads

  • Jun 10, 2019
  • Figshare
  • Ruby Y Tahboub
  • Research Article
  • Citations30

Security types preserving compilation

  • Sep 29, 2005
  • Computer Languages, Systems & Structures
  • Gilles Barthe +2
  • Research Article
  • Citations16

A memory-efficient data structure representing exact-match overlap graphs with application for next-generation DNA assembly

  • Jun 02, 2011
  • Bioinformatics
  • Hieu Dinh +1
  • Research Article
  • Citations36

Scalable and queryable compressed storage structure for raster data

  • Oct 18, 2017
  • Information Systems
  • Susana Ladra +2
  • Book Chapter
  • Citations14

A Compact Topological DBMS Data Structure For 3D Topography

  • Jan 01, 2007
  • Friso Penninga +1
  • Research Article
  • Citations1260

Improving network management with software defined networking

  • Feb 01, 2013
  • IEEE Communications Magazine
  • Hyojoon Kim +1
  • Research Article
  • Citations3

Expanded design procedures for learnable, usable interfaces (panel session)

  • Apr 01, 1985
  • ACM SIGCHI Bulletin
  • Judith Reitman Olson
  • Conference Article

Expressive genetic programming

  • Jul 06, 2013
  • Lee Spector
  • Conference Article

Expressive genetic programming

  • Jul 07, 2012
  • Lee Spector
  • Conference Article
  • Citations44

The case for an intermediate representation for programmable data planes

  • Jun 17, 2015
  • Muhammad Shahbaz +1
  • Conference Article
  • Citations11

High-level Programming via Generalized Planning and LTL Synthesis

  • Jul 01, 2020
  • Blai Bonet +4
  • Conference Article
  • Citations103

Optimizing data structures in high-level programs

  • Jan 23, 2013
  • Tiark Rompf +8
  • Conference Article
  • Citations58

Removing Roadblocks from SDN: OpenFlow Software Switch Performance on Intel DPDK

  • Oct 01, 2013
  • Gergely Pongracz +2
  • Research Article
  • Citations249

Effective Extensible Programming: Unleashing Julia on GPUs

  • Dec 08, 2017
  • IEEE Transactions on Parallel and Distributed Systems
  • Tim Besard +2
Cactus Communications logo

Copyright 2026 Cactus Communications. All rights reserved.