SlideShare a Scribd company logo
1 of 49
Download to read offline
Hardware/Software Co-design:
The Coming Golden Age
Bryan Cantrill
Oxide Computer Company
The hardware/software divide
● The shift to public cloud computing over the last fifteen years has
allowed software and hardware to become disconnected
● On the one hand, this can be empowering: a SaaS offering can be built
with no real understanding of the hardware beneath it
● But there’s a risk of taking software-centric thinking too far -- and
drawing the mistaken conclusion that hardware is irrelevant (or worse)
● This overshot in thinking is epitomized by Marc Andreessen’s 2011
essay, “Why Software is Eating the World”
Revisiting Andreessen
● Certainly, the essay makes an important observation on the importance
of software in essentially every domain:
Revisiting Andreessen
● And the effect of Moore’s Law + open source + public cloud computing
has indisputably lowered the cost of delivering software:
Revisiting Andreessen
● But the essay errs in fetishizing software, mistakenly viewing extant
industries as likely to be disrupted by SaaS alone:
Revisiting Andreessen
● Software is important -- but the essay conflates software companies
with companies that in fact integrate software and hardware
● Companies that Andreessen cited that have thrived -- Amazon, Google,
etc. -- have very significant hardware components!
● Many software-only companies that are cited have disappointed:
Zynga, Rovio, Groupon, LivingSocial, Foursquare
● Andreessen is dismissive of Apple (up 15X) -- and entirely ignores
companies like NVIDIA (57X), AMD (14X), or even Intel (3X)!
Revisiting Andreessen
Revisiting another famous essay
Gordon Moore, ca. 1965
Gordon Moore, ca. 1965
Gordon Moore, ca. 1965
Gordon Moore, ca. 1965
Moore’s Law?
Gordon Moore, ca. 1965
Moore’s Law!
Gordon Moore, ca. 1965
Moore’s Law?!
So… Moore’s Law?
● In his 1965 paper, there is no Moore’s Law per se — just a bunch of
incredibly astute and prescient observations
● The term “Moore’s Law” would be coined by Carver Mead in 1971 as
part of his work on determining ultimate physical limits
● Moore updated the law in 1975 to be a doubling of transistor density
every two years (Denard scaling would be outlined in detail in 1974)
● For many years, Moore’s Law could be inferred to be doublings of
transistor density, speed, and economics
Moore’s Law: Good old days?
● The 1980s and early 1990s were great for Moore’s Law — so much so
that computers needed a “turbo button” to counteract its effects (!!)
● But even in those halcyon years, Moore’s Law was leaving DRAM
behind: memory was becoming denser but no faster
● An increasing number of workloads began hitting the memory wall
● Caching was necessary but insufficient...
Moore’s Law: The memory wall
● By the mid-1990s, it had become clear that symmetric multiprocessing
was the path to deliver throughput on multi-threaded workloads
● ...but SMP did nothing for single-threaded performance
● Deep pipelining and VLIW were — largely — failed experiments
● For single-threaded workloads, microprocessors turned to out-of-order
and speculative execution to hide memory latency
● Even in simpler times, scaling with Moore’s Law was a challenge!
Moore’s Law: Architectural shifts
● Denard scaling ended in ~2006 due to current leakage…
● ...but by then chip multiprocessing was clearly the trajectory
● CMP was enhanced by simultaneous multithreading (SMT), which
offered up to another factor of two on throughput
● Thanks to the earlier software work on SMP, CMP/SMT was less of a
software performance apocalypse than some feared — but more of a
security apocalypse than anyone anticipated!
● And “dark silicon” greatly limits CMP!
Moore’s Law: Deceleration
● In August 2018, GlobalFoundries suddenly stopped 7nm development,
citing economics -- it was simply too expensive to stay competitive
● GlobalFoundries’ departure left TSMC and Samsung on 7nm -- and Intel
on 14nm, struggling to get to 10nm
● Intel’s Cannon Lake was three years late and an unmitigated disaster --
and for Ice Lake/Cascade Lake, Intel is intermixing 14nm and 10nm
● Moving to 3nm/5nm requires moving beyond FinFETs to GAAFETs --
and to EUV photolithography; new nodes are very expensive!
Aside: Process nodes
● You may well wonder: when a process node is “7nm” or “5nm”, what
exactly is seven nanometers or five nanometers long? (And, um, how big
is a silicon atom anyway?)
● Answer to the second question: ~210 picometers!
● Answer to the first question: nothing! Unbelievably, the name of the
process node no longer measures anything at all (!!) -- it is merely a
rough expression of transistor density (and implication of process)
● E.g. 7nm ≈ 100MTr/mm2
(but there are lots of caveats)
Moore’s Law
● Increased transistor density is continuing to be possible, but at a greatly
slowed pace -- and at outsized cost
● Economically, Moore’s Law is indisputably ending
● But is there another way of looking at it?
Another essay, further back in time...
Theodore Wright, ca. 1936
Wright’s Law
● In 1936, Theodore Wright studied the costs of aircraft manufacturing,
finding that the cost dropped with experience
● Over time, when volume doubled, unit costs dropped by 10-15%
● This phenomenon has been observed in other technological domains
● In 2013, Jessika Trancik et al. found Wright’s Law to hold better
predictive power for transistor cost than Moore’s Law!
● Wright’s Law seems to hold, especially for older process nodes
Wright on market creation
Wright foreshadowing Moore
One final essay...
W. Stanley Jevons, ca. 1865
W. Stanley Jevons, ca. 1865
Jevons foreshadowing Wright
Aside: Never say “never”
Aside: A contemporary weighs in on Jevons?
Back to computing!
● Andreessen’s 2011 piece, while containing some truisms, is overly
software-centric and misses hardware’s role entirely
● Moore’s Law -- while prescient! -- is indisputably slowing
● Wright’s Law, however, may still be holding for transistors -- especially
at older processing nodes (22nm, 40nm, 90nm, etc.)
● The Jevons Paradox has proven again and again to apply to computing:
when general purpose computation is cheaper, we find more to do
● We can expect more computation in more places
Compute everywhere?
● More computation doesn’t just mean computers in new places (à la IoT),
it means CPUs present where we once thought of components
● E.g., open 32-bit CPUs replacing hidden, closed 8-bit microcontrollers
● We are already seeing CPUs on the NIC (SmartNIC), CPUs next to flash
(e.g., open-channel SSD) and on the spindle (e.g. WD’s SweRV)
● New opportunities for hardware/software co-design: keep hardware
simple and put more sophistication into software and/or soft logic
● There are several trends acting as accelerants for this shift...
Open instruction sets
● X86 and ARM -- the two market victors -- are both encumbered by
history and licensing
● RISC-V is an attempt to learn from the ISA mistakes of the past, in a
vessel that is entirely open and -- with open implementations
● RISC-V is very promising, but there remain many gaps to close
● To succeed, RISC-V must focus as much on the SoC as the ISA -- while
remaining entirely open!
Open FPGAs
● FPGA bitstreams have historically been entirely proprietary -- and one
is therefore dependent upon proprietary tools to generate them
● The Lattice iCE40 bitstream format was reverse engineered in 2015 by
Claire Wolf, and can be entirely synthesized with an open toolchain!
● While Xilinx (AMD) and Alterra (Intel) retain proprietary components
(e.g., for timing models), newcomers like QuickLogic are entirely open
● See, e.g., SymbiFlow, Verilog to Routing (VTR), Yosys, OpenFPGA, and
the (new!) Open Source FPGA Foundation
Open HDLs
● Hardware description languages have traditionally been dominated by
Verilog and (later) SystemVerilog
● Compilers have been historically proprietary -- and the languages
themselves are error prone
● In recent years we have seen a wave of new, open HDLs, e.g.: Chisel,
nMigen, Bluespec, SpinalHDL, Mamba (PyMTL 3), HardCaml
● Of these, one is particularly noteworthy...
Open HDL: Bluespec
● Bluespec is a high-level HDL that takes its inspiration from formal
specification languages -- and strongly typed languages like Haskell
● Bluespec uses the expressiveness of the language to move away from
individual signals -- and to atomic rules and interfaces
● This allows for the compiler to do the hard work of connecting modules
and proving correctness, greatly reducing verification time!
● In the words of Oxide engineer Arjen Roodselaar, “Bluespec is to
SystemVerilog what Rust is to assembly”
Open HDL: Bluespec
● Bluespec was proprietary for 20 years; open sourced in early 2020!
● We at Oxide feel that Bluespec is a profoundly transformative
technology -- but not one that is broadly understood or appreciated!
● More details:
○ https://github.com/B-Lang-org/Documentation
○ https://github.com/B-Lang-org/bsc
○ https://github.com/oxidecomputer/cobalt
Open source EDA
● Proprietary software has historically dominated EDA…
● Open source alternatives have existed for years -- but one in particular,
KiCad, has enjoyed sufficiently broad sponsorship to close the gaps with
professional-grade software
● The maturity of KiCad coupled with the rise of quick turn PCB
manufacturing/assembly has allowed for astonishing speed:
○ From conception to manufacturer in hours
○ From manufacturer to shipping board in days
Board economics
● Single board computers are very accessible!
○ An STM32 Nucleo-144 board with 400 MHz Cortex M7 CPU + 2
MB of flash + 1 MB of RAM + all I/O peripherals for less than $30
○ A BeagleBone Black -- with 1 GHz Cortex A8 CPU + 4 GB of flash +
512 MB DDR3 + HDMI for less than $60!
● All documentation available online and without NDA -- and the
BeagleBone Black is (nearly) entirely open
● The BeagleBone Black can also be used as a logic analyzer via sigrok
Open source firmware
● The software that runs closest to the hardware is increasingly open,
with drivers nearly (nearly!) always open
● Increasingly, we are seeing the firmware of unseen parts of the system
become open as well, viz. the Open Source Firmware Conference
● This trend is slower in the 7nm SoCs -- but it’s happening!
● However, even in putatively open architectures, there generally still
remains proprietary software in the form of boot ROMs -- and this
proprietary software remains a problem!
Embedded Rust
● Rust has proven to be a revolution for systems software: rich type
system, algebraic types, ownership model allow for fast, correct code
● Slightly more surprising has been Rust’s ability to get small -- which
coupled with its lack of a runtime lets it fit everywhere!
● With its safety and expressive power, Rust represents a quantum leap
over C -- and without losing performance or sacrificing size
● We at Oxide are working on a de novo Rust operating system for the
embedded use case that we will (naturally?) open source; stay tuned!
To sum...
“That changed everything”
A new Golden Age!
● Thanks to Moore’s Law, Wright’s Law and the rise of open source, it is
easier to build hardware than ever before!
● We are going to see computers in many more places, posing challenges
to us all to develop reliable, secure, high performing systems
● Software remains essential, but we must not think of it in isolation; we
must co-design the hardware and the software in our systems!
● The systems are open, the communities are welcoming! Let’s build!

More Related Content

Similar to Hardware/software Co-design: The Coming Golden Age

Rust, Wright's Law, and the Future of Low-Latency Systems
Rust, Wright's Law, and the Future of Low-Latency SystemsRust, Wright's Law, and the Future of Low-Latency Systems
Rust, Wright's Law, and the Future of Low-Latency SystemsScyllaDB
 
Moore's Law Observations from 2009
Moore's Law Observations from 2009Moore's Law Observations from 2009
Moore's Law Observations from 2009Sameħ Galal
 
Things to come - possible futures for electronics
Things to come - possible futures for electronicsThings to come - possible futures for electronics
Things to come - possible futures for electronicschrised
 
Our Concurrent Past; Our Distributed Future
Our Concurrent Past; Our Distributed FutureOur Concurrent Past; Our Distributed Future
Our Concurrent Past; Our Distributed FutureC4Media
 
Long Life Software
Long Life SoftwareLong Life Software
Long Life SoftwareMike Long
 
Risc cisc Difference
Risc cisc DifferenceRisc cisc Difference
Risc cisc DifferenceSehrish Asif
 
1 lost layer130123
1 lost layer1301231 lost layer130123
1 lost layer130123ARCFIRE ICT
 
invited speech at Ge2013, Udine 2013
invited speech at Ge2013, Udine 2013 invited speech at Ge2013, Udine 2013
invited speech at Ge2013, Udine 2013 Roberto Siagri
 
Oopstreaming
Oopstreaming   Oopstreaming
Oopstreaming Linaro
 
Ch-1-Introduction to Computers.ppt.pptx
Ch-1-Introduction to Computers.ppt.pptxCh-1-Introduction to Computers.ppt.pptx
Ch-1-Introduction to Computers.ppt.pptxDrKBManwade
 
The Coming Age of Extreme Heterogeneity in HPC
The Coming Age of Extreme Heterogeneity in HPCThe Coming Age of Extreme Heterogeneity in HPC
The Coming Age of Extreme Heterogeneity in HPCinside-BigData.com
 
RINA Tutorial @ IEEE Globecom 2014
RINA Tutorial @ IEEE Globecom 2014RINA Tutorial @ IEEE Globecom 2014
RINA Tutorial @ IEEE Globecom 2014Eleni Trouva
 
Sol linux cmg-t_1_1.pptx
Sol linux cmg-t_1_1.pptxSol linux cmg-t_1_1.pptx
Sol linux cmg-t_1_1.pptxBob Sneed
 
Computing Without Computers - Oct08
Computing Without Computers - Oct08Computing Without Computers - Oct08
Computing Without Computers - Oct08Ian Page
 
ICT assignment.pptx
ICT assignment.pptxICT assignment.pptx
ICT assignment.pptxSourabYadav1
 
Why Cloud Computing has to go the FOSS way
Why Cloud Computing has to go the FOSS wayWhy Cloud Computing has to go the FOSS way
Why Cloud Computing has to go the FOSS wayAhmed Mekkawy
 
Scylla Summit 2022: Predicting the Past
Scylla Summit 2022: Predicting the PastScylla Summit 2022: Predicting the Past
Scylla Summit 2022: Predicting the PastScyllaDB
 
“A New Golden Age for Computer Architecture: Processor Innovation to Enable U...
“A New Golden Age for Computer Architecture: Processor Innovation to Enable U...“A New Golden Age for Computer Architecture: Processor Innovation to Enable U...
“A New Golden Age for Computer Architecture: Processor Innovation to Enable U...Edge AI and Vision Alliance
 

Similar to Hardware/software Co-design: The Coming Golden Age (20)

Rust, Wright's Law, and the Future of Low-Latency Systems
Rust, Wright's Law, and the Future of Low-Latency SystemsRust, Wright's Law, and the Future of Low-Latency Systems
Rust, Wright's Law, and the Future of Low-Latency Systems
 
Moore's Law Observations from 2009
Moore's Law Observations from 2009Moore's Law Observations from 2009
Moore's Law Observations from 2009
 
Things to come - possible futures for electronics
Things to come - possible futures for electronicsThings to come - possible futures for electronics
Things to come - possible futures for electronics
 
Our Concurrent Past; Our Distributed Future
Our Concurrent Past; Our Distributed FutureOur Concurrent Past; Our Distributed Future
Our Concurrent Past; Our Distributed Future
 
Long Life Software
Long Life SoftwareLong Life Software
Long Life Software
 
Risc cisc Difference
Risc cisc DifferenceRisc cisc Difference
Risc cisc Difference
 
1 lost layer130123
1 lost layer1301231 lost layer130123
1 lost layer130123
 
invited speech at Ge2013, Udine 2013
invited speech at Ge2013, Udine 2013 invited speech at Ge2013, Udine 2013
invited speech at Ge2013, Udine 2013
 
Oopstreaming
Oopstreaming   Oopstreaming
Oopstreaming
 
Ch-1-Introduction to Computers.ppt.pptx
Ch-1-Introduction to Computers.ppt.pptxCh-1-Introduction to Computers.ppt.pptx
Ch-1-Introduction to Computers.ppt.pptx
 
The Coming Age of Extreme Heterogeneity in HPC
The Coming Age of Extreme Heterogeneity in HPCThe Coming Age of Extreme Heterogeneity in HPC
The Coming Age of Extreme Heterogeneity in HPC
 
PRESENTATION.pdf
PRESENTATION.pdfPRESENTATION.pdf
PRESENTATION.pdf
 
RINA Tutorial @ IEEE Globecom 2014
RINA Tutorial @ IEEE Globecom 2014RINA Tutorial @ IEEE Globecom 2014
RINA Tutorial @ IEEE Globecom 2014
 
Sol linux cmg-t_1_1.pptx
Sol linux cmg-t_1_1.pptxSol linux cmg-t_1_1.pptx
Sol linux cmg-t_1_1.pptx
 
3rd generation computer
3rd generation computer3rd generation computer
3rd generation computer
 
Computing Without Computers - Oct08
Computing Without Computers - Oct08Computing Without Computers - Oct08
Computing Without Computers - Oct08
 
ICT assignment.pptx
ICT assignment.pptxICT assignment.pptx
ICT assignment.pptx
 
Why Cloud Computing has to go the FOSS way
Why Cloud Computing has to go the FOSS wayWhy Cloud Computing has to go the FOSS way
Why Cloud Computing has to go the FOSS way
 
Scylla Summit 2022: Predicting the Past
Scylla Summit 2022: Predicting the PastScylla Summit 2022: Predicting the Past
Scylla Summit 2022: Predicting the Past
 
“A New Golden Age for Computer Architecture: Processor Innovation to Enable U...
“A New Golden Age for Computer Architecture: Processor Innovation to Enable U...“A New Golden Age for Computer Architecture: Processor Innovation to Enable U...
“A New Golden Age for Computer Architecture: Processor Innovation to Enable U...
 

More from bcantrill

Predicting the Present
Predicting the PresentPredicting the Present
Predicting the Presentbcantrill
 
Sharpening the Axe: The Primacy of Toolmaking
Sharpening the Axe: The Primacy of ToolmakingSharpening the Axe: The Primacy of Toolmaking
Sharpening the Axe: The Primacy of Toolmakingbcantrill
 
Coming of Age: Developing young technologists without robbing them of their y...
Coming of Age: Developing young technologists without robbing them of their y...Coming of Age: Developing young technologists without robbing them of their y...
Coming of Age: Developing young technologists without robbing them of their y...bcantrill
 
I have come to bury the BIOS, not to open it: The need for holistic systems
I have come to bury the BIOS, not to open it: The need for holistic systemsI have come to bury the BIOS, not to open it: The need for holistic systems
I have come to bury the BIOS, not to open it: The need for holistic systemsbcantrill
 
Towards Holistic Systems
Towards Holistic SystemsTowards Holistic Systems
Towards Holistic Systemsbcantrill
 
Andreessen's Corollary: Ethical Dilemmas in Software Engineering
Andreessen's Corollary: Ethical Dilemmas in Software EngineeringAndreessen's Corollary: Ethical Dilemmas in Software Engineering
Andreessen's Corollary: Ethical Dilemmas in Software Engineeringbcantrill
 
Visualizing Systems with Statemaps
Visualizing Systems with StatemapsVisualizing Systems with Statemaps
Visualizing Systems with Statemapsbcantrill
 
Platform values, Rust, and the implications for system software
Platform values, Rust, and the implications for system softwarePlatform values, Rust, and the implications for system software
Platform values, Rust, and the implications for system softwarebcantrill
 
dtrace.conf(16): DTrace state of the union
dtrace.conf(16): DTrace state of the uniondtrace.conf(16): DTrace state of the union
dtrace.conf(16): DTrace state of the unionbcantrill
 
The Hurricane's Butterfly: Debugging pathologically performing systems
The Hurricane's Butterfly: Debugging pathologically performing systemsThe Hurricane's Butterfly: Debugging pathologically performing systems
The Hurricane's Butterfly: Debugging pathologically performing systemsbcantrill
 
Papers We Love: ARC after dark
Papers We Love: ARC after darkPapers We Love: ARC after dark
Papers We Love: ARC after darkbcantrill
 
Principles of Technology Leadership
Principles of Technology LeadershipPrinciples of Technology Leadership
Principles of Technology Leadershipbcantrill
 
Zebras all the way down: The engineering challenges of the data path
Zebras all the way down: The engineering challenges of the data pathZebras all the way down: The engineering challenges of the data path
Zebras all the way down: The engineering challenges of the data pathbcantrill
 
Platform as reflection of values: Joyent, node.js, and beyond
Platform as reflection of values: Joyent, node.js, and beyondPlatform as reflection of values: Joyent, node.js, and beyond
Platform as reflection of values: Joyent, node.js, and beyondbcantrill
 
Debugging under fire: Keeping your head when systems have lost their mind
Debugging under fire: Keeping your head when systems have lost their mindDebugging under fire: Keeping your head when systems have lost their mind
Debugging under fire: Keeping your head when systems have lost their mindbcantrill
 
Down Memory Lane: Two Decades with the Slab Allocator
Down Memory Lane: Two Decades with the Slab AllocatorDown Memory Lane: Two Decades with the Slab Allocator
Down Memory Lane: Two Decades with the Slab Allocatorbcantrill
 
Oral tradition in software engineering: Passing the craft across generations
Oral tradition in software engineering: Passing the craft across generationsOral tradition in software engineering: Passing the craft across generations
Oral tradition in software engineering: Passing the craft across generationsbcantrill
 
The Container Revolution: Reflections after the first decade
The Container Revolution: Reflections after the first decadeThe Container Revolution: Reflections after the first decade
The Container Revolution: Reflections after the first decadebcantrill
 
Debugging (Docker) containers in production
Debugging (Docker) containers in productionDebugging (Docker) containers in production
Debugging (Docker) containers in productionbcantrill
 
Papers We Love: Jails and Zones
Papers We Love: Jails and ZonesPapers We Love: Jails and Zones
Papers We Love: Jails and Zonesbcantrill
 

More from bcantrill (20)

Predicting the Present
Predicting the PresentPredicting the Present
Predicting the Present
 
Sharpening the Axe: The Primacy of Toolmaking
Sharpening the Axe: The Primacy of ToolmakingSharpening the Axe: The Primacy of Toolmaking
Sharpening the Axe: The Primacy of Toolmaking
 
Coming of Age: Developing young technologists without robbing them of their y...
Coming of Age: Developing young technologists without robbing them of their y...Coming of Age: Developing young technologists without robbing them of their y...
Coming of Age: Developing young technologists without robbing them of their y...
 
I have come to bury the BIOS, not to open it: The need for holistic systems
I have come to bury the BIOS, not to open it: The need for holistic systemsI have come to bury the BIOS, not to open it: The need for holistic systems
I have come to bury the BIOS, not to open it: The need for holistic systems
 
Towards Holistic Systems
Towards Holistic SystemsTowards Holistic Systems
Towards Holistic Systems
 
Andreessen's Corollary: Ethical Dilemmas in Software Engineering
Andreessen's Corollary: Ethical Dilemmas in Software EngineeringAndreessen's Corollary: Ethical Dilemmas in Software Engineering
Andreessen's Corollary: Ethical Dilemmas in Software Engineering
 
Visualizing Systems with Statemaps
Visualizing Systems with StatemapsVisualizing Systems with Statemaps
Visualizing Systems with Statemaps
 
Platform values, Rust, and the implications for system software
Platform values, Rust, and the implications for system softwarePlatform values, Rust, and the implications for system software
Platform values, Rust, and the implications for system software
 
dtrace.conf(16): DTrace state of the union
dtrace.conf(16): DTrace state of the uniondtrace.conf(16): DTrace state of the union
dtrace.conf(16): DTrace state of the union
 
The Hurricane's Butterfly: Debugging pathologically performing systems
The Hurricane's Butterfly: Debugging pathologically performing systemsThe Hurricane's Butterfly: Debugging pathologically performing systems
The Hurricane's Butterfly: Debugging pathologically performing systems
 
Papers We Love: ARC after dark
Papers We Love: ARC after darkPapers We Love: ARC after dark
Papers We Love: ARC after dark
 
Principles of Technology Leadership
Principles of Technology LeadershipPrinciples of Technology Leadership
Principles of Technology Leadership
 
Zebras all the way down: The engineering challenges of the data path
Zebras all the way down: The engineering challenges of the data pathZebras all the way down: The engineering challenges of the data path
Zebras all the way down: The engineering challenges of the data path
 
Platform as reflection of values: Joyent, node.js, and beyond
Platform as reflection of values: Joyent, node.js, and beyondPlatform as reflection of values: Joyent, node.js, and beyond
Platform as reflection of values: Joyent, node.js, and beyond
 
Debugging under fire: Keeping your head when systems have lost their mind
Debugging under fire: Keeping your head when systems have lost their mindDebugging under fire: Keeping your head when systems have lost their mind
Debugging under fire: Keeping your head when systems have lost their mind
 
Down Memory Lane: Two Decades with the Slab Allocator
Down Memory Lane: Two Decades with the Slab AllocatorDown Memory Lane: Two Decades with the Slab Allocator
Down Memory Lane: Two Decades with the Slab Allocator
 
Oral tradition in software engineering: Passing the craft across generations
Oral tradition in software engineering: Passing the craft across generationsOral tradition in software engineering: Passing the craft across generations
Oral tradition in software engineering: Passing the craft across generations
 
The Container Revolution: Reflections after the first decade
The Container Revolution: Reflections after the first decadeThe Container Revolution: Reflections after the first decade
The Container Revolution: Reflections after the first decade
 
Debugging (Docker) containers in production
Debugging (Docker) containers in productionDebugging (Docker) containers in production
Debugging (Docker) containers in production
 
Papers We Love: Jails and Zones
Papers We Love: Jails and ZonesPapers We Love: Jails and Zones
Papers We Love: Jails and Zones
 

Recently uploaded

The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 

Recently uploaded (20)

The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 

Hardware/software Co-design: The Coming Golden Age

  • 1. Hardware/Software Co-design: The Coming Golden Age Bryan Cantrill Oxide Computer Company
  • 2. The hardware/software divide ● The shift to public cloud computing over the last fifteen years has allowed software and hardware to become disconnected ● On the one hand, this can be empowering: a SaaS offering can be built with no real understanding of the hardware beneath it ● But there’s a risk of taking software-centric thinking too far -- and drawing the mistaken conclusion that hardware is irrelevant (or worse) ● This overshot in thinking is epitomized by Marc Andreessen’s 2011 essay, “Why Software is Eating the World”
  • 3. Revisiting Andreessen ● Certainly, the essay makes an important observation on the importance of software in essentially every domain:
  • 4. Revisiting Andreessen ● And the effect of Moore’s Law + open source + public cloud computing has indisputably lowered the cost of delivering software:
  • 5. Revisiting Andreessen ● But the essay errs in fetishizing software, mistakenly viewing extant industries as likely to be disrupted by SaaS alone:
  • 6. Revisiting Andreessen ● Software is important -- but the essay conflates software companies with companies that in fact integrate software and hardware ● Companies that Andreessen cited that have thrived -- Amazon, Google, etc. -- have very significant hardware components! ● Many software-only companies that are cited have disappointed: Zynga, Rovio, Groupon, LivingSocial, Foursquare ● Andreessen is dismissive of Apple (up 15X) -- and entirely ignores companies like NVIDIA (57X), AMD (14X), or even Intel (3X)!
  • 18. So… Moore’s Law? ● In his 1965 paper, there is no Moore’s Law per se — just a bunch of incredibly astute and prescient observations ● The term “Moore’s Law” would be coined by Carver Mead in 1971 as part of his work on determining ultimate physical limits ● Moore updated the law in 1975 to be a doubling of transistor density every two years (Denard scaling would be outlined in detail in 1974) ● For many years, Moore’s Law could be inferred to be doublings of transistor density, speed, and economics
  • 19. Moore’s Law: Good old days? ● The 1980s and early 1990s were great for Moore’s Law — so much so that computers needed a “turbo button” to counteract its effects (!!) ● But even in those halcyon years, Moore’s Law was leaving DRAM behind: memory was becoming denser but no faster ● An increasing number of workloads began hitting the memory wall ● Caching was necessary but insufficient...
  • 20. Moore’s Law: The memory wall ● By the mid-1990s, it had become clear that symmetric multiprocessing was the path to deliver throughput on multi-threaded workloads ● ...but SMP did nothing for single-threaded performance ● Deep pipelining and VLIW were — largely — failed experiments ● For single-threaded workloads, microprocessors turned to out-of-order and speculative execution to hide memory latency ● Even in simpler times, scaling with Moore’s Law was a challenge!
  • 21. Moore’s Law: Architectural shifts ● Denard scaling ended in ~2006 due to current leakage… ● ...but by then chip multiprocessing was clearly the trajectory ● CMP was enhanced by simultaneous multithreading (SMT), which offered up to another factor of two on throughput ● Thanks to the earlier software work on SMP, CMP/SMT was less of a software performance apocalypse than some feared — but more of a security apocalypse than anyone anticipated! ● And “dark silicon” greatly limits CMP!
  • 22. Moore’s Law: Deceleration ● In August 2018, GlobalFoundries suddenly stopped 7nm development, citing economics -- it was simply too expensive to stay competitive ● GlobalFoundries’ departure left TSMC and Samsung on 7nm -- and Intel on 14nm, struggling to get to 10nm ● Intel’s Cannon Lake was three years late and an unmitigated disaster -- and for Ice Lake/Cascade Lake, Intel is intermixing 14nm and 10nm ● Moving to 3nm/5nm requires moving beyond FinFETs to GAAFETs -- and to EUV photolithography; new nodes are very expensive!
  • 23. Aside: Process nodes ● You may well wonder: when a process node is “7nm” or “5nm”, what exactly is seven nanometers or five nanometers long? (And, um, how big is a silicon atom anyway?) ● Answer to the second question: ~210 picometers! ● Answer to the first question: nothing! Unbelievably, the name of the process node no longer measures anything at all (!!) -- it is merely a rough expression of transistor density (and implication of process) ● E.g. 7nm ≈ 100MTr/mm2 (but there are lots of caveats)
  • 24. Moore’s Law ● Increased transistor density is continuing to be possible, but at a greatly slowed pace -- and at outsized cost ● Economically, Moore’s Law is indisputably ending ● But is there another way of looking at it?
  • 25. Another essay, further back in time...
  • 27. Wright’s Law ● In 1936, Theodore Wright studied the costs of aircraft manufacturing, finding that the cost dropped with experience ● Over time, when volume doubled, unit costs dropped by 10-15% ● This phenomenon has been observed in other technological domains ● In 2013, Jessika Trancik et al. found Wright’s Law to hold better predictive power for transistor cost than Moore’s Law! ● Wright’s Law seems to hold, especially for older process nodes
  • 28. Wright on market creation
  • 31. W. Stanley Jevons, ca. 1865
  • 32. W. Stanley Jevons, ca. 1865
  • 34. Aside: Never say “never”
  • 35. Aside: A contemporary weighs in on Jevons?
  • 36. Back to computing! ● Andreessen’s 2011 piece, while containing some truisms, is overly software-centric and misses hardware’s role entirely ● Moore’s Law -- while prescient! -- is indisputably slowing ● Wright’s Law, however, may still be holding for transistors -- especially at older processing nodes (22nm, 40nm, 90nm, etc.) ● The Jevons Paradox has proven again and again to apply to computing: when general purpose computation is cheaper, we find more to do ● We can expect more computation in more places
  • 37. Compute everywhere? ● More computation doesn’t just mean computers in new places (à la IoT), it means CPUs present where we once thought of components ● E.g., open 32-bit CPUs replacing hidden, closed 8-bit microcontrollers ● We are already seeing CPUs on the NIC (SmartNIC), CPUs next to flash (e.g., open-channel SSD) and on the spindle (e.g. WD’s SweRV) ● New opportunities for hardware/software co-design: keep hardware simple and put more sophistication into software and/or soft logic ● There are several trends acting as accelerants for this shift...
  • 38. Open instruction sets ● X86 and ARM -- the two market victors -- are both encumbered by history and licensing ● RISC-V is an attempt to learn from the ISA mistakes of the past, in a vessel that is entirely open and -- with open implementations ● RISC-V is very promising, but there remain many gaps to close ● To succeed, RISC-V must focus as much on the SoC as the ISA -- while remaining entirely open!
  • 39. Open FPGAs ● FPGA bitstreams have historically been entirely proprietary -- and one is therefore dependent upon proprietary tools to generate them ● The Lattice iCE40 bitstream format was reverse engineered in 2015 by Claire Wolf, and can be entirely synthesized with an open toolchain! ● While Xilinx (AMD) and Alterra (Intel) retain proprietary components (e.g., for timing models), newcomers like QuickLogic are entirely open ● See, e.g., SymbiFlow, Verilog to Routing (VTR), Yosys, OpenFPGA, and the (new!) Open Source FPGA Foundation
  • 40. Open HDLs ● Hardware description languages have traditionally been dominated by Verilog and (later) SystemVerilog ● Compilers have been historically proprietary -- and the languages themselves are error prone ● In recent years we have seen a wave of new, open HDLs, e.g.: Chisel, nMigen, Bluespec, SpinalHDL, Mamba (PyMTL 3), HardCaml ● Of these, one is particularly noteworthy...
  • 41. Open HDL: Bluespec ● Bluespec is a high-level HDL that takes its inspiration from formal specification languages -- and strongly typed languages like Haskell ● Bluespec uses the expressiveness of the language to move away from individual signals -- and to atomic rules and interfaces ● This allows for the compiler to do the hard work of connecting modules and proving correctness, greatly reducing verification time! ● In the words of Oxide engineer Arjen Roodselaar, “Bluespec is to SystemVerilog what Rust is to assembly”
  • 42. Open HDL: Bluespec ● Bluespec was proprietary for 20 years; open sourced in early 2020! ● We at Oxide feel that Bluespec is a profoundly transformative technology -- but not one that is broadly understood or appreciated! ● More details: ○ https://github.com/B-Lang-org/Documentation ○ https://github.com/B-Lang-org/bsc ○ https://github.com/oxidecomputer/cobalt
  • 43. Open source EDA ● Proprietary software has historically dominated EDA… ● Open source alternatives have existed for years -- but one in particular, KiCad, has enjoyed sufficiently broad sponsorship to close the gaps with professional-grade software ● The maturity of KiCad coupled with the rise of quick turn PCB manufacturing/assembly has allowed for astonishing speed: ○ From conception to manufacturer in hours ○ From manufacturer to shipping board in days
  • 44. Board economics ● Single board computers are very accessible! ○ An STM32 Nucleo-144 board with 400 MHz Cortex M7 CPU + 2 MB of flash + 1 MB of RAM + all I/O peripherals for less than $30 ○ A BeagleBone Black -- with 1 GHz Cortex A8 CPU + 4 GB of flash + 512 MB DDR3 + HDMI for less than $60! ● All documentation available online and without NDA -- and the BeagleBone Black is (nearly) entirely open ● The BeagleBone Black can also be used as a logic analyzer via sigrok
  • 45. Open source firmware ● The software that runs closest to the hardware is increasingly open, with drivers nearly (nearly!) always open ● Increasingly, we are seeing the firmware of unseen parts of the system become open as well, viz. the Open Source Firmware Conference ● This trend is slower in the 7nm SoCs -- but it’s happening! ● However, even in putatively open architectures, there generally still remains proprietary software in the form of boot ROMs -- and this proprietary software remains a problem!
  • 46. Embedded Rust ● Rust has proven to be a revolution for systems software: rich type system, algebraic types, ownership model allow for fast, correct code ● Slightly more surprising has been Rust’s ability to get small -- which coupled with its lack of a runtime lets it fit everywhere! ● With its safety and expressive power, Rust represents a quantum leap over C -- and without losing performance or sacrificing size ● We at Oxide are working on a de novo Rust operating system for the embedded use case that we will (naturally?) open source; stay tuned!
  • 49. A new Golden Age! ● Thanks to Moore’s Law, Wright’s Law and the rise of open source, it is easier to build hardware than ever before! ● We are going to see computers in many more places, posing challenges to us all to develop reliable, secure, high performing systems ● Software remains essential, but we must not think of it in isolation; we must co-design the hardware and the software in our systems! ● The systems are open, the communities are welcoming! Let’s build!