Building a Rack-Scale Computer with P4 at the Core: Challenges, Solutions, and Practices in Engineering Systems on Programmable Network Processors

This talk will present challenges, solutions, and engineering practices around building distributed systems on top of programmable network hardware through the lens of building the Oxide rack-scale computer. The programmable network processors available today in data center switches and network interface cards present the opportunity for enormous gains in flexibility, efficiency, and comprehensibility - but it's not a free lunch. Leveraging programmable network processors without losing many critical network functions that come for free with more traditional fixed-function network processing units creates new challenges in software development workflows from prototyping to continuous integration and everything in between.

In this talk, I'll cover what we've learned and open source tooling we've developed while delivering a product on top of the Tofino 2 switch processor, what we're gearing up to do at the edge with programmable network interface processors, and how specialized languages for network processing like P4 can fit into everyday development workflows for implementing network infrastructure applications.


Speaker

Ryan Goodfellow

Engineer @Oxide, Working Group Member @P4Lang, Open Source Developer on @illumos

Ryan Goodfellow is an engineer at the Oxide Computer Company, where he works on many aspects of networking, including routing protocol implementations, network programming language compilers, drivers and general infrastructure for networking in the illumos operating system kernel, virtual networking hardware in the Propolis/Bhyve hypervisor and, data plane code in P4. He is also a part of the P4 Portable NIC Architecture (PNA) and Language Design working groups. Prior to joining Oxide, Ryan worked as a computer scientist at the USC Information Sciences Institute, developing network testbeds for networking research and education.

Read more
Find Ryan Goodfellow at:

Date

Wednesday Oct 4 / 01:35PM PDT ( 50 minutes )

Location

Seacliff ABC

Topics

Networking Hardware Compilers P4

Share

From the same track

Session AI/ML

Building Robust and Scalable Intelligent Writing Assistants: Challenges and Opportunities Leveraging GenAI

Wednesday Oct 4 / 11:45AM PDT

Text revision is a complex, iterative process.

Speaker image - Vipul Raheja
Vipul Raheja

Applied Research Scientist @Grammarly Working on Robust and Scalable Intelligent Writing Assistants

Session Edge

Rethinking Connectivity at the Edge: Scaling Fleets of Low-Powered Devices Using NATS.io

Wednesday Oct 4 / 10:35AM PDT

Building distributed systems is hard. Today’s organizations demand their applications be as flexible and resilient as possible.

Speaker image - Jeremy Saenz
Jeremy Saenz

Senior Software Engineer @Synadia Working on NATS.io, Author of Martini, Negroni, Inject & CLI, Previously CPO @Kajabi

Session WebAssembly

Fast, Scalable, Secure: WebAssembly and the Future of Isolation

Wednesday Oct 4 / 03:55PM PDT

We have reached the limits of traditional hardware based isolation technologies such as  virtual machines, containers, and processes.

Speaker image - Tal Garfinkel
Tal Garfinkel

Research Scientist @UC San Diego

Session Hardware

Automating Bare Metal to Improve Your Quality of Life

Wednesday Oct 4 / 02:45PM PDT

Everything we build is built upon a substrate. Even the cloud computing we directly, or indirectly, use every day is built upon a substrate. In computing, we often call this substrate Bare Metal, and the closer you get to it, the more potential you can unlock... if you're willing.

Speaker image - Julia Kreger
Julia Kreger

Senior Principal Software Engineer @Red Hat