当前位置: 首页 > article >正文

【论文阅读】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

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


http://www.kler.cn/a/501771.html

相关文章:

  • 从零搭建一个Vue3 + Typescript的脚手架——day1
  • 探秘 JMeter (Interleave Controller)交错控制器:解锁性能测试的隐藏密码
  • 3D目标检测数据集——Waymo数据集
  • STM32 FreeRTOS的任务创建和删除
  • 【cuda学习日记】2.2 使用2维网络(grid)和2维块(block)对矩阵进行求和
  • Attention计算中的各个矩阵的维度都是如何一步步变化的?
  • MySQL--2.1MySQL的六种日志文件
  • LabVIEW启动时Access Violation 0xC0000005错误
  • Node.js——path(路径操作)模块
  • FastDDS安装测试记录
  • 【数学】概率论与数理统计(五)
  • day06_Spark SQL
  • JavaScript函数:从基础到进阶拓展
  • C++中线程同步与互斥的4种方式介绍、对比、场景举例
  • web前端第六次作业---制作网页页面
  • 【25考研】西南交通大学软件工程复试攻略!
  • 《AI赋能鸿蒙Next,打造极致沉浸感游戏》
  • goland 环境变量配置
  • Java阶段四04
  • 【Artificial Intelligence篇】AI 入侵家庭:解锁智能生活的魔法密码,开启居家梦幻新体验
  • LeetCode - #186 翻转字符串里的单词 II(会员题)
  • 搭建k8s集群
  • 设计模式-结构型-组合模式
  • AI知识-TF-IDF技术(Term Frequency-Inverse Document Frequency)
  • 【练习】力扣 热题100 轮转数组
  • Facebook 跨文化交流:打破国界的社交纽带