Live data from Hacker News

Distributed Systems Classics (2017)

nvartolomei.com

61–66 of 66 posts

Re: Distributed Systems Classics (2017)

#61
post #24

Earlier quoted context omitted.

Hot take of the day: Computer scientists are in denial about it, but CS is a branch of theoretical physics, not mathematics. You can point to this or that model of computation, such as lambda calculus or mu-recursive functions and try to claim its abstracted well beyond the particular laws of physics for some specific universe, but they all have some kind of rate limit built into them... and where does the motivation…

A thought provoking leading question I have is (1) a space heater throws power into a coil and generates heat and nothing more in the world (2) an LLM into a GPU throws power into the GPU and generates heat and organized information. Is (2) generating less heat so that the laws of thermodynamics account for the increased amount of "useful stuff" generated (the organized information)? Switch (2) for a bitcoin miner if…

> Is there a fundamental minimum cost to flipping bits?

Yes:

https://en.wikipedia.org/wiki/Landauer%27s_principle

But modern computers are nowhere near this theoretical limit, nor any of the other limits I mentioned above. Nevertheless, most of heat generated from modern CPUs does come from bits turning on and off. Each transistor is a tiny capacitor, that holds a charge when its ON. When it switches OFF, it dumps that charge down the drain, creating waste heat. This is a limitation of our technolgy, not a fundamental limit of physics.

Could be worse, though; early chips would disipate heat even when they weren't doing anything. CMOS improved this enormously by pairing up "complementary" transistors so current only flows when something changes.

Still, from the universe's point of view, what we consider a super advanced computer is a lot closer to a space heater than anything that pushes up against its computational limits. Consider, for example, that quarks operate on time scales of 10^23 Hz, and the universe is happy to run three of those in every proton in every star in the universe. In fact, it runs 10^24 of them for one CPU, and that same CPU can't even simulate the quarks of one proton in real time.

Let's face it: we're like kids in Minecraft who think it's cool watch a calculation of 2+2 trickle through a redstone computer in a minute, while the GPU is rendering a billion triangles every second to give them that view.

Re: Distributed Systems Classics (2017)

#62
post #30

Earlier quoted context omitted.

Related hot take Maybe thats why one of the not-so-bad ideas how to go about distributed systems came from a guy who was trained as a physicist and used to complain to his fellow programmers that “a lot of systems actually break the laws of physics”[1]? > In distributed systems there is no real shared state (imagine one machine in the USA another in Sweden) where is the shared state? In the middle of the Atlantic? -…

And yet we have CRDTs.

CRDTs are eventually consistent data structures

Re: Distributed Systems Classics (2017)

#63

Earlier quoted context omitted.

It's the thing that baffles me the most with those people, the Knuths and Lamports and Carmarcks, and whatnot. It's not like they have light schedules - they do research, they have classes, they attendconference, and they have jobs, etc... And some benefit from tenure, which give them time to deeply focus on some topics. But I can't imagine how I would write tex in ten years in Pascal on archaic machines if I had all…

My brother was something of a prodigy. Whatever it is that people like Carmack have, he had it too (and Carmack was one of his personal heros). I would say with my brother it wasn't just that he was analytically extremely sharp, it's that he could focus it on things in a way that bordered on unhealthy obcession. For example during undergrad he took a semester off because he burned himself out taking an insane course…

I'm assuming this was a while back, mind sharing how far he went or what he was able to produce with this focus?

Re: Distributed Systems Classics (2017)

#64

I am a Lamport admirer. I gradually realized that Lamport is more of the godfather of distributed system than Hinton is to deep learning. Lamport is less prominent than Shannon is to information theory. Shannon is the closest to any title of "gold-like" figure to a scientific discipline of universal relevance in modern society. Lamport specifically revealed a philosophical connections between computer systems and phy…

> One thing I think Lamport falls short is that his writing is not easy to read and understand

Interesting; I actually grew to be a fellow admirer of Lamport primarily because I actually found his papers to be a lot more approachable and relatively straightforward.

Re: Distributed Systems Classics (2017)

#65
post #22

Earlier quoted context omitted.

> the relations between events happening in a distributed system, is more fundamental than their absolute ordering The important thing in most distributed systems is having an order. Having a single observer serialize events as it receives them is so much more tractable than trying to use absolute order. Using absolute order requires very precise time synchronization which is hard; using absolute order requires knowi…

There is no such thing as a general order; if people accept this then the problem relaxes and we stop trying to design impossible things. Nodes shouldn't be observers. End users should be the observers. The ordering of event only matters from the perspective of the "I'm adding this to my shopping cart and clicking the buy button and then it said I bought it" story being internally consistent. The observer here is the…

> "I'm adding this to my shopping cart and clicking the buy button and then it said I bought it"

If there's only one of the item to buy and two users wanted to buy it at the same time, it can only be shipped to one of them.

From each user's perspective, their add to cart (and maybe their click to buy) happened before the other user's, but alas, there is only one item available for immediate shipment.

Allowing customers to arbitrate a dispute over control of the item doesn't always go so well; see examples on Black Friday.

Even without a conflict over a mutually exclusive resource, it is valuable in many contexts for all users to share the order of observed events. That's difficult if user agents send events directly to all other agents and report observations to the user as soon as the remote reports arrive.

If A and B both report events and some users see A then B while others see B then A, there may be confusion and a poor user experience. Of course, for some things, relative ordering is unimportant.

Re: Distributed Systems Classics (2017)

#66
post #47

Some of these probably aren't exactly classics but I do love: - rendezvous hashing / consistent hashing - Hybrid logical clocks - "Don’t Settle for Eventual: Scalable Causal Consistency for Wide-Area Storage with COPS" - "Scaling Replicated State Machines with Compartmentalization" (much more recent but really one of my favorite papers)

Rendezvous hashing is so simple and elegant.

I implemented a library for rendezvous hashing with skeleton in order to get a similar performance as consistent hashing; it gets much more complicated and IMO loses some of the elegance once you add the skeleton. Most of the challenge is that the skeleton structure relies on a tree and so has to be rebalanced sometimes and this means that sometimes you have to move around more keys than ideal. The startegy you can use to perform the rebalancing can become very complicated.

Though the 'virtual nodes' in consistent hashing also add a lot of complexity there.

Post reply on HN