并行磁盘预取与排队写入的对偶性
在并行磁盘系统中,预取和排队写入是两个重要的操作,它们之间存在着有趣的对偶关系。下面将详细探讨这种对偶性,以及相关的最优调度算法和它们在排序中的应用。
1. 预取与写入的对偶原理
对偶原理表明,读取和写入不仅具有相似的模型,而且在某种有趣的意义上是相互等价的。
假设有一个不同写请求序列 $\Sigma = \langle b_0, \ldots, b_{L - 1} \rangle$,设 $oStep$ 是 $\Sigma$ 的一个正确输出调度,使用了 $T$ 个输出步骤。那么,通过设置 $iStep(b_i) = T - oStep(b_i) + 1$,可以得到 $\Sigma_R = \langle b_{L - 1}, \ldots, b_0 \rangle$ 的一个正确预取调度 $iStep$,且使用 $T$ 个预取步骤。反之亦然,$\Sigma_R$ 的每个使用 $T$ 个预取步骤的正确预取调度 $iStep$,通过 $oStep(b_i) = T - iStep(b_i) + 1$ 可以得到 $\Sigma$ 的一个使用 $T$ 个输出步骤的正确输出调度。
2. 一次性写入和读取的最优调度
为了实现一次性写入序列的最优调度,我们引入了贪心写入算法(greedyWriting)。以下是该算法的具体步骤:
1. 设 $Q$ 表示缓冲池中的块集合,初始时 $Q = \varnothing$,$Q_d = {b \in Q : disk(b) = d}$。
2. 按顺序写入块 $b_i$:
- 如果 $|Q| < m$,则将 $b_i$ 插入 $Q$。
-
超级会员免费看
订阅专栏 解锁全文

2万+

被折叠的 条评论
为什么被折叠?



