Locks - Erlang-style Scalable Distributed Locking

Ulf Wiger
Feuerlabs Co-founder and Developer Advocate

Locking is a fundamental requirement for many applications, and - not least in database systems - distributed locking can be very difficult to make both robust and scalable.

The 'locks' project implements a powerful locking library, which manages to perform deadlock detection in an extremely scalable manner. This is done using a message-passing protocol developed by Ulf Wiger and verified by Dr. Thomas Arts. Also included is a new leader election behavior similar to gen_leader, but more dynamic, and extended to deal with split-brain issues robustly.

This presentation gives an introduction to distributed locking problems, explains the 'locks' algorithm, introduces the various locking features, and discusses how the functionality might be used.

Talk objectives:

The talk aims to explain the issues of distributed locking and show how they can be tackled in proper Erlang style.

Target audience:

Developers, system architects, people who like clever algorithms

 

Slides
Video

Ulf has been programming Erlang since 1992, bought the first commercial Erlang license in 1993, and made it a full-time occupation in 1996. Since then, he has worked as Software Architect at Ericsson, CTO at Erlang Solutions and co-founder of Feuerlabs Inc. Now, Ulf works as a freelance consultant and is currently involved in the GENIVI alliance. While not programming, Ulf sings professionally, mostly with his wife Katarina Pilotti.


GitHub: uwiger

Twitter: @uwiger

Back to conference page