5 ms·
Booting 5000 Erlangs on Ampere One 192-core
- elteto 1y ago“ Underjord is an artisanal consultancy …” If they don’t weave Erlang threads by hand I’m going to be mildly disappointed.
- bevr1337 1y agoAll process messages written in beautiful calligraphy.
- temp0826 1y agoSingle origin, farm-to-bytecode processes with our signature rustic garbage collection and heirloom fault tolerance...
- antonvs 1y ago> heirloom fault tolerance... In other words, nepobaby fault tolerance
- lawik 1y agoThe advice in every consultation is either mouth-spoken or finger-written by a 100% organic (but not currently certified) entity.
- lifeisstillgood 1y agoSo this is something like a 5000 USD machine (https://www.jeffgeerling.com/blog/2024/ampereone-cores-are-new-mhz https://www.jeffgeerling.com/blog/2024/ampereone-cores-are-n...) And is designed as a cloud provider or telco edge machine (hence the erlang consultancy) But if you are looking at a hosted erlang VM for a capex of one dollar then these folks are onto something Cores really are the only way to escape the broken moores law - and this does look like a real step in the important direction. Less LLMs more tiny cores
- sargun 1y agoI really like the manycores approach, but we haven’t seen it come to fruition — at least not on general purpose machines. I think a machine that exposes each subset of cores as a NUMA node and doesn’t try to flatten memory across the entire set of cores might be a much more workable approach. Otherwise the interconnect becomes the scaling limit quickly (all cores being able to access all memory at speed). Erlang, at least the programming model, lends itself well to this, where each process has a local heap. If that can stay resident to a subsection of the CPU, that might lend itself better to a reasonably priced many core architecture.
- zozbot234 1y ago> Erlang, at least the programming model, lends itself well to this, where each process has a local heap. That loosely describes plenty of multithreaded workloads, perhaps even most of them. A thread that doesn't keep its memory writes "local" to itself as much as possible will run into heavy contention with other threads and performance will suffer a lot. It's usual to try and write multithreaded workloads in a way that tries to minimize the chance of contention, even though this may not involve a literal "one local heap per core".
- bglusman 1y agoYes, but in Erlang, everything on every process is immutable and nothing is ever trying to write anywhere besides locally. Every variable assignment leaves the previous memory unchanged and fully accessible to anything directly referencing it.
- Animats 1y ago"5000 Erlangs" - oh, they meant 5000 instances of some Erlang interpreter. Not Erlang as a unit of measure.[1] One voice call for one hour is one Erlang. [1] https://en.wikipedia.org/wiki/Erlang_(unit) https://en.wikipedia.org/wiki/Erlang_(unit)
- lawik 1y agoI was aware an Erlang being a unit though I'd forgotten what it measured. I Need to have my fun when giving titles to these things. Hope it fell within bearable tolerances.
- bravesoul2 1y agoThanks for the rabbit hole!
- robocat 1y agoWhat does 5000 Animats measure? Does 1 Animat convert to metric nitpicks? You know you're successful once you're added to: https://www.theregister.com/Design/page/reg-standards-converter.html https://www.theregister.com/Design/page/reg-standards-conver...
- jacquesm 1y agohttps://en.wikipedia.org/wiki/Nagle%27s_algorithm https://en.wikipedia.org/wiki/Nagle%27s_algorithm
- QuantumNomad_ 1y agoNeat! I always thought the name of the Erlang programming language just meant “Ericsson Language”, since this programming language was invented for Ericsson. Never knew there was anything more than that to the name!
- cmrdporcupine 1y agoI believe it's both.
- kirito1337 1y agoWow man.
- ThinkBeat 1y agoI would be much more interesting in seeing 5000 under heavy load. Just being able to star that many instances is not that exciting until we know what they can do.
- bglusman 1y agoErlang handles heavy load VERY well, between work stealing schedulers and soft realtime via reduction counting (any program can be interrupted and stopped after any instruction and resumed transparently)
- ThinkBeat 1y agoThat is good. Then actual propper benchmarks will be remarkable. However BEAM is not the only factor in this process. the entire hardware platform as well. This is after all a lot about that nice and huge cpu. I mean when you have all 5000 started why not let the do some work? Stress test it with a few real life scenarios for 48h and let us see some number.
- lawik 1y agoI will consider it :)