Advertisement

linux内核块设备四中的deadline调度算法

阅读量:

就整体而言而言,在该算法中对请求任务的优先权控制调度进行了安排,并主要体现在以下几个方面:

实现对读写请求的独立调度机制,在通常情况下给予读请求较高的调度优先级;当 write 请求可能因资源耗尽而陷入低效状态时,则会转而进行 write 请求的调度处理。这种机制能够有效降低 read 请求在系统中的等待时间

采用按顺序批量处理策略进行管理。针对那些邻近地址且有序排列的请求给予优先级调度权。比如当一个write request被调度执行时其邻近的任务将在随后的操作中被立即执行以避免磁盘抖动的发生程度最大化地降低磁盘抖动效果

3)确保每个请求都能满足其延迟要求。所有请求数字都被设定了一个最大允许的时间延展。当某个请求数字的时间延展达到上限时(即达到了预设的最大延迟时间),该请求数字将被提前执行,并且这将导致磁盘访问顺序被打乱,并可能影响系统性能。但是这种方法仍能保证每个请求数字的最大允许延展。

数据结构:

复制代码
 struct deadline_data {

    
     /* * run time data
    
      */
    
  
    
     /* * requests (deadline_rq s) are present on both sort_list and fifo_list
    
      */
    

全部评论 (0)

还没有任何评论哟~