~/talk

Experiences With Integration of Io_uring Into gRPC-C++

Talkat gRPConf 2025 · on Tuesday, 2025-08-26· [linux-and-operating-systems, c-and-cpp]
links:none on file
links:none on file
slides:none on file

Implemented an io_uring EventEngine for gRPC‑C++ using liburing with one io_uring per CPU and endpoints pinned by incoming CPU, and an atomic leader scheme to batch syscalls so multiple threads prepare SQEs and one thread does the submit. Notification uses an eventfd integrated with epoll. Benchmarks show marginal regression at low QPS but significant QPS and median‑latency gains and reduced CPU time under max‑load; syscall submissions drop about 4% at ~4k channels per ring. Future work targets buffer pooling, multi‑shot syscalls and submit‑polling.

AI-written summary · about

  1. 0:00gRPC and io_uring intro
  2. 2:11Current POSIX event engine internals
  3. 3:14Challenges with TCP endpoints
  4. 4:18What is io_uring
  5. 6:02io_uring event engine design
  6. 8:52Benchmarking setup and results
  7. 10:43Key takeaways
  8. 11:45Future improvements
  9. 13:14Q&A
~/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.