個人心情和 Linux / FreeBSD 等技術

2007/04/03

linux上的I/O排程

筆記一下查到的資訊~~
Linux2.6 包含的 4 個 I/O 排程器分別是
No-op I/O scheduler, Anticipatory I/O scheduler,
Deadline I/O scheduler, CFQ I/O scheduler

No-op scheduler 是一個簡化的排程程式它只作最基本的合併
與排序。與上管理系統系統的關係不是很大,主要用在一些
特殊的軟體與硬體環境下,這些軟體與硬體一般都擁有自己的
排程機制對核心支援的要求很小,這很適合一些內嵌式系統
環境。作為上管理系統用戶我們一般不會選取它。

Anticipatory scheduler 是目前核心中預設的 I/O 排程器。
它擁有非常好的效能,在 2.5 中它就相當引人注意。在與
2.4 核心進行的對比測試中,在 2.4 中多項以分鐘為單位
完成的工作,它則是以秒為單位來完成的。正因為如此它
成為目前 2.6 測試版中預設的I/O 排程器。但它也存在著
弱點,它本身是比對龐大與複雜的,在一些特殊的情況
下,特別是在資料吞吐量非常大的資料程式庫系統中它會
變的比較緩慢

Deadline scheduler 就是針對 as 的缺點進行改善而來的
,還處於測試階段,但已經很穩定了。目前表現出的效能
幾乎與 Anticipatory一樣好。且比 Anticipatory 更加小巧,
是相當有前途的排程器。

CFQ scheduler 為系統內的所有工作配置相同的頻寬,
提供一個公平的工作環境,它比較適合桌面系統環境
事實上在測試中它也有不錯的表現

沒有留言: