Hacker News new | ask | show | jobs
by kungfooguru 2418 days ago
Hi, one of the authors here, the Docker chapter and soon to come Kubernetes chapter hopefully shed some light on this very question. They are not alternatives, docker and k8s complement Erlang.

Jose Valim, creator of Elixir, also wrote about this recently http://blog.plataformatec.com.br/2019/10/kubernetes-and-the-...?

1 comments

Do you have experience with performance optimization of Erlang code running in Docker? Is there a way to make the BEAM schedulers sticky? Does it make sense for latency reasons? I know that some products rely on core stickiness for maximum performance. Maybe Erlang/BEAM is not in that category.

https://www.scylladb.com/2018/08/09/cost-containerization-sc...

There are some performance related topics covered in the Docker chapter regarding schedulers. And there are improvements already merged for Erlang 23 to remove the need for as much manual tweaking -- for example in 23 the VM will only start a scheduler per-cpu the cgroup actually allows, so if you are limited to 2 "cpus" by the cgroup there will only by 2 active schedulers.

Erlang does have the option to bind schedulers to processors but I don't know of any real world usage of it:

Binding Schedulers: http://erlang.org/doc/man/erl.html#+sbt

Custom CPU Topologies: http://erlang.org/doc/man/erl.html#+sct