Conference Presentation, Fireside Chat, Panel
Bryan Cantrill: Andreessen’s Folly - The False Dichotomy of Software and Hardware
Jane StreetBryan Cantrill, Andreessen, Alan Kay, Jonathan Gruber, Trevor Johnsen, Tred Wansell, Jermaine
Critique of "Software Eating the World" Thesis
- Marc Andreessen's 2011 essay is characterized as reductive, conflating innovation with new company formation and software consumption with software development.
- The speaker identifies a false dichotomy in the essay that denigrates hardware as low-margin commodity and suggests software and hardware are disjointed, calling this the "false folly."
- The speaker argues that while the essay correctly identified the low cost of cloud infrastructure (dropping from $150k to $1,500/month for hosting between 2000 and 2011), its predictions for specific "eaters" like Shutterfly, Snapfish, and Flickr were incorrect.
- Andreessen's predictions that healthcare and education would be disrupted by "new company formation" analogous to Groupon or Zynga have not materialized in the predicted form.
- The speaker posits that true innovation often stems from established companies and requires abiding by system constraints rather than "moving fast and breaking things."
Definition and Nature of Software
- Arthur Whitney, creator of the K language, analogized software to "poetry," emphasizing aesthetic brevity and craft over mere instruction sets.
- The speaker defines software as having the properties of both information and machine, possessing "zero cost of goods sold" and extraordinary staying power that outlives hardware.
- The boundary between hardware and software is described as mutable, citing examples like immutable firmware in mask ROM and reconfigurable FPGAs.
- Historical persistence of software is highlighted by the Y2K bug, where legacy systems like the IBM 1401 (dating to the early 1960s) remained in production via emulation chains.
- A specific Y2K bug involving the Unix
at + n monthscommand caused jobs targeting February 29, 2000, to execute on March 1 due to month-end overflow logic.
Oxide's Hardware-Software Co-Design Strategy
- Oxide abandoned the industry-standard Baseboard Management Controller (BMC) in favor of a custom service processor to eliminate a layer of proprietary, problematic firmware.
- The company developed its own operating system, "Hubris," and a debugger named "Humility," rejecting the UEFI/BIOS boot chain.
- Oxide eliminated UEFI, which the speaker describes as "MS-DOS circa 2099," and instead controls the first instruction directly to holistically boot the system without "sending the system backwards."
- The decision to choose AMD over Intel was made in 2019 based on the belief that Intel was facing existential issues, resulting in tight integration with AMD silicon.
- Oxide designed its own compute sleds, rack designs, and switch fabrics to avoid the "garbage" of commoditized reference designs.
- The speaker claims that controlling the lowest layers of the stack, despite being harder initially, resulted in a faster path to production reliability compared to relying on external vendors.
Debugging and System Failures
- Oxide encountered a CPU reset loop caused by a vendor firmware bug in a Renesas voltage regulator, where the CPU expected a "VTOF complete" packet that the regulator failed to send.
- A NIC (Network Interface Card) failure was traced to a 19-year-old bug in the Broadcom firmware that caused transient training failures unless a "double-purged" (double reset) sequence was issued.
- A drive reset issue on the "SLED 19" was caused by a 3% failure rate in Intermediate Bus Converters (IBCs) where voltage dipped from 12V to 8V for 1.5ms, triggering drive resets.
- The speaker noted that hardware variability (e.g., resistor/capacitor tolerances) introduces a level of unpredictability absent in pure software, leading to "ghost" issues in systems not holistically co-designed.
- The speaker argues that co-design allows teams to avoid "Poltergeists" and "bad juju" by maintaining control over the entire stack, including low-level power management and boot sequences.
Future Roadmap and Open Source Commitments
- Oxide plans to develop its own NIC accelerator sled, utilizing Xilinx AMD Versal 2 parts with hard blocks that allow for custom software control.
- The company intends to build its own compiler for Tofino switches, moving away from Intel's proprietary P4 compiler, starting with the X2 part which provides full ISA documentation.
- Oxide aims to push for open-source firmware at all stack levels, specifically targeting SSD firmware and NIC firmware, which currently lack open-source alternatives.
- The company will continue using FPGAs for high-speed networking but notes that HDL (Hardware Description Language) remains difficult compared to safe programming languages like Rust.
- Oxide is exploring ASIC design for the "Root of Trust" and security silicon, though the speaker notes the high barrier to entry involving proprietary EDA tools from Cadence and Synopsys.
Strategic Stance on GPUs and Accelerators
- Oxide faces a choice between partnering with NVIDIA (viewed as a "proprietary island") or competing with them (viewed as "death"), currently seeking a "third door" with more transparent partners.
- The speaker highlights that current GPU failure rates for training are "shocking" and lacks the robustness required for data centers, necessitating better reliability from partners.
- Oxide is interested in RISC-V soft cores to sit in front of inference accelerators to improve efficiency and transparency.
- The speaker advocates for open silicon initialization (OpenCILL), noting that while Oxide won't use OpenCILL directly, it enables the company to open-source its own platform layer without vendor permission.
- Future capabilities enabled by co-design include dynamic power capping per rack, true multi-tenant support for accelerators, and end-to-end observability from the application layer down to the silicon.