Lambda Days 2015 – Jan Stypka, Piotr Anielski – Boosting evolution: scaling Erlang up to 64 cores
Erlang is widely recognized for its scalability characteristics, both horizontal i.e. by adding more machines, and vertical i.e. by increasing the computational capabilities of a single machine.
Many believe that an average Erlang program should just run N times faster on an N core processor. From our experience, it holds true but only as long as N <= ~16.
In this talk, we would like to tell you about the efforts, problems and challenges we encountered while trying to speed up our program on a 64-core machine. As a case study, we will introduce a sequential agent-based evolutionary algorithm and present several computation models used in its parallelization.