Jan is a graduate student at AGH in Kraków, who spends his time convincing computers to do what he asks. He's currently working at AGH on parallel evolutionary computations and polishing his master thesis in the meantime. Interested mostly in intelligent systems, data-driven applications and parallel computing. Loves blues music and thriller movies.
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.