实时数据库I/O调度(数据库)
时间:2022-11-13 16:30:01 | 来源:信息时代
时间:2022-11-13 16:30:01 来源:信息时代
实时数据库I/O调度 : 具有优先级的实时事务I/O请求的调度策略,亦即必须考虑事务优先级的磁盘数据存取的排序策略。RTDB的I/O调度不同于传统数据库完全由操作系统完成,它必须考虑事务的优先级,因为磁盘I/O调度策略对事务定时限制的满足和系统性能有极大影响。图1为一个典型的I/O调度例子:设在I/O队列中有四个请求A、B、C、D,它们对应事务的优先级顺序为: pr(A)>pr(B)>pr(C)>pr(D)。
图1 磁盘调度例子
表1 典型I/O调度策略示范
策略 | 服务顺序 | 磁头换向次数 | 移动磁道数 |
SCAN | D,B,A,C | 2 | 13 |
HPF | A,B,C,D | 4 | 34 |
ELEVATOR | D,B,C,A | 1 | 11 |
FD-SCAN | C,A,D,B | 2 | 14 |
HPGF | (B,A),(C,D) | 2 | 18 |
表1列出了典型I/O调度策略用于该例的主要性能指标。各种策略的应用情况分析如下:
(1) SCAN(扫描)策略: 磁头从最内/外磁道单向线性单调扫描并服务各I/O请求。虽然它的性能不错,但问题是它根本不考虑事务的优先级,故对实时事务不适合。
(2) HPF策略: 完全按事务的优先级服务。但是如表1所示,磁头换向的次数及移动的磁道数最多,这将延长I/O时间,影响定时限制的满足。
(3) ELEVATOR(电梯)策略:磁头双向移动,当到达端点或其前方已无请求时,则换向前进。在磁头移动的道路上随时服务于所遇到的请求。它也不考虑优先级,由表1看出,它的性能最好,但其请求的优先级顺序全颠倒了。
(4) FD-SCAN(feasible deadline scanning)策略:将“电梯”思想引入HPF,让磁头总朝着最高优先级请求的方向扫描,在经历的路上,随时服务所遇到的请求。实验表明,FD-SCAN满足截止时间的性能最好,且参数设置范围很宽而优点不变。
(5) HPGF策略:将请求分成几个优先级组,每次服务于最高优先级组,组内则用ELEVATOR算法。实验研究表明,对于高优先级请求的服务性能非常接近ELEVATOR的。但一般查找性能(主要对那些低优先级请求)要差一些,而这符合实时系统强调高优先级服务的要求。
上例表明,HPGF策略是最合适的,但有时还要综合权衡各种因素。