【论文阅读】Workload Dependent Performance Evaluation of the Linux 2.6 I/O Schedulers
文章目录
- 某些背景知识的科普(依赖GPT)
- GPT简短总结
- 摘要-Abstract
- 引言-Introduction
- 1 I/O Scheduling and the BIO Layer
- The 2.6 Deadline I/O Scheduler
- 2.1 The 2.6 Anticipatory I/O scheduler
- 2.2 The 2.6 CFQ Scheduler
- 2.3 The 2.6 noop I/O scheduler
- 2.4 I/O Scheduler—Performance Implications
- 2.5 Read and Write Request Batches
- 2.6 Read Anticipation Heuristic
- 3 I/O Components that Affect Performance
- 3.1 SCSI Operations
- 3.2 SCSI Disk Fence
- 3.3 Zone Bit Recording (ZBR)
- 4 I/O Schedulers and Performance
- 5 Single-CPU Single-Disk Setup
- 5.1 8-Way RAID-5 Setup
- 5.2 16-Way RAID-0 Setup
- 5.3 AS Sequential Read Performance
- 5.4 AS versus Deadline Performance
- 5.5 CFQ Performance
- 6 Conclusions and Future Work
- Appendix A: Scheduler Tunables
- Appendix B: Benchmark Environment
某些背景知识的科普(依赖GPT)
- I/O调度器位于哪里?通俗解释?
GPT简短总结
摘要-Abstract
这篇论文分析了 Linux 2.6 内核中引入的四种 I/O 调度器(Anticipatory (AS)、Deadline、Noop 和 Completely Fair Queuing (CFQ))的性能表现,并探讨了它们在不同工作负载和硬件配置中的适用性和调优潜力。
- 什么负载场景下I/O调度器表现优异?
- 使用可调优选项获得什么样的性能增益?
不同工作负载场景(email,web,file server)
硬件从单cpu单磁盘设置到多cpu大型RAID阵列,在具体负载场景下,使用哪个调度器给出了建议,通过调优选项或修改代码实现性能增强。
引言-Introduction
1 I/O Scheduling and the BIO Layer
感觉参考这篇博客写的更友好详细linux IO Block layer 解析,仅凭这篇论文的一小节就把这个玩意儿讲的通俗易懂太难,还没有配图~~,新手小白就更别说了,仅仅读一篇是远不够的,一篇论文本来就是一些比较碎片化的东西,你还得去把这些碎片化信息的补全(怎么找到补全的信息,难说,读者会意识到这个问题吗?如果仅仅是为了完成一个阅读论文的任务,需不需要去深入的了解补全碎片化的知识,对你最后汇报好像无关紧要,遗漏这些信息也可以蒙混过关。大脑是懒惰的,天然不喜欢深度去思考和深究,极其耗费能量),输入你的大脑才能更深刻的理解。
-
I/O 调度器的作用与位置
I/O 调度器位于 通用块层(block layer) 和 底层设备驱动程序(low-level device drivers) 之间,负责管理 I/O 请求的转换与优化。
通用块层由文件系统和虚拟内存管理器(VMM)生成 I/O 请求,I/O 调度器对这些请求进行排序、合并或插入队列后,传递给设备驱动程序。 -
I/O请求的生成与处理
I/O请求由代表不同文件系统的线程、执行原始I/O的线程或内核的虚拟内存管理(VMM)组件生成。
这些请求通过调用__make_request()函数,触发I/O调度器的函数,如elevator_merge_fn()。
I/O框架的入队函数旨在合并新提交的块I/O单元,并将其排序或插入到一个或多个内部I/O队列中。这些内部队列形成一个与每个块设备关联的单一逻辑队列。
低级设备驱动通过调用通用内核函数elv_next_request()从逻辑队列中获取下一个请求。elv_next_request()调用与I/O调度器的出队函数elevator_next_req_fn()交互,后者有机会从内部队列中选择适当的请求。
设备驱动通过将I/O提交转换为(潜在的)分散-聚集列表和协议特定命令,将请求提交给设备控制器。
The 2.6 Deadline I/O Scheduler
第二篇参考博文
2.1 The 2.6 Anticipatory I/O scheduler
2.2 The 2.6 CFQ Scheduler
2.3 The 2.6 noop I/O scheduler
2.4 I/O Scheduler—Performance Implications
2.5 Read and Write Request Batches
2.6 Read Anticipation Heuristic
3 I/O Components that Affect Performance
3.1 SCSI Operations
浅析SCSI协议
硬盘协议大全,终于搞明白SCSI、IDE、FC、SATA……
3.2 SCSI Disk Fence
3.3 Zone Bit Recording (ZBR)
ZBR 区位记录
参考科普链接
4 I/O Schedulers and Performance
5 Single-CPU Single-Disk Setup
5.1 8-Way RAID-5 Setup
5.2 16-Way RAID-0 Setup
5.3 AS Sequential Read Performance
5.4 AS versus Deadline Performance
5.5 CFQ Performance
6 Conclusions and Future Work
Appendix A: Scheduler Tunables
Appendix B: Benchmark Environment