More scalable ordered set for ETS using adaptation

Konstantinos Sagonas, Kjell Winblad
2014
2 references

Abstract

The Erlang Term Storage (ETS) is a key component of the runtime system and standard library of Erlang/OTP. In particular, on big multicores, the performance of many applications that use ETS as a shared key-value store heavily depends on the scalability of ETS. In this work, we investigate an alternative implementation for the ETS table type ordered_set based on a contention adapting search tree. The new implementation performs many times better than the current one in contended scenarios and scales better than the ETS table types implemented using hashing and fine-grained locking when several processor chips are used. We evaluate the new implementation with a set of experiments that show its scalability in relation to the current ETS implementation as well as its low sequential overhead.

1 repository
2 references

Code References

â–¶ erlang/otp
1 file
â–¶ erts/emulator/beam/erl_db_catree.c
2
* In Thirteenth ACM SIGPLAN workshop on Erlang (2014)
* https://doi.org/10.1145/2633448.2633455
Link copied to clipboard!