~/talk

Eliminating Single Process Bottlenecks with ETS Concurrency Patterns

Talkat Erlang Factory SF Bay Area 2014 · 2014-03-06..03-07· [elixir-and-erlang]
links:none on file
slides:none on file

Describes concrete ETS-based concurrency techniques: use partitioned keys and table sharding, avoid supervisor-as-router bottlenecks with a rest_for_one startup that creates an ETS-owning gen_server first, and implement a ring buffer using reserve-write-publish semantics so writers reserve slots, write, then atomically publish. Relies on update_counter atomic ops and table-level atomic insert/delete; claims up to ~10x multi-core throughput with proper write-concurrency, and an open-source epoxy library (used in production at TigerTech since August) implements these patterns successfully.

AI-written summary · about

  1. 0:00OTP and concurrency basics
  2. 2:23Introduction to ETS
  3. 8:38Working with ETS tables
  4. 16:18Concurrency strategies
  5. 21:47Advanced data partitioning
  6. 28:32Supervised concurrency design
  7. 33:39Atomic operations and patterns
  8. 40:08Practical implementation examples
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.