when you think about it, the idea that software should scale is actually really weird. "sure this garden is nice, but how nice can it be if it doesn't grow to cover the entire surface of the earth?"

@aparrish Depends on what you mean by "scale".

Scale along what metric? Scale depending on what metric?


@aparrish If the software is meant for a computationally demanding task, for instance, like rendering an image or a video, and it doesn't scale along my system resources (like, it only uses one CPU core to work), this is a bad piece of software, because it leaves a lot of its own performance on the table.

· · Web · 1 · 1 · 1

@aparrish If the task is comparatively lightweight - like shoveling text strings around and the software demands a lot of resources per user per task instance, I would also say that's a bad piece of software because it scales badly along the user count, costing (me and the environment) too much to operate.

Which is one of pet peeves I have with Mastodon, for example. All it does it sends and receives text. Why does it need so much resources? Because it's thrown together using RoR, which is famously voracious.

@aparrish But the same Mastodon, supposedly scales well along multiple nodes in a cluster if you want to run a large fault-tolerant infrastructure or something.

Speaking of which, centralized web services always boasted how they "scale better". But over time we see that they really don't: Facebook and Twitter don't really scale along their sheer number of users, which causes problems with moderation fake news, political polarization, etc. etc. On the other hand, I see decentralized systems (like E-mail and Fediverse) scale awesomly by individual servers being largely detached from one another. I mean, E-mail is still with us since the 70s, and is used by people of all walks of life. Fediverse spans across all the social and political spectrum.

@aparrish Same with hardware. There's seemingly a threshold to the number of compute devices working in parallel efficiently. It's called Amdah's law. You can only throw so much CPU cores at a problem until you start hitting diminishing returns and adding more resources to the system does almost nothing.

In other words, "scaling" is complex, and demands context. It means nothing without it.

Sign in to participate in the conversation

Русская нода социальной сети "Мастодонт", части Fediverse - всемирной федерации социальных сетей. Зона общения, свободная от рекламы и шпионажа, теперь и в России.