Admiral Grace Hopper Explains the Nanosecond
funbury5 HN recommenders · recommended in 5 months, 2020-2025
163K views · 14 years ago · lecture · evergreen
Admiral Grace Hopper holds up a length of wire to show how far light travels in a nanosecond, about 11.8 inches. She explains how she made the idea concrete to people who could not picture a billionth of a second.
HN uses it to illustrate physical latency limits and why performance and distance matter in computing.
10:00Grace Hopper on Letterman
TheLazlo101
448K views • 13 years ago
1:25:57Grace Hopper Lecture
MIT Lincoln Laboratory
68K views • 9 years ago
48:40Capt. Grace Hopper on Future Possibilities: Data, Hardware, Software, and People (Part One, 1982)
National Security Agency
179K views • 2 years ago
7:27Lamport on writing "Time, Clocks, and the Ordering of Events in a Distributed System"
Turing Awardee Clips
24K views • 6 years ago
46:36Sophie Wilson - The Future of Microprocessors
Erlang Solutions
57K views • 9 years ago
14:03The Computer Designed To Die In Microseconds
Scott Manley
408K views • 3 years ago
26:29Watch electricity hit a fork in the road at half a billion frames per second
AlphaPhoenix
3M views • 2 years ago
20:13The Most Powerful Computers You've Never Heard Of
Veritasium
13.7M views • 4 years ago
2:50:14Simple Code, High Performance
Molly Rocket
463K views • 5 years ago
11:02Imaging at a trillion frames per second | Ramesh Raskar
TED
3.2M views • 14 years ago
25:10How an Atomic Clock Really Works: Inside the HP 5061A Cesium Clock
CuriousMarc
464K views • 6 years ago
40:05"Uptime 15,364 days - The Computers of Voyager" by Aaron Cummings
Strange Loop Conference
349K views • 7 years ago
2:00Shouting in the Datacenter
Bryan Cantrill
5.7M views • 17 years ago
2:31:38Avie Tevanian: CMU math whiz goes from Mach to NeXT to Apple Software Chief | Oral History Part 1
Computer History Museum
49K views • 9 years ago
40:13"Programming a 144-computer chip to minimize power" - Chuck Moore (2013)
Strange Loop Conference
19K views • 5 years ago
2:47Visualizing video at the speed of light — one trillion frames per second
Massachusetts Institute of Technology (MIT)
12M views • 14 years ago
1:21:22Light Years Ahead | The 1969 Apollo Guidance Computer
TNMoC
2.8M views • 6 years ago
22:49I bought 1000 meters of wire to settle a physics debate
AlphaPhoenix
3.7M views • 4 years ago
56:54Change w/ Jim Keller
Tenstorrent
61K views • 3 years ago
1:04:53Jim Keller: Moore’s Law is Not Dead
UC Berkeley EECS
77K views • 7 years ago
12 comments from Hacker News
Latency is limited by physics ( c ) and distance; see Admiral Hopper's nanosecond illustration: * ▶ this video
The speed of light, because it is so fast, is the most precise physical constant known : 299 792 458 m / s. Less than 7/1000ths away from 300,000,000 m / s. I am not going to sweat this in the least. So light travels only 0.3 m / nano second, or 11.802 inches. ▶ this video
My favorite is more a small presentation than an image: Admiral Grace Hoper Explains a Nanosecond. ▶ this video For me it changed my mind on wasting time on less efficient algorithms.
So they state: > One could argue that we don’t really need PTP for that. NTP will do just fine. Well, we thought that too. But experiments we ran comparing our state-of-the-art NTP implementation and an early version of PTP showed a roughly 100x performance difference: While I'm not necessarily against more accuracy/precision, what problems specifically are experiencing? They do mention some use cases of course: > There are several additional use cases, including event tracing, cache invalidation, privacy violation detection improvements, latency compensation in the metaverse, and simultaneous execution in AI, many of which will greatly reduce hardware capacity requirements. This will keep us busy for years ahead. But given that NTP (either ntpd or chrony) tends to give me an estimated error of around (tens of) 1e-6 seconds, and PTP can get down to 1e-9 seconds, I'm not sure how many data centre applications need that level of accuracy. > We believe PTP will become the standard for keeping time in computer networks in the coming decades. Given the special hardware needed for the grand master clock to get down to nanosecond time scales, I'm doubtful this will be used in most data centres of most corporate networks. Adm. Grace Hopper elegantly illustrates 'how long' a nanosecond is: * ▶ this video How many things need to worry the latency of signal travelling ~300mm?
>As Admiral Grace Hopper would point out ( ▶ this video ) doing distance over network wires involves hard latency constraints, not to mention dealing with congestions over these wires. Even accounting for CDNs, a distributed system is inherently more capable of bringing data closer to geographically distributed end users, thus lowering latency.
I'm glad this is becoming conventional wisdom. I used to argue this in these pages a few years ago and would get downvoted below the posts telling people to split everything into microservices separated by queues (although I suppose it's making me lose my competitive advantage when everyone else is building lean and mean infrastructure too). In my mind, reasons involve keeping transactional integrity, ACID compliance, better error propagation, avoiding the hundreds of impossible to solve roadblocks of distributed systems ( link ). But also it is about pushing the limits of what is physically possible in computing. As Admiral Grace Hopper would point out ( ▶ this video ) doing distance over network wires involves hard latency constraints, not to mention dealing with congestions over these wires. Physical efficiency is about keeping data close to where it's processed. Monoliths can make much better use of L1, L2, L3, and ram caches than distributed systems for speedups often in the order of 100X to 1000X. Sure it's easier to throw more hardware at the problem with distributed systems but the downsides are significant so be sure you really need it. Now there is a corollary to using monoliths. Since you only have one db, that db should be treated as somewhat sacred, you want to avoid wasting resources inside it. This means being a bit more careful about how you are storing things, using the smallest data structures, normalizing when you can etc. This is not to save disk, disk is che
I would add that software infrastructure can run incredibly fast and scale incredibly well on modern hardware if you're a bit careful about resource usage. Traditional relational DBs like Postgresql are very scalable on modern hardware. If you take the time to craft a normalized schema with low redundancy being careful about keeping data small, you can achieve performance and resource efficiency and cache efficiency hundreds of time better than bloated distributed document nosql based systems. You can also get better transactional integrity, reduce reliance on queues (use load balancers instead) and get more instant and more atomic error propagation and edge case resolution. You can really build something lean and mean to a point that would be physically impossible in distributed systems or systems that involve multiple hops over potentially congested networks (as Admiral Grace Hopper likes to remind us, distance matters in computing ▶ this video ). As far as I know, normalized relational databases are still the best at efficiently using multiple levels of physically near caches to their full potential. Most applications don't need to scale horizontally and can easily fit on single servers (that can scale to dozens of cores and terabytes of ram). I hear arguments that it's the engineers that are expensive so it's ok to be wasteful with hardware if it saves engineering time but in my experience the type of engineers that are good at optimizations are often good at engineering in ge
> Light is slow, not exactly 1 foot per nanosecond but it's a reasonable mnemonic. "Admiral Grace Hopper Explains the Nanosecond" is a good illustration of this (segment is only 2m): * ▶ this video * link Full lecture: * link
Pretty reminiscent of Grace Hopper's nanosecond lecture [1] Certainly there are reasons why a feature might slow down a system beyond the branching (for example, if it requires you to load other resources)... but really, the issue is that as pointed out in the youtube video. Software companies very frequently do not care about performance. [1] ▶ this video
Speaking as somebody who never stopped optimizing like its the 90s: there's definitely a learning curve, but when microbenchmarking becomes a reflex, you learn your language in depth and the burden drops quickly. It only seems esoteric to you because the industry has collectively decided that Grace Hopper is an old codger who doesn't need to be listened to. ▶ this video
> The nanosecond wire alone should be a compelling argument. For those that haven't seen it: ▶ this video (Of course, I expect that most here have, but xkcd 10,000 and all that.)
Yes it is and no it isn't. Learn from Admiral Grace Hopper: ▶ this video The speed of light in fiber optic cable is about 2/3 the speed of light, which is why SpaceX's Starlink will have a potential latency advantage over oceanic fiber optics. It also gives good perspective on what's being thrown away when you add a single ms of latency through a router or a display. 186 miles at the speed of light. Many on HN don't get this, but this is why cloud gaming is perfectly feasible if we're running with low latency displays and inputs, low distance to the edge compute, and few routing hops.