HackerTube
HomeLongsLikedHistoryWatch laterCategoriesPlaylistsSettings

Zebras All the Way Down - Bryan Cantrill, Uptime 2017

Code & Supply6 HN recommenders · recommended in 6 months, 2018-2025
YouTube
49K views · 9 years ago · talk · evergreen

Bryan Cantrill's Uptime 2017 talk on the engineering challenges of the stateful data path, including storage, firmware and hardware bugs. It uses the 'zebras vs. horses' diagnostic heuristic to explain why rare failures keep appearing.

A perennial HN favorite whenever firmware, disks, ECC or opaque hardware come up, valued as both entertaining and sobering.

Databases & storageTesting, debugging & developer toolsCloud, DevOps & reliability#bryancantrill#firmware#storage#datapath#debugging

18 comments from Hacker News

@throw0101c2025 · in “Upgrading an M4 Pro Mac mini's storage for half the price”

> Or you can spend half a billion dollars to solve the issue in hardware. And hope that your hardware/firmware doesn't ever get bugs. Or you can do checksumming at the hardware layer and checksumming at the software/FS layer. Protection in depth. ZFS has caught issues from hardware, like when LBA 123 is requested but LBA 456 is delivered: the hardware-level checksum for LBA 456 was fine, and so it was passed up the stack, but it wasn't actually the data that was asked for. See Bryan Cantrill's talk "Zebras All the way Down": * ▶ this video And if checksums are not needed for a particular use-case, make them toggleable: even ZFS has a set checksums=off option. My problem is not having the option at all .

CitesView on HN
@thomasjudge2025 · in “Synology Lost the Plot with Hard Drive Locking Move”

For an entertaining/terrifying perspective on firmware, obligatory Bryan Cantrill talk "Zebras All the Way Down" ▶ this video

RecommendsView on HN
@ElectricalUnion2023 · in “Database Fundamentals”

> When we really should have been formally addressing problems from first principles. Because if our OS can't recover gracefully when the disk fills up, then we don't really have anything. And so many OSs (including our desktops) panic when the disk fills up, that we don't really have anything. At a low enough level, all of the tools we rely upon are trash. Unfortunately, the OS can't really "recover" most of the time because it is being constantly lied to by several(!!!) layers of uncooperative hardware/firmware. It's zebras all the way down: ▶ this video > In this case, by letting programs wait until the user has cleared off disk space If your system is really in a no-disk-space-left state you might not be able to login to fix it: link And even assuming you can login, sometimes you can't delete files either; you need to free space in another way before being able to delete files. link Filesystems and persistence are hard.

CitesView on HN
@Voultapher2023 · in “Just about every Windows/Linux device vulnerable to new LogoFAIL firmware attack”

I'm shocked! Firmware vendors, the last bastion of high quality memory-safe C code, solving complex problems. Code firmly audited and formally verified to the highest degree. And now you tell me these people, with the highest known software quality got "parsing image formats" wrong? It's truly zebras all the way down ▶ this video

JokeView on HN
@Bayart2021 · in “Installing Debian on Modern Hardware”

>Why does anyone really care about non-free firmware blobs? Aside from the philosophical considerations, stuff breaking in a black-box firmware that you're lead into believing "just works" is particularly aggravating. I'll link Bryan Cantrill's talk on the subject, he's more entertaining than I am. [1] [1] ▶ this video

RecommendsView on HN
@tgbugs2021 · in “ECC matters”

A relevant Bryan Cantrill talk segment on this, which heightens the paranoia around this. Namely, firmware hiding correctable errors and only reporting uncorrectable errors. ▶ this video

CitesView on HN
@ignoramous2020 · in “Ask HN: What were the things you did that made the biggest impact at your work?”

In my time writing databases, I found that not only the mount-flags could result in data-loss despite fsync, given you use fsync as it is supposed to be used [0], but even enterprise-grade hardware would at times (at that scale [1]) drop and/or corrupt a few bits here and there. That reminds me of the case where AWS famously revealed that a single NIC in their ginaromous S3 fleet flipped a single bit once in a while and that caused an outage because their gossip-daemon responsible for fleet health-checks failed spectacularly [2]. Bryan Cantrill's talk on the realted topic of hardware/firmware bugs is pretty good [3]. [0] link [1] link [2] link [3] ▶ this video

RecommendsView on HN
@kbenson2020 · in “Five Years of Btrfs”

There's a good Bryan Cantrill talk about that.[1] The gist is that eventually, when you throw enough resources at a problem, all that's left are the really uncommon problem and bugs, and this is specifically what you get in the data path (including drive firmware) where things get harder and harder to figure out as the code gets more hidden and obscure. As with all his talks, you can expect it to be quite entertaining as well as informative and historical (if from his POV). 1: ▶ this video

RecommendsView on HN
@floatboth2019 · in “Samsung Announces Key-Value SSD Prototype”

Well, on the other hand, better to have the ability to deal with it rather than have everything obfuscated in unfixable proprietary firmware… ▶ this video

CitesView on HN
@ShroudedNight2019 · in “Investigating Multi-Account IAM Issues in S3 and CloudFront”

It's worth noting that in a computing context the reliability of this heuristic is questionable relative to what it would be in medicine: ▶ this video Zebras All the Way Down - Bryan Cantrill, Uptime 2017

CitesView on HN
@kbenson2019 · in “Replacing a silently failing disk in a ZFS pool”

On this topic (and related in many ways) is Bryan Cantrill's talk Zebras All the way Down.[1] The gist is that in medicine there's the concept of diseases that are zebras and horses, rare and common, and the saying goes "when you hear hoof beats think horses not Zebras". Unlike medicine, in software most the easy problems have already been abstracted away or made trivial through our software stacks, so often what's left are Zebras. What used to be the exceedingly rare bugs now account for a large proportion of the odd behavior we see in very robust tech stacks, because the easy bugs have been hunted down and eliminated already. 1: ▶ this video

RecommendsView on HN
@cyphar2018 · in “Why I'm usually unnerved when modern SSDs die on us”

Bryan Cantrill made this claim in a talk recently[1], and the fly-height is apparently 800 picometers. [1]: ▶ this video

CitesView on HN
@cyphar2018 · in “Why I'm usually unnerved when modern SSDs die on us”

(Sheepishly) My only reference is a talk by Bryan Cantrill[1] where he states that an exec at a hard-drive manufacturer stated it was ".8 nanometers". I will try to find a better source than that. EDIT: There is a paper from 2016 which did an analysis in the difference in the flying height of the head during different operations, and it was measured in Angstroms[2]. I couldn't find one that actually gives a precise value of the flying height. There is a 2011 paper which states that some system they were testing allowed for 4-9 nm flying heights[3] which is about half-an-order-of-magnitude larger than the claim -- but that's already 7 years old. [1]: ▶ this video [2]: link [3]: link

CitesView on HN
@cyphar2018 · in “Why I'm usually unnerved when modern SSDs die on us”

> skates of magnetic readers flying on a cushion of air above a rapidly rotating disc, with the gap separating a few dozen nanometers, often smaller than the process size in the controller's silicon. Complete aside, the fly-height of a magnetic head is actually fractions of a nanometer (i.e. hundreds of picometers). EDIT: I got this from a talk by Bryan Cantrill[1]. The fly-height is allegedly 0.8 nanometers (800 picometers). [1]: ▶ this video

CitesView on HN
@ar0b2018 · in “iPhones are allergic to helium”

One of my favorite conference talks is semi related to problems like this. ▶ this video Brian Cantrill - Zebras all the way down

RecommendsView on HN
@gt22018 · in “Ask HN: What are some of the best technical talks you've heard?”

Zebras All the Way Down - Bryan Cantrill, Uptime 2017 ▶ this video Lots of great tangents that add to the subjects. I love talks like this.

RecommendsView on HN
@nordsieck2018 · in “Ask HN: What is your favourite tech talk?”

We Really Don't Know How to Compute: Gerry Sussman - link Zebras All the Way Down: Bryan Cantrill - ▶ this video Jonathan Blow on Deep Work: Jonathan Blow - link Simple Made Easy: Rich Hickey - link Effective Programs - 10 Years of Clojure: Rich Hickey - link The Last Thing D Needs: Scott Meyers - link

CitesView on HN
@floatboth2018 · in “Ask HN: What’s your favorite talk from 2017?”

On The Turing Completeness of PowerPoint link Compiling C to printable x86, to make an executable research paper link HDR Photography in Microsoft Excel?! link Zebras All the Way Down ▶ this video Solving Layout Problems with CSS Grid and Friends link Console Security - Switch link Let's move SMM out of firmware and into the kernel link Bringing Linux back to server boot ROMs with NERF and Heads link Sharing the Chisel link (looks like the actual conference video wasn't released)

CitesView on HN
Debugging Under Fire: Keep your Head when Systems have Lost their Mind • Bryan Cantrill • GOTO 201752:35

Debugging Under Fire: Keep your Head when Systems have Lost their Mind • Bryan Cantrill • GOTO 2017

GOTO Conferences
101K views • 9 years ago
Bryan Cantrill from Joyent on Manta: internet-facing object storage facility that features compute1:31:05

Bryan Cantrill from Joyent on Manta: internet-facing object storage facility that features compute

AI Council
25K views • 12 years ago
Stanford Seminar - The Soul of a New Machine: Rethinking the Computer1:26:02

Stanford Seminar - The Soul of a New Machine: Rethinking the Computer

Stanford Online
76K views • 6 years ago
Corporate Open Source Anti-patterns43:04

Corporate Open Source Anti-patterns

Bryan Cantrill
24K views • 12 years ago
Bryan Cantrill on ARC: A Self-Tuning, Low Overhead Replacement Cache [PWL SF] 10/20171:47:35

Bryan Cantrill on ARC: A Self-Tuning, Low Overhead Replacement Cache [PWL SF] 10/2017

PapersWeLove
13K views • 9 years ago
Scale By The Bay 2018: Bryan Cantrill, Rust and Other Interesting Things37:07

Scale By The Bay 2018: Bryan Cantrill, Rust and Other Interesting Things

FunctionalTV
45K views • 7 years ago
Dtrace Review1:18:03

Dtrace Review

GoogleTalksArchive
19K views • 14 years ago
Run containers on bare metal already!41:12

Run containers on bare metal already!

Bryan Cantrill
40K views • 10 years ago
Old Geeks Yell At Cloud (with Andrew Clay Shafer & Bryan Cantrill)52:54

Old Geeks Yell At Cloud (with Andrew Clay Shafer & Bryan Cantrill)

Arrested DevOps
16K views • 9 years ago
Bryan Cantrill on Jails and Solaris Zones1:45:47

Bryan Cantrill on Jails and Solaris Zones

PapersWeLove
34K views • 10 years ago
Andrew Kelley: A Practical Guide to Applying Data Oriented Design (DoD)46:40

Andrew Kelley: A Practical Guide to Applying Data Oriented Design (DoD)

ChimiChanga
415K views • 2 years ago
Dtrace Review1:18:07

Dtrace Review

Google TechTalks
23K views • 19 years ago
TigerStyle! (Or How To Design Safer Systems in Less Time) by Joran Dirk Greef1:01:59

TigerStyle! (Or How To Design Safer Systems in Less Time) by Joran Dirk Greef

TigerBeetle
87K views • 3 years ago
Charlie Marsh: uv: An Extremely Fast Python Package Manager40:34

Charlie Marsh: uv: An Extremely Fast Python Package Manager

Jane Street
107K views • 2 years ago
"The Mess We're In" by Joe Armstrong45:50

"The Mess We're In" by Joe Armstrong

Strange Loop Conference
398K views • 12 years ago
Shouting in the Datacenter2:00

Shouting in the Datacenter

Bryan Cantrill
5.7M views • 17 years ago
Ubuntu Slaughters Kittens | BSD Now 1032:00:28

Ubuntu Slaughters Kittens | BSD Now 103

Jupiter Broadcasting
39K views • 11 years ago
"Performance Matters" by Emery Berger42:15

"Performance Matters" by Emery Berger

Strange Loop Conference
502K views • 7 years ago
#NoEstimates (Allen Holub)37:45

#NoEstimates (Allen Holub)

Allen Holub
259K views • 11 years ago
"Finding bugs without running or even looking at code" by Jay Parlar40:27

"Finding bugs without running or even looking at code" by Jay Parlar

Strange Loop Conference
42K views • 7 years ago