Parallel Algorithms
After characterizing various sorting algorithms (see Sorting) I decided to pick an algorithm and use it to characterize how well Erlang performs distributed programming. Erlang provides a way to essentially fork and join a workload via rpc:pmap.
rpc:pmap()
Questions
- Does Erlang follow Amdahl’s Law?
- What are the constant time factors for Erlang?
- How easy is it to use?
Analysis
Summary
Parallelization of an embarrassingly parallel problem is certainly easy to do in Erlang, though the benefits of spreading a calculation across processors diminishes after the 2nd or 3rd processor.
- Does Erlang follow Amdahl’s Law? (Yes)
- What are the constant time factors for Erlang? (I didn’t measure them but they are high)
- How easy is it to use? (Yes, very easy to use)