Soul of a New Machine: Rethinking the Server-Side Computer
Talk given at Stanford's EE380 Computer Systems Colloquium on February 26, 2020 on what we're up to at Oxide Computer Company. Video: https://youtu.be/vvZA9n3e5pc
The problem ● There remain good reasons to own and operate one’s own computer! ● But the world has bifurcated: fit-for-purpose infrastructure for hyperscalers; rack-mounted personal computers for everyone else ● Worse, the commercial server world is split between software-agnostic hardware and putatively hardware-agnostic software ● Result is a cobbled-together system that the end-user is left to design, integrate, operate -- and support ● Problems are up and down the stack; we need a new approach
Towards a solution: Hardware/firmware ● We need a real hardware root-of-trust, offering firmware attestation ● We need a fit-to-purpose BMC, with much less surface area ● We need host firmware confined to booting a host operating system ● We need a true rack-scale design in which a top-of-rack switch is co-designed with compute and storage ● We need this in a dense form factor that allows for efficient operation!
Towards a solution: Software ● Rack-scale designs necessitate integrated software: hypervisor, control plane, storage, ToR + API endpoints for both operator and developer ● But the era of proprietary infrastructure software is over: it must be fully open and attested! ● Much of what needs to be built is software, albeit at very low levels (hardware root-of-trust, service processor, boot software, etc.)
Is a solution attainable? ● On the one hand, there is an outrageous amount to be done, with many different problems that need to be solved concurrently... ● But on the other, the solution can be tightly tailored: co-designing hardware with software allows for elimination of false generalities ● And there are several interesting hardware and software trends that make a solution more attainable than it has been historically…
Trends: Hardware components ● The industry has recognized the need to collaborate on a hardware root-of-trust, e.g. Microsoft Cerberus, Google/lowRISC OpenTitan ● The open EDA movement has made FPGA design and implementation easier than ever, e.g. Yosys, Chisel, SpinalHDL, Bluespec ● RISC-V has allowed for free soft cores -- and the end of Moore’s Law has meant that these cores are viable for sophisticated software ● Open firmware is arriving (at long last!) and being encouraged by the Open Compute Project
Trends: System software components ● Infrastructure software is entirely open source: many interesting production-grade components new in just the past few years! ● And -- perhaps surprisingly -- there’s been a very important development in programming languages... ● Rust may be the most important system software development in four decades: if C was portable assembly, Rust is safe C! ● Small Rust-based systems like Tock show particular promise...
Soul of a new computer company ● We started Oxide, a computer company in Emeryville, California ● Raised seed capital end of 2019, ramping team now (Feb. 2020) ● Aiming for functional prototypes in 2021, customer systems in 2022 ● We are looking for like minds and kindred spirits! ● Learn more about Oxide at https://oxide.computer ● Check out our podcast, On the Metal!