~/talk

Dear God What Am I Doing? Concurrency and Parallel Processing

Talkat RubyConf AU 2013 · 2013-02-20..02-22· [ruby]
slides:none on file

Shows concrete experiments and gotchas: fetching 100 Google pages goes from 45s→8s when moving from naive sequential to a thread pool but adding more threads yields diminishing returns; CPU-bound hashing stalls under GIL blocks CPU-bound threads in MRI whereas JRuby/Rubinius allow true parallelism; combining multi-process + threads gives the best throughput; a real bug: Ruby stdlib Queue with Queue.empty deadlock unless you use pop correctly; demos use threads, fork, Celluloid (and DCell/Celluloid::IO) and mostly work with fixes noted.

AI-written summary · about

  1. 0:00Introduction
  2. 1:29Threads and forks
  3. 1:53Machine architecture
  4. 5:21Primitives
  5. 6:32Interpreters
  6. 7:11Thread
  7. 8:46Shared Memory
  8. 11:46IPC
  9. 11:59Fibers
  10. 13:07Multithreaded
  11. 13:29Sequential
  12. 13:40Q
  13. 14:09Using more threads
  14. 14:30Performance
  15. 15:03Overhead
  16. 15:16Math
  17. 15:49Queue
  18. 16:19Global Interpreter Lock
  19. 17:32JRuby
  20. 17:51Multiprocess
  21. 19:25Instantiating Threads
  22. 19:42Interprocess communication
  23. 20:38Simple examples
  24. 21:17Complex examples
  25. 21:35Queue example
  26. 23:26wrap empty
  27. 24:27rubyhero
  28. 25:03celluloid
  29. 26:08vent machine
  30. 26:41monitoring
  31. 27:37making Ruby faster
~/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.