Scalable ETS: Does Such a Thing Exist?

By Erlang Central | Published: June 13, 2013

Erlang Term Storage (ETS) is Erlang’s own in-memory database system, which is used by many to store shared data in parallel applications. Using ETS concurrently is a challenge, and even the Erlang/OTP R14B release notes claim that certain uses of it “”will never scale””. How to do it in a way that might work, and how much truth there is in this claim will be topics in this talk.
Understanding the effects of ETS concurrency options, and how they reflect in the underlying implementation is required to see the limits of ETS scalability, but also the opportunities. Using the ets module’s interface properly is required to get good performance even on future releases of Erlang/OTP.
Talk objectives: The talk will give insights about when ETS will scale well and when it will scale badly when used in parallel programs.

Target audience: Developers of parallel Erlang applications.
Download Presentation Download


  • David Klaftenegger

    Multicore Efficiency Aficionado
    Uppsala University

    David Klaftenegger got his Bachelor's degree from the University of Passau, Germany and his Master's from the University of Edinburgh, UK. He is now studying towards a PhD degree at Uppsala University, where he is researching how to use multicore architectures more efficiently.

    David Klaftenegger
  • Kjell Winblad

    Ph.D. Student @ Uppsala University
    Uppsala University

    Kjell Winblad has a Bachelor's degree from Umeå University and a Master's degree from Uppsala University. He has worked as a software engineer for two years in the industry. He started his Ph.D. studies at Uppsala University in August 2012. His Ph.D. work is part of the RELEASE project. The RELEASE project is a EU founded project that among other things aims to make Erlang scale well on many-core machines.

    GitHub: kjellwinblad
    Twitter: @kjellwinblad

    Kjell Winblad

Follow Erlang Central:

Have an Erlang Question?

Reach out to the Erlang community