High Performance Erlang - Pitfalls and Solutions

Yinghai Lu
Distributed Backend Engineer at 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.  

Slides
Video

Yinghai is currently with Machine Zone Inc, as a software engineer working on distributed backend. 

Previously, he received the Ph.D. degree in electrical engineering from Fudan University, Shanghai, China in 2010. After graduation, Yinghai worked as a postdoctoral researcher in EECS department, Northwestern University and then as a R&D engineer in Synopsys. 


Back to conference page