Hacker News new | past | comments | ask | show | jobs | submit login
Understanding Modern Storage APIs: A systematic study of libaio, SPDK, io_uring [pdf] (atlarge-research.com)
84 points by eatonphil on May 12, 2023 | hide | past | favorite | 4 comments



I never see any use cases where storage path really requires polling, can someone list one example?


A modern (database) engine that does millions of IOPS and uses a single (or a few) IO completion polling threads, typically pinned on dedicated CPUs, instead of having all CPUs busy handling “random” IO completion interrupts. Such apps tend to use thread-per-core architecture and have their own IO queues and dispatchers built in the app layer.

Examples: ScyllaDB, RedPanda. Both are using the Seastar framework for scheduling and IO.


is source available?


Apparently not, but there is a video:

https://www.youtube.com/watch?v=5jKKVdJJqKY




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: