~/talk

Streaming I/O and vectored I/O

Talkat PostgreSQL Conference Europe 2024 · 2024-10-22..10-25· [databases]
links:none on file
slides:none on file

PostgreSQL adds a streaming abstraction and vectored I/O so multiple 8KB blocks are combined into larger reads/writes (configurable IO combine limit, default demos at 128KB) and can be prefetched or issued asynchronously. Implementation uses read streams, fadvise-based “poor man” async now and three async modes (sync worker, I/O worker processes, and IO_uring), changes landed in PG17 and ongoing for PG18. Benchmarks on a 72GB table show roughly 2x faster sequential scans and far fewer CPU cycles with direct I/O plus async workers.

AI-written summary · about

  1. 0:00Introduction to I/O basics
  2. 3:15Direct I/O in databases
  3. 5:39Implementing vectored I/O
  4. 7:21Need for asynchronous I/O
  5. 9:25Read streams architecture
  6. 25:24Experimental I/O research
  7. 30:57Asynchronous I/O subsystem
  8. 34:42Testing AIO patches
  9. 38:31Performance benchmarks
  10. 39:31Conclusion and future work
  11. 40:44Q&A session
~/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.