Process signals in OTP 21
summary
OTP 21 replaces the old two-queue plus many locks design with a three-queue pipeline (external/middle/internal), moves non-message signals into the external queue and processes them on the receiver using a skip list, and removes the global link lock. Monitors become a local red‑black tree plus a remote doubly‑linked list, cutting multiple red‑black ops and lock takings down to a couple of cheap ops. Benchmarks show roughly 4× throughput gains (examples: single gen_server 3M calls ~6.4s before), at the cost of increased latency for inspection-style calls.
AI-written summary · about
chapters (6)
- 0:00Start
- 4:46SYNCHRONOUS
- 11:51MESSAGE SIGNALS before OTP-21
- 14:03LINK/MONITOR SIGNALS
- 19:54SIGNALS after OTP-21
- 28:06SUMMARY SIGNALS
related talks
47mOTP
43mUnlocking the Potential of OTP: Proven Strategies for Application Dev
45mTesting Asynchronous OTP
52mConcurrency Oriented Programming in a Modern World
39mPilgrim's Progress to the Promised Land
36motplike – Erlang/OTP processes and behaviours for Clojure
01h 03mIntro to Concurrent Programming 3/3: Relaxed Data Structures for Parallel Algorithms
46mEliminating Single Process Bottlenecks with ETS Concurrency Patterns
