Via Ludo I came to read why processes scale better than threads (a topic that comes around every now and then).
But the case is really made in Joe Armstrong’s recent Concurrency is Easy where he does a great job connecting the philosophy behind erlang to common human experiences.
Each human is a process you see: we live, we die, we heal, we communicate, when in a group others notice if, what and maybe why something happened to us, sometimes they even pick up the slack so we can recovery, sometimes they put us out of our misery.
I’ve been a fan of Erlang since the end of the last millennium (we have a couple of infrastructure pieces written in it) and always flip through Dr. Armstrong’s slides when they come up. In fact, even the last slide in this pdf is quite timely and great advice (the slide is from 2001).
3 responses to “Erlang processes are human too”
to erlang is human? (um, sorry.)
I’m actually talking to you folks about running Erlang + Yaws + ejabberd on a container. It’s very expensive so I’m still deliberating. This will be a huge proof of (the Erlang) concept once I go live.
Joel: thank you for commenting. I’ve been a “fan” of your openpoker article for a whlie and routinely point to it when people ask about online applications being done in erlang.
So the deal with the containers is two things: smaller, cheaper and focused ones are coming, and while Ruby applications run well on higher frequency AMD processors, other languages like erlang can take advantage of the coolthread processors, so I’m trying to evaluated T1 sparc-based containers that allow you to parallelize your application across say 32 processors per container (you can also put multiple small containers on mulitple boxes behind a load balancer), but then the “CPU cap” is that you’re say restricted to using 10-80% of each one, or it’s entirely utility-based (CPU minute).