一种通过软硬件协同支持读写性能隔离的I/O调度器制造技术

技术编号:20117077 阅读:54 留言:0更新日期:2019-01-16 11:56
本发明专利技术涉及一种基于Linux内核技术通过软硬件协同支持读写性能隔离的I/O调度器,该I/O调度器是在Linux内核的现有I/O调度器中增加了四个单元,即包括有队列分配单元(10)、优先级设置单元(20)、队列延迟时间对比单元(30)和队列深度调节单元(40),同时将Linux内核现有的I/O软件队列(50)和I/O硬件队列(60)中的I/O优先级进行对接;旨在不修改上层应用的前提下,降低应用业务混部带来的性能干扰,即最大程度的做到混部应用的资源隔离。采用本发明专利技术设计的I/O调度器处理后能够在数据处理系统中的在线读负载和批量写负载混部,即读写I/O混部的情况下,保持写I/O性能不变的同时,将读I/O的性能提升。

An I/O Scheduler Supporting Performance Isolation of Reading and Writing by Hardware/Software Co-operation

The present invention relates to an I/O scheduler based on Linux kernel technology, which supports read-write performance isolation through hardware and software co-operation. The I/O scheduler adds four units to the existing I/O scheduler of the Linux kernel, namely, queue allocation unit (10), priority setting unit (20), queue delay time comparison unit (30) and queue depth adjustment unit (40). At the same time, the existing I/O scheduler of the Linux kernel is added. I/O priority in I/O software queue (50) and I/O hardware queue (60) is docked to reduce the performance interference caused by the application business mixtures without modifying the upper application, that is, to maximize the resource isolation of the mixed application. The I/O scheduler designed by the invention can improve the performance of read I/O while keeping the performance of write I/O unchanged under the condition of on-line read load and batch write load mixing in data processing system after processing.

【技术实现步骤摘要】
一种通过软硬件协同支持读写性能隔离的I/O调度器
本专利技术涉及一种基于Linux内核的I/O调度器,更特别地说,是指一种通过软硬件协同支持读写性能隔离的I/O调度器。
技术介绍
I/O调度器是操作系统内核中的部件,其通过合并,重排等操作改变I/O请求在队列中的顺序,从而改变I/O请求提交到存储设备的顺序。I,Input,输入;O,Output,输出。队列:队列是一种特殊的线性表,其只允许在表的前端(front)进行元素的删除操作(出队),在表的后端(rear)进行元素的插入操作(入队)。I/O请求队列:I/O队列是Linux内核中的结构,存在于通用块层(blocklayer),上层应用提交的I/O请求顺序地从队列尾端被提交至队列,而请求队列依次将队列前端的I/O请求提交至存储设备进行处理。I/O软件队列:I/O软件队列是Linux内核3.19中的概念,其作用与I/O请求队列相同,与之不同的是,I/O请求队列只有一个,而I/O软件队列针对每一个CPU逻辑核都会创建一个,其用于缓存对应CPU逻辑核提交的I/O请求。I/O硬件队列:I/O硬件队列也是Linux内核3.19中的概念,其是一本文档来自技高网...

【技术保护点】
1.一种通过软硬件协同支持读写性能隔离的I/O调度器,其特征在于,包括:I/O调度器包括有队列分配单元(10)、优先级设置单元(20)、队列延迟时间对比单元(30)和队列深度调节单元(40);队列分配单元(10)中存在有队列包括有读请求队列(101)、同步写请求队列(102)和异步写请求队列(103);读请求队列(101)用于归类经读I/O请求单元(12)从数据处理系统中的在线读负载(11)请求得到的多个读请求read,则有,在所有观测周期OT={0,T,2T,…,(N‑1)T,NT}里采集到的读请求read采用集合形式表达为RQ={readT,read2T,…,readNT};同步写请求队列...

【技术特征摘要】
1.一种通过软硬件协同支持读写性能隔离的I/O调度器,其特征在于,包括:I/O调度器包括有队列分配单元(10)、优先级设置单元(20)、队列延迟时间对比单元(30)和队列深度调节单元(40);队列分配单元(10)中存在有队列包括有读请求队列(101)、同步写请求队列(102)和异步写请求队列(103);读请求队列(101)用于归类经读I/O请求单元(12)从数据处理系统中的在线读负载(11)请求得到的多个读请求read,则有,在所有观测周期OT={0,T,2T,…,(N-1)T,NT}里采集到的读请求read采用集合形式表达为RQ={readT,read2T,…,readNT};同步写请求队列(102)用于归类经写I/O请求单元(22)从数据处理系统中的批量写负载(21)请求得到的多个同步写请求write,则有,在所有观测周期OT={0,T,2T,…,(N-1)T,NT}里采集到的同步写请求write采用集合形式表达为WQ={writeT,write2T,…,writeNT};异步写请求队列(103)用于归类写I/O请求单元(22)从数据处理系统中的批量写负载(21)请求得到的多个异步写请求asynchronous_write,则有,在所有观测周期OT={0,T,2T,…,(N-1)T,NT}里采集到的异步写请求asynchronous_write采用集合形式表达为:观测时间集OT={0,T,2T,…,(N-1)T,NT},T为第一个观测周期,2T为第二个观测周期,(N-1)T为倒数最后一个观测周期,NT为最后一个观测周期,N为观测周期的总期数;readT表示在0至T时间段出现的第一组读请求;read2T表示在T至2T时间段出现的第二组读请求;readNT表示在(N-1)T至NT时间段出现的最后一组读请求;writeT表示在0至T时间段出现的第一组同步写请求;write2T表示在T至2T时间段出现的第二组同步写请求;writeNT表示在(N-1)T至NT时间段出现的最后一组同步写请求;asynchronous_writeT表示在0至T时间段出现的第一组异步写请求;asynchronous_write2T表示在T至2T时间段出现的第二组异步写请求;asynchronous_writeNT表示在(N-1)T至NT时间段出现的最后一组异步写请求;优先级设置单元(20)用于对队列分配单元(10)中的多个请求队列进行优先级的设置;队列延迟时间对比单元(30)先进行读请求的时间比对,然后进行同步写请求的时间比对,进而是异步写请求的时间比对,最后将比对后的各自服务质量输出给队列深度调节单元(40);队列延迟时间对比单元(30)输出的服务质量有和有和有和为设置在0至T时间段里所述readT的服务质量;为设置在T至2T时间段里所述read2T的服务质量;为设置在(N-1)T至NT时间段里所述readNT的服务质量;为设置在0至T时间段里所述writeT的服务质量;为设置在T至2T时间段里所述write2T的服务质量;为设置在(N-1)T至NT时间段里所述writeNT的服务质量;为设置在0至T时间段里所述asynchronous_writeT的服务质量;为设置在T至2T时间段里所述asynchronous_write2T的服务质量;为设置在(N-1)T至NT时间段里所述asynchronous_writeNT的服务质量;队列深度调节单元(40)在观测时间集OT={0,T,2T,…,(N-1)T,NT}中同一个观测周期进行循环调节;步骤A,在观测周期T时刻里,队列深度调节单元(40)接收队列延迟时间对比单元(30)输出的服务质量和...

【专利技术属性】
技术研发人员:查礼王一帆张星洲查斌刘峥程学旗
申请(专利权)人:中国科学院计算技术研究所
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1