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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/953269.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

LLMBook 中 数据集下载地址整理收集

本文针对《LLMBook》大语言模型 | LLMBook-zh 中的42个数据集进行完整下载地址整理收集。 具体整理部分关于第三章 大型语言模型资源 1、常用预训练24个数据集下载地址整理收集 2、指令微调18个数据集下载地址整理收集 3、人类对齐8个数据集下载地址整理收集 《大语言模型》…

http和https有哪些不同

http和https有哪些不同 1.数据传输的安全性:http非加密,https加密 2.端口号:http默认80端口,https默认443端口 3.性能:http基于tcp三次握手建立连接,https在tcp三次握手后还有TLS协议的四次握手确认加密…

LabVIEW滤波器功能

程序通过LabVIEW生成一个带噪声的正弦波信号,并利用滤波器对其进行信号提取。具体来说,它生成一个正弦波信号,叠加高频噪声后形成带噪信号,再通过低通滤波器滤除噪声,提取原始正弦波信号。整个过程展示了信号生成、噪声…

基于华为atlas的重车(满载)空车(空载)识别

该教程主要是想摸索出华为atlas的基于ACL的推理模式。最终实现通过煤矿磅道上方的摄像头,识别出车辆的重车(满载)、空车(空载)情况。本质上是一个简单的检测问题。 但是整体探索过程比较坎坷,Tianxiaomo的…

pytest+allure 入门

使用allure如何生成自动化测试报​​​​​​告 ?一文详解allure的使用 。_allure测试报告-CSDN博客 例子: import allure import pytest import osallure.epic("闹钟") allure.feature("闹钟增删") class TestSchedule():def setu…

excel VBA 基础教程

这里写目录标题 快捷键选择所有有内容的地方 调试VBA录制宏,打开VBA开发工具录制宏,相当于excel自动写代码(两个表格内容完全一致才可以) 查看宏代码保持含有宏程序的文件xlsm后缀(注意很容易有病毒)宏文件安全设置 使…

Excel数据叠加生成新DataFrame:操作指南与案例

目录 一、准备工作 二、读取Excel文件 三、数据叠加 四、处理重复数据(可选) 五、保存新DataFrame到Excel文件 六、案例演示 七、注意事项 八、总结 在日常数据处理工作中,我们经常需要将不同Excel文档中的数据整合到一个新的DataFra…

Django创建数据表、模型、ORM操作

1、创建项目 django-admin startproject PersonInfosProject 2、创建项目应用,进入PersonInfosProject文件夹,新建index应用,使用命令 cd PersonInfosProject python manage.py startapp 新建完成之后的目录结构 3、新建数据模型&#xf…

ZYNQ初识10(zynq_7010)UART通信实验

基于bi站正点原子讲解视频: 系统框图(基于串口的数据回环)如下: 以下,是串口接收端的波形图,系统时钟和波特率时钟不同,为异步时钟,,需要先延时两拍,将时钟同…

【ORACLE战报】2025.1月OCP | MySQL考试

2025.1月【最新考试成绩出炉】 OCP战报 MySQL 战报 部分学员成绩及证书

力扣经典练习题之198.打家劫舍

今天继续给大家分享一道力扣的做题心得今天这道题目是198.打家劫舍,这是一道非常经典的问题,在动态规划中经常考到这类问题,题目如下: 题目链接:198.打家劫舍 1,题目分析 首先此题就是给我们了一个数组,代表可以偷的房屋中的对应的金额,我们是一个小偷,一次可以偷很多…

【数据库】一、数据库系统概述

文章目录 一、数据库系统概述1 基本概念2 现实世界的信息化过程3 数据库系统内部体系结构4 数据库系统外部体系结构5 数据管理方式 一、数据库系统概述 1 基本概念 数据:描述事物的符号记录 数据库(DB):长期存储在计算机内的、…

Redis有哪些常用应用场景?

大家好,我是锋哥。今天分享关于【Redis有哪些常用应用场景?】面试题。希望对大家有帮助; Redis有哪些常用应用场景? 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 Redis 是一个高性能的开源键值对(Key-Va…

[uniapp] 实现扫码功能,含APP、h5、小程序

🚀 个人简介:某大型国企资深软件开发工程师,信息系统项目管理师、CSDN优质创作者、阿里云专家博主,华为云云享专家,分享前端后端相关技术与工作常见问题~ 💟 作 者:码喽的自我修养&#x1f9…

《异步编程之美》— 全栈修仙《Java 8 CompletableFuture 对比 ES6 Promise 以及Spring @Async》

哈喽,大家好!在平常开发过程中会遇到许多意想不到的坑,本篇文章就记录在开发过程中遇到一些常见的问题,看了许多博主的异步编程,我只能说一言难尽。本文详细的讲解了异步编程之美,是不可多得的好文&#xf…

day07_Spark SQL

文章目录 day07_Spark SQL课程笔记一、今日课程内容二、Spark SQL函数定义(掌握)1、窗口函数2、自定义函数背景2.1 回顾函数分类标准:SQL最开始是_内置函数&自定义函数_两种 2.2 自定义函数背景 3、Spark原生自定义UDF函数3.1 自定义函数流程&#x…

presto不支持concat_ws

在sparksql/hive中,将一个数据集合已指定的分隔符拼接可以用concat_ws,但是在presto中没有这个函数,不过presto提供了一个集合方法array_join,来达到相同的目的 同样的对数据集去重可以用array_distinct 如果你不需要去重就直接…

【日常小记】Ubuntu启动后无图形界面且网络配置消失

【日常小记】Ubuntu启动后无图形界面且网络配置消失 解决方法: 1. 输入后恢复网络: #sudo dhclient 2. 重新安装ubuntu-desktop #sudo apt-get install ubuntu-desktop!!!请关注是否能ping通某网站(例如百度&…

01、kafka知识点综合

kafka是一个优秀大吞吐消息队列,下面我就从实用的角度来讲讲kafka中,“kafka为何有大吞吐的机制”,“数据不丢失问题”,“精准一次消费问题” 01、kafka的架构组织和运行原理 kafka集群各个节点的名称叫broker,因为kaf…

【ArcGIS微课1000例】0137:色彩映射表转为RGB全彩模式

本文讲述ArcGIS中,将tif格式的影像数据从色彩映射表转为RGB全彩模式。 参考阅读:【GlobalMapper精品教程】093:将tif影像色彩映射表(调色板)转为RGB全彩模式 文章目录 一、色彩映射表预览二、色彩映射表转为RGB全彩模式一、色彩映射表预览 加载配套数据包中的0137.rar中的…