The C1K Problem (...)
summary
Goal is to reach ~1000 embedded Erlang nodes but current distribution hits limits: fully meshed connections blow up as O(n^2) (prototype works at ~15 nodes), global registry makes startup 10–15 minutes on embedded network versus <10s localhost, and large binaries cause head‑of‑line blocking. Explored SD Erlang, gproc with locks_leader, and hidden nodes; built an embedded prototype, rewrote EPMD in pure Erlang, and settles on hidden‑node topology plus local proxies to avoid global and keep distribution lightweight and usable.
AI-written summary · about
chapters (16)
- 0:00Introduction
- 1:20Function Blocks
- 8:42Application
- 9:12Hardware Overview
- 11:42Trade Fair
- 12:11Distribution
- 14:59Benchmarking
- 15:45Possible solutions
- 17:57Lockleader
- 19:35Hidden nodes
- 21:22Other useful functions
- 23:52Assembly line
- 25:54Nodes
- 31:27Fixing distribution
- 35:36Building your own
- 38:41Observations
related talks
27mScalable distributed systems from grounds up in Elixir
38mMaintaining highly distributed services with Erlang: 20y experiences in fintech
49mElixir in an Enterprise Telecommunications Product
15mMicroservices with Elixir
37mFrom the ground to the stars
29mPortable DIstributed Systems Using Node on "Routers"
18mDistributed Embedded Systems Using Zephyr
50mManaging Things and being managed - using Erlang
