SSD 在工作业务场景用得蛮多的,对长尾的控制,硬件上历史有 Streamed SSD 、OpenChannel SSD ,还有最新的 Zoned Namespaces SSD 。不过公司引入硬件周期长,业务上的问题也还是得解决。
我们从以下几个方面充分优化对 SSD 的使用:
更完整的优化分享可以详见: https://mp.weixin.qq.com/s/CB4u5AQuRrIq5mRISx9GmQ
1
dreamlike 2023-09-26 00:33:14 +08:00 via Android
能请问下 io cancel 适配是卡在 io_uring 并不保证 cancel 成功吗?🤔我之前遇到的就是这个问题,在写场景/读场景 若未取消成功即操作已经推入内核执行的情况下 用户操作对应到那块内存就会产生 ub
|
2
ac23 2023-09-26 09:30:47 +08:00
感谢分享!
|
3
pursuit OP @dreamlike 调用 io_uring_prep_cancel 指定要 cancel 的任务,但是根据观察没有 cancel 成功,其实 libaio 使用同样的 cancel 接口,也没有成功。按照接口语义( https://man7.org/linux/man-pages/man3/io_uring_prep_cancel.3.html )应该是成功才对,还不知道为什么不成功。提交的内存确实得保证不能有竞争,得完整回来操作才不会 ub ,因为异步 io 不知道什么时候就给那块内存写东西了~
|