Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Is it really? Scaling today means running on more than one machine (google, facebook, twitter, etc.)

That means no shared memory. He helpfully makes this distinction on his front page ("I'm mostly interested in shared-memory system, so if you are looking for information about clusters, web-farms, distributed databases and the like, it's the wrong place")

According to Google's Jeff Dean, "to Google, multi-core computers look like separate servers with really fast interconnections" (i.e. memory).

So if you are running your applications on many machines anyway, you might as well drastically simplify your code by writing it "single-threaded" and running #cores copies on each machine.



> Scaling today means running on more than one machine

Of course it's not. Hundreds of millions of people use just a single computer for a lot of tasks.

>you might as well drastically simplify your code by writing it "single-threaded" and running #cores copies on each machine.

It's not the worst approach. However there may be significant penalties in terms of performance and latency in some contexts. You are definitely don't want to use your approach for games and browsers. As for server software it depends on performance/latency requirements. For example, if you will use it in High-Frequency Trading marker, count you loose all your money.


Games, movies, multimedia, etc.




Consider applying for YC's Winter 2026 batch! Applications are open till Nov 10

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: