High Performance Erlang - Pitfalls and Solutions

Siva Yerramreddy
Senior Performance Engineer @ Machine Zone

Erlang is widely used for building concurrent applications. However, when we push the performance of our Erlang based application to handle millions of concurrent clients, some Erlang scalability issues begin to show and some conventional programming paradigm of Erlang no longer hold. We would like to share some of these issue and how we address them. In addition, we share some of our experience on how to profile an Erlang application to identify bottlenecks.

We will take a deep look at some of the basic mechanisms of Erlang and show how they behave under high load and parallelism, which includes message delivery, process management and shared data structures such as maps and ETS tables. We will demonstrate their limitations and propose techniques to alleviate the issues.

We will also share profiling techniques on how to find those bottlenecks in Erlang applications across different levels. We will share techniques for writing highly performant Erlang applications.  


Prior to Machine Zone, Siva was a Linux kernel hacker. He worked on bringing up Linux on Intel Xeon Phi and solving the performance issues of Linux kernel on highly parallel systems.

GitHub: yshivakrishna

Back to conference page