~/talk

Monoceros: Faster and Predictable Services through In-pod...

Talkat SREcon23 Europe/Middle East/Africa · 2023-10-10..10-12· [kubernetes, python]
links:none on file
links:none on file
slides:none on file

Built a Go multiprocess controller called Monoceros that replaces Ruby Einhorn, initially using SO_REUSEPORT then running a proxied data path with Envoy. Deployments run at Reddit scale and add per-worker CPU metrics plus timed worker restarts to combat leaks, producing roughly 1 TB memory saved across the fleet. Measured results show 20–30% P99 latency reduction at ingress and ~10% P90 improvement for critical home-feed queries, plus much lower CPU variance and more predictable scaling.

AI-written summary · about

  1. 0:00Reddit's infrastructure challenges
  2. 1:27Python's global interpreter lock
  3. 2:55Problems with Einhorn and initial solutions
  4. 3:38Monoceros design goals
  5. 4:21Building the minimum viable product for observability
  6. 5:24Memory leaks and restarts
  7. 6:48Observability and CPU metrics
  8. 7:31Proxy mode for load balancing
  9. 8:56High-traffic performance results
  10. 10:00Critical request latency gains
  11. 10:40Predictable CPU scaling
  12. 11:21Socket and FD handling
  13. 12:25Pod-level load balancing
  14. 12:45Open-sourcing Monoceros
~/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.