"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)
What 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-conver...
Booting 5000 Erlangs on Ampere One 192-core
41–50 of 51 posts
Re: Booting 5000 Erlangs on Ampere One 192-core
#42Earlier quoted context omitted.
> 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. I tend to agree. Where it gets -really- interesting to think about, are concepts like 'core parking' actors of a given type on specific cores; e.x. 'somebusinessprocess' actor code al…
The BEAM launches a scheduler process per CPU thread in SMP mode, although I don't know if it moves Erlang processes between them.
Re: Booting 5000 Erlangs on Ampere One 192-core
#43Earlier quoted context omitted.
Paraphrasing the late great Joe Armstrong, the great thing about Erlang as opposed to just about any other language is that every year the same program gets twice as fast as last year. Manycores hasn't succeeded because frankly the programming model of essentially every other language is stuck in 1950. I, the program, am the entire and sole thing running on this computer, and must manually manage resources to match i…
I'm curious, which actor model warts are you referring to exactly? [The obvious candidates from my point of view are (1) it's an abstract mathematical model with dispersed application/implementations, most of which introduce additional constraints (in other words, there is no central theory of the actor model implementation space), and (2) the message transport semantics are fixed: the model assumes eventual out-of-o…
Re: Booting 5000 Erlangs on Ampere One 192-core
#44I 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.
Erlang 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)
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.
Re: Booting 5000 Erlangs on Ampere One 192-core
#45Earlier quoted context omitted.
I'm curious, which actor model warts are you referring to exactly? [The obvious candidates from my point of view are (1) it's an abstract mathematical model with dispersed application/implementations, most of which introduce additional constraints (in other words, there is no central theory of the actor model implementation space), and (2) the message transport semantics are fixed: the model assumes eventual out-of-o…
I don't think either of those are particularly problematic. The actor model as implemented by Erlang is concrete and robust enough. The big problems with the actor model are, in my opinion, around (1) speed optimizations for immutable memory and message passing (currently, there's a great deal of copying and pointer chasing involved, which can be slow and is a ripe area for optimization), (2) (for Erlang) speed and Q…
With respect to your point (1), you might be interested in Pony, which has been discussed here from time to time, most recently: https://news.ycombinator.com/item?id=44719413 Of course there are other actor-based systems in wide use such as Akka.
Re: Booting 5000 Erlangs on Ampere One 192-core
#46"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)
Neat! 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!
Re: Booting 5000 Erlangs on Ampere One 192-core
#47"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)
Re: Booting 5000 Erlangs on Ampere One 192-core
#48So this is something like a 5000 USD machine ( 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 impo…
But I will certainly try to leverage my telco-connection to get to play with more of their kit if I can.
Re: Booting 5000 Erlangs on Ampere One 192-core
#49So this is something like a 5000 USD machine ( 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 impo…
The article is about 5000 Erlang nodes (BEAM VMs), not processes - a single BEAM instance can efficiently handle millions of lightweight processes, making this even more impressive from a density perspective.
Re: Booting 5000 Erlangs on Ampere One 192-core
#50“ Underjord is an artisanal consultancy …” If they don’t weave Erlang threads by hand I’m going to be mildly disappointed.