3.5 小结

本文和读者一起,进入 Linux 异步 IO 的世界。

  • 首先讨论了 disk io 为什么无法使用 epoll 技术 - 0.1 节
  • 讨论了是否有必要非用异步 IO 不可 - 0.2 节
  • 了解了 Linux AIO 的贡献和缺点 - 1 节
  • 进入 io_uring 的世界,编写例程探索其 io 模式,分析性能指标 - 2 节
  • 回过头来,了解了 Go 和 tokio 对磁盘 io 的处理思路 - 3 节

恭喜!我们终于漫步结束了单机 IO 的世界,这下终于听懂了存储开发者们对于单机 IO 的讨论、思路、关心点和术语。

接下来,稍作休整,我们即将正式进入分布式王国,考察和学习分布式存储的模式、思想、技术!

其他

本文没有讨论但值得调研的技术:

  • 极致的性能需求,Storage Performance Development Kit (SPDK) 用户态存储技术。
  • 线程模型:Reactor、Preactor、Run To Complete (RTC)、有栈协程和无栈协程。
  • 磁盘 IO 调度:在不同线程下的磁盘 IO 分配、磁盘性能预测和限流、流量整形。
  • 文件系统:ext4 与 xfs 对不同 IO 模型的性能比较。