newsfilter.io
Interview

The Network as a Program with Nate Foster

  • Speaker Profile & Background: Nate Foster is a professor at EPFL and a visiting researcher at Jane Street, focusing on the intersection of programming languages and networking.

    • He began as a physics major ("failed physics major") before switching to computer science during college due to a preference for human-designed abstractions and the ability to trace code from high-level logic down to gates.
    • His research origin story involves a summer project on adding polymorphism (generics) to Java; the proposal he worked on under Kim Bruce was not adopted, while the design by Phil Wadler and Martin Odersky (GJ) was selected by Sun Microsystems through a community process.
    • His PhD work at Penn under Benjamin Pierce centered on "lenses," an abstraction for bidirectional data conversion discovered during the "Harmony" file synchronization project, which became a foundational concept in functional programming (e.g., Haskell).
  • Transition to Networking: Foster moved from academia to a postdoc at Princeton working with Jen Rexford and Dave Walker, effectively taking a "leap of faith" into networking without prior domain expertise.

    • This shift marked 15 years of research at the intersection of programming languages and networking, driven by the rise of Software-Defined Networking (SDN).
    • The "network as a program" paradigm emerged from hyperscalers needing to manage complexity at scale, allowing networks to be defined by software rather than static hardware configurations or slow-moving standards bodies.
  • Research Framework & "Netcat":

    • Foster's team developed Netcat, a Domain Specific Language (DSL) for describing the forwarding plane of networks (packet processing), distinct from the control plane or end-host protocols.
    • Netcat aligns closely with CAT (Calculus with Tests), a high-level mathematical framework for imperative programming dating back to the 1950s.
      • This alignment allows the application of formal language theory (finite automata, Kleene algebra) to verify network behaviors.
    • The framework supports a probabilistic extension to model uncertain network conditions, such as traffic loads and randomized load-balancing algorithms.
    • Core Philosophy: Innovation should be driven by software engineering culture (version control, code review, testing) applied to networking, treating the network as a distributed program where changes are vetted before deployment.
  • Industry Engagement & Hardware:

    • Foster spent a sabbatical at Barefoot Networks (now Intel/Fortinet) to deepen his understanding of programmable hardware and switch pipelines.
    • This experience led to the concept of in-network computing, where routers perform complex functions (parsing, stateful processing, caching) rather than just forwarding packets.
      • This remains controversial due to the "end-to-end principle," which argues networks should remain simple, but Foster believes it is inevitable for ML fabrics and specific data center workloads.
    • P4 Language: Foster was involved in the community effort to design P4, a language exposing the internal pipeline structure of switches to enable fine-grained customization, succeeding earlier efforts like OpenFlow that were too abstract for high-speed hardware.
  • Jane Street & Butane Project:

    • At Jane Street, Foster is working on Butane, a system to migrate the firm's wide-area network from manual BGP configuration to high-level policy specifications.
    • Problem: Traditional BGP configuration is error-prone and hard to reason about at scale; changing routes often requires manual edits across thousands of routers.
    • Solution: Butane compiles a centralized, high-level policy (specifying latency requirements and traffic classes) into distributed BGP configurations for individual routers.
    • Key Features of Butane:
      • Verification & Visualization: Tools allow engineers to simulate "what-if" scenarios (e.g., link failures) and visualize latency changes before deployment.
      • Operational Safety: The system includes rigorous testing and mathematical modeling to ensure the compiled BGP code behaves as expected.
      • Adoption: Network engineers prefer the tooling and visualization over the raw configuration changes, enabling confident, large-scale network modifications.
      • Future Directions: Exploration of capacity planning (buying fiber links) and program synthesis to automatically suggest configuration changes that satisfy constraints.
  • Theoretical & Academic Implications:

    • Foster is applying algebraic approaches (e.g., Routing Algebras) to BGP semantics to create general-purpose building blocks for policy DSLs.
    • This algebraic approach allows for the composition of different policy dimensions (e.g., latency + bandwidth) and formal analysis of convergence properties to prevent oscillation.
    • Multicast: While multicast has diminished in general public networks due to control plane complexity, Foster notes it remains critical and underutilized in high-frequency trading and internal financial networks, where small numbers of channels make it viable.
    • Philosophy on Failure: Foster advocates for academic and industrial environments that accept "wild" experiments and failure as necessary for progress, citing the NINES conference (devoted to new, potentially risky ideas) and the need to occasionally break orthodoxy (e.g., the end-to-end principle) when constraints shift.
  • Observations on Industry vs. Academia:

    • The networking community is characterized by a tight feedback loop between academia, hyperscalers, and hardware vendors, allowing research to reach production faster than in traditional programming languages.
    • Financial networks offer unique constraints (e.g., extreme latency sensitivity, specific multicast needs) that can lead to novel solutions distinct from cloud environments.
    • Foster values the Jane Street environment for its "do what works" culture, homegrown tooling, and the ability to iterate on large-scale systems with immediate impact.