Are you an engineer with a depth of experience in FPGA development who likes to build systems from first principles? We are taking a very ambitious approach with respect to networking: not only have we developed our own compute sled and cabled backplane, we have also developed our own switch, and then the entire stack of software from the lowest levels of firmware to end-user experience — and everything in between! To understand why we’ve taken this steeper path (and the advantages that it affords), listen to the team in its own voice in our Oxide and Friends discussion on rack-scale networking. We are seeking engineers to help us build critical parts of the Oxide Cloud Computer programmable network data plane on soft logic.
As an engineer focused on the soft logic data plane, you will:
Develop VHDL code that underpins a significant portion of the Oxide Cloud Computer network data plane running at terabit speeds.
Design and implement both fixed network functions and programmable soft cores.
Work with operating systems engineers and help to develop drivers for FPGA-based network data plane devices.
Work with compiler engineers to target a P4/Rust-like language to FPGA soft cores.
Work with hardware engineers developing boards and signal paths around FPGA chips.
Develop tooling to accelerate FPGA workflows and integrate FPGA-based systems at the hardware/software interface.
Directly participate in the design and evolution of the overall Oxide network data plane.
You will thrive in this role if you:
Have developed high-speed network functions using FPGAs.
Have a good understanding of Ethernet at the serdes/PCS/MAC level.
Have experience working with PCIe from both the HDL and operating system perspective.
Have a good understanding of TCP/IP networks in terms of the protocols involved and how they interact in the data plane.
Have experience achieving timing closure on very large FPGA designs.
Have experience implementing soft cores.
Have experience with DSP/VLIW processor architectures.
Are energized by the thought of working with a diverse group of hardware, software, networking and operating systems engineers to develop a network data plane through hardware/software codesign.
Produce good documentation and/or written descriptions of your ideas.
Believe that the closed nature of low-level networking is a barrier to progress and want to work with a team breaking down that barrier.
Before applying for this role, you should:
Browse our public Requests for Discussion to get a flavor for how we work.
Listen to Hiring Processes with Gergely Orosz to familiarize yourself with the Oxide hiring process.
Watch Building a Rack Scale Computer with P4 at the Core and DTrace + P4.
Listen to some of our network- and hardware-centric episodes of Oxide and Friends. A few recommendations:
Rack-scale Networking to understand our approach to networking and some of the details of our implementation
The Power of Proto Boards! on how we quickly iterate on board design
The Network Behind the Network on the specific challenges of our service processor network
Transparency in Hardware/Software Interfaces to hear our perspective on what software needs from networking silicon
Bringing up Cosmo on bringing up our AMD Turin-based compute sled