The Subsystems Edition
On layers, interfaces, and the architecture of complexity
Noah here. I’ve been binging on Lex Fridman’s podcast lately. Fridman is an AI researcher who interviews interesting people in and around the world of computing. The conversations go deep and technical and while I find myself getting lost every so often, I love hearing people who work close to the metal—so to speak—talking about how technology gets made.
One of the topics that comes up frequently is abstraction layers, which is how computer scientists and engineers describe the interface between computing subsystems. Chip designer Jim Keller, who was on the podcast in February, described the concept as the way two components work together without needing to understand exactly how one another functions.
Essentially every part of a computer, whether it’s hardware or software, works by having many systems that can talk to each other through (relatively) simple interfaces. That means if you’re writing code in the programming language of your choice, you don’t need to know how to talk to the chip or allocate memory, there are layers that handle that for you, so you can just focus on logic and syntax. Between our text editor and the hardware are a bunch of systems translating things into a language that chips can understand. Someone somewhere understands how the electric current is moving through the transistors on the chip to make it perform the actions we initiate, but thankfully that’s abstracted far away from the world most of us live. We just hit the keys or tap the screen and the computer does what we ask of it.
Why is this interesting?
Whether or not you have any care for how a computer chip or software works, subsystems are a thing worth thinking about. The Nobel-prize winning economist Herbert Simon (a favorite thinker of mine) wrote what must be the most famous subsystems parable in a paper titled “The Architecture of Complexity”:
There once were two watchmakers, named Hora and Tempus, who manufactured very fine watches. Both of them were highly regarded, and the phones in their workshops rang frequently — new customers were constantly calling them. However, Hora prospered, while Tempus became poorer and poorer and finally lost his shop. What was the reason?
The watches the men made consisted of about 1,000 parts each. Tempus had so constructed his that if he had one partly assembled and had to put it down — to answer the phone say— it immediately fell to pieces and had to be reassembled from the elements. The better the customers liked his watches, the more they phoned him, the more difficult it became for him to find enough uninterrupted time to finish a watch.
The watches that Hora made were no less complex than those of Tempus. But he had designed them so that he could put together subassemblies of about ten elements each. Ten of these subassemblies, again, could be put together into a larger subassembly; and a system of ten of the latter subassemblies constituted the whole watch. Hence, when Hora had to put down a partly assembled watch in order to answer the phone, he lost only a small part of his work, and he assembled his watches in only a fraction of the man-hours it took Tempus.
Put that way, the value of these independent subsystems is quite clear, and Simon’s broader point is that you can’t have complex systems without having this kind of modularity. Whether it’s a computer, a company, or society as a whole, nearly everything is designed to allow for systems/departments/branches of government to both operate independently and interact with one another.
When we have a catastrophe, like the pandemic we’re living through right now, it’s often the outcome of subsystems being more interconnected than we might have originally believed. In this case, there’s a good argument that transmission turned out to have been quietly linking a whole bunch of seemingly independent layers together, as beautifully laid out by the Santa Fe Institute’s David Krakauer last May:
Unlike with these other diseases, in the case of COVID-19 there is a rather unique convergence of causes that reestablishes a kind of simple causality, and these causes are transmission networks. The virus is transmitted initially from animal hosts to humans, typically through diet. Humans then transmit the virus to other humans by contact. These contacts are then transmitted through our transport systems and professional and social lives. This is perhaps the principal reason why the markets and society have been so volatile; the shared factor of transmission is so integral to modern life, it is to such a great extent the foundation of the modern world, that it touches nearly every factor of production. Just as monocultures can generate lethal simplicity in agriculture, transmission has generated lethal simplicity across the globe.
Thankfully, we’ve found a good solution to breaking the tight coupling in the form of vaccines. And hopefully, as we have time to reflect on the past year, we will actually address the root causes of the breakdowns we experienced instead of just treating the symptoms. Otherwise, we’ll once again be left with a pile of watch pieces next time we experience a global shock of this magnitude. (NRB)
When brawn and technology ruin the spectacle of sport (CJN)
Glamour shots of fish larvae (CJN)
How to think Bayes (NRB)
Thanks for reading,
Noah (NRB) & Colin (CJN)
Why is this interesting? is a daily email from Noah Brier & Colin Nagy (and friends!) about interesting things. If you’ve enjoyed this edition, please consider forwarding it to a friend. If you’re reading it for the first time, consider subscribing (it’s free!).