~/talk

Untangled: Sneak peek at Project Loom

Talkat Voxxed Days Cluj-Napoca 2019 · 2019-10-30..10-31· [java, concurrency]
slides:none on file

Project Loom brings continuations and lightweight threads (fibers) into the JVM so synchronous-looking code runs without tying up kernel threads. Experiments compare four implementations: blocking sockets spawn ~400 threads for 200 clients; async NIO handles 200 clients with ~10 threads; Reactor+Netty uses 12 threads; the Loom prototype runs 200 clients on 12 threads by parking continuations and resuming them on I/O. It works but forbids blocking syscalls and synchronized on fibers; see JDK 14 EA loom branch and Quasar/Casa.

AI-written summary · about

  1. 0:00Introduction
  2. 0:36Project Loom
  3. 1:27Use case
  4. 2:36First implementation
  5. 3:43CPU utilization
  6. 3:57Thread creation
  7. 4:30Visual DVM
  8. 4:59Thread dumb
  9. 5:13System call
  10. 6:01Blocking calls
  11. 6:15Context switch
  12. 7:06IANA scheduler
  13. 8:04TCP connections open
  14. 9:03Second implementation
  15. 11:28Threads
  16. 12:19Service Threads
  17. 12:37SocketChannel API
  18. 13:21asynchronous circuits channel
  19. 13:55promote efficiency
  20. 14:25asynchronous calls
  21. 14:43asynchronous implementation
  22. 15:04evenloop
  23. 15:24Nettie
  24. 15:48Reactive streams
  25. 16:56Atomic references
  26. 18:31User threads
  27. 19:08continuations
  28. 20:08asynchronous programming
  29. 20:32continuation as runnable
  30. 22:22continuation as state machine
  31. 22:55iterator as state machine
  32. 25:38continuation as lightweight thread scheduler
  33. 26:21nonblocking
  34. 27:28scheduler threads
  35. 28:25play with continuations
  36. 29:20cosa
  37. 32:23automatic tail call optimization
  38. 33:00structured concurrency
  39. 34:12References
~/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.