Scaling RPC Calls In Erlang And Elixir

Panagiotis Papadomitsos
Head of Mobile Intelligence Cloud @ Splunk

RPC calls are the bread and butter of any Erlang distributed setup. But what happens when the amount of messages exchanged between nodes overwhelm all out-of-the-box solutions (such as rpc/rex and remote spawn) Erlang offers and the stability of your infrastructure is threatened? gen_rpc (and its Elixir sister project ExRPC) is a library designed to solve just that. In this talk, we'll explore the reasons that led to the creation of gen_rpc, its architecture, the issues that arose, the benefits and will be making a side-to-side Erlang/Elixir project comparison by comparing gen_rpc and ExRPC’s development processes.

Talk objectives:

This talk explores the challenges an Erlang production shop faces when it uses RPC as its medium of choice for inter-node communication and the solutions that have been implemented along the way to nominal load.

Target audience:

This talk will appeal to intermediate and advanced Erlang engineers that are looking to learn more about the internals of Erlang and Elixir RPC communication.


Panagiotis Papadomitsos is the Head of Mobile Intelligence Cloud (ex-BugSense) Infrastructure and the lead Erlang Engineer at Splunk. His team has conceived, designed, built and automated distributed always-on infrastructure and applications that handle more than 150.000 requests/second, 24/7 from mobile devices all over the world. He’s been committing production Erlang code since 2011 and tampering with distributed systems since 2007. For a little over a decade, he’s worked with large scale hosting companies, IT enterprise solution providers and was part of the BugSense team that got acquired by Splunk in 2013.

GitHub: priestjim

Twitter: @priestjim

Back to conference page