~/talk

Building responsive and scalable applications

Talkat DotNext 2018 Moscow · 2018-11-22..11-23· [concurrency]
links:none on file
slides:none on file

Explains why synchronous I/O wastes threads and memory and shows concrete .NET fixes: use FileOptions.Asynchronous / ReadAsync/WriteAsync so the OS queues an IRP to the device driver and completion returns via I/O Completion Port into the thread pool instead of blocking stacks (user stack ≈1MB, kernel context ≈700–1,240 bytes). Demos show Task Manager with ~2,400 threads but only ~15% CPU and a 32-bit process crashing after ~1,500 threads. Recommends async everywhere and using ConfigureAwait(false) for library code to avoid deadlocks and improve scalability.

AI-written summary · about

  1. 0:00Introduction and speaker bio
  2. 2:04Threads and reliability in OS design
  3. 19:54Thread overhead and scalability trade-offs
  4. 26:37Synchronous vs asynchronous I/O
  5. 41:16Async/await in .NET framework
  6. 48:10Fixing non-scalable server designs
  7. 51:46Application models and threading
  8. 59:42Deadlocks with GUI threads
  9. 1:01:50When to use configureAwait(false)
~/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.