欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種io調(diào)度方法及裝置的制造方法

文檔序號:9787118閱讀:628來源:國知局
一種io調(diào)度方法及裝置的制造方法
【技術領域】
[0001] 本發(fā)明涉及數(shù)據(jù)存儲技術領域,更具體地說,涉及一種?ο調(diào)度方法及裝置。
【背景技術】
[0002] CFQ(Completely Fair Queuing,完全公平的排隊)算法是Linux系統(tǒng)的默認IO調(diào) 度算法,對于通用服務器來說通常是最好的選擇。
[0003]其中,CFQ算法的主要目標是在觸發(fā)10(Input/Output,輸入/輸出)請求的所有進 程中確保磁盤IO帶寬的公平分配,具體來說,CFQ算法使用多個排序隊列,任一排序隊列存 放對應于一個進程發(fā)出的IO請求,當利用CFQ算法處理一個IO請求時,內(nèi)核調(diào)用一個散列函 數(shù)確定當前進程的線程組標識符;然后,將一個新的IO請求插入與處理的IO請求對應的隊 列末尾。CFQ算法的本質(zhì)為采用輪詢方式掃描排序隊列,依據(jù)每個排序隊列的優(yōu)先級選擇第 一個非空隊列,依次調(diào)度不同隊列中特定個數(shù)(公平)的IO請求。但是發(fā)明人發(fā)現(xiàn),現(xiàn)有技術 中提供的上述技術方案僅僅考慮到IO隊列的優(yōu)先級,但是并沒有充分考慮到磁盤的尋道情 況,因此,利用上述方式選取排序隊列所達到的磁盤IO吞吐率較低。
[0004] 綜上所述,現(xiàn)有技術中利用CFQ算法選取排序隊列時存在磁盤IO吞吐率較低的問 題。

【發(fā)明內(nèi)容】

[0005] 本發(fā)明的目的是提供一種IO調(diào)度方法及裝置,以解決現(xiàn)有技術利用CFQ算法選取 排序隊列時存在的磁盤IO吞吐率較低的問題。
[0006] 為了實現(xiàn)上述目的,本發(fā)明提供如下技術方案:
[0007] 一種IO調(diào)度方法,包括:
[0008] 獲取每個IO隊列的量化距離,其中,任一IO隊列的量化距離為對該IO隊列中每個 IO請求對應的起始磁盤位置和當前磁頭位置之間的距離進行計算得到的;
[0009] 利用每個所述IO隊列的量化距離及預先設定的每個所述IO隊列的原始優(yōu)先級,計 算每個所述IO隊列的優(yōu)化優(yōu)先級;
[0010] 按照所述優(yōu)化優(yōu)先級對所述IO隊列進行輪詢調(diào)度。
[0011] 優(yōu)選的,還包括:
[0012] 利用每個所述IO隊列的量化距離及優(yōu)化優(yōu)先級計算每個所述IO隊列的處理時間 片。
[0013] 優(yōu)選的,利用每個所述IO隊列的量化距離及優(yōu)化優(yōu)先級計算每個所述IO隊列的處 理時間片,包括:
[0014] 按照每個所述IO隊列的量化距離與該IO隊列的處理時間片成反比,優(yōu)化優(yōu)先級與 該IO隊列的處理時間片成正比的原則確定每個所述IO隊列的處理時間片。
[0015] 優(yōu)選的,利用每個所述IO隊列的量化距離及預先設定的每個所述IO隊列的原始優(yōu) 先級,計算每個所述IO隊列的優(yōu)化優(yōu)先級,包括:
[0016] 按照每個所述IO隊列的量化距離與該IO隊列的優(yōu)化優(yōu)先級成反比,原始優(yōu)先級與 該IO隊列的優(yōu)化優(yōu)先級成正比的原則確定每個所述IO隊列的優(yōu)化優(yōu)先級。
[0017] 優(yōu)選的,獲取每個所述IO隊列的量化距離,包括:
[0018] 獲取任意所述IO隊列中每個IO請求對應的起始磁盤位置與當前磁頭位置的距離 的平均值為該IO隊列的量化距離。
[0019] 優(yōu)選的,獲取每個所述IO隊列的量化距離之前,還包括:
[0020] 判斷外界是否輸入有優(yōu)先級信息,如果是,則按照所述優(yōu)先級信息中包含的每個 所述IO隊列的指定優(yōu)先級對所述IO隊列進行輪詢,如果否,則獲取每個所述IO隊列的量化 距離。
[0021] 一種IO調(diào)度裝置,包括:
[0022] 獲取模塊,用于獲取每個IO隊列的量化距離,其中,任一IO隊列的量化距離為對該 IO隊列中每個IO請求對應的起始磁盤位置和當前磁頭位置之間的距離進行計算得到的;
[0023] 第一計算模塊,用于利用每個所述IO隊列的量化距離及預先設定的每個所述IO隊 列的原始優(yōu)先級,計算每個所述IO隊列的優(yōu)化優(yōu)先級;
[0024] 輪詢模塊,用于按照所述優(yōu)化優(yōu)先級對所述IO隊列進行輪詢調(diào)度。
[0025] 優(yōu)選的,還包括:
[0026]第二計算模塊,用于利用每個所述IO隊列的量化距離及優(yōu)化優(yōu)先級計算每個所述 IO隊列的處理時間片。
[0027]優(yōu)選的,所述獲取模塊包括:
[0028]獲取單元,用于獲取任意所述IO隊列中每個IO請求對應的起始磁盤位置與當前磁 頭位置的距離的平均值為該IO隊列的量化距離。
[0029] 優(yōu)選的,還包括:
[0030] 觸發(fā)模塊,用于判斷外界是否輸入有優(yōu)先級信息,如果是,則按照所述優(yōu)先級信息 中包含的每個所述IO隊列的指定優(yōu)先級對所述IO隊列進行輪詢,如果否,則獲取每個所述 IO隊列的量化距離。
[0031] 本發(fā)明提供了一種IO調(diào)度方法及裝置,其中,該方法包括:獲取每個IO隊列的量化 距離,其中,任一IO隊列的量化距離為對該IO隊列中每個IO請求對應的起始磁盤位置和當 前磁頭位置之間的距離進行計算得到的;利用每個所述IO隊列的量化距離及預先設定的每 個所述IO隊列的原始優(yōu)先級,計算每個所述IO隊列的優(yōu)化優(yōu)先級;按照所述優(yōu)化優(yōu)先級對 所述IO隊列進行輪詢調(diào)度。與現(xiàn)有技術相比,本申請?zhí)峁┑纳鲜黾夹g方案中,依據(jù)預先設定 的每個IO隊列的優(yōu)先級與每個IO隊列的量化距離確定優(yōu)化優(yōu)先級,而每個IO隊列的量化距 離為對該IO隊列中每個IO請求對應的起始磁盤位置和當前磁頭位置之間的距離進行計算 后得到的,進而依據(jù)優(yōu)化優(yōu)先級對IO隊列進行輪詢調(diào)度,即,本申請中確定對IO隊列輪詢所 依據(jù)的優(yōu)先級時,不僅考慮到預先設定的IO隊列本身的優(yōu)先級,還考慮到IO隊列中每個IO 請求對應的起始磁盤位置和當前磁頭位置之間的距離,因此,不僅能夠達到IO隊列的公平 輪詢,還能夠減少磁頭移動幅度,進一步減少磁盤尋道時間,從而有效提高了磁盤的IO吞吐 率。
【附圖說明】
[0032] 為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術中的技術方案,下面將對實施例或現(xiàn) 有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本 發(fā)明的實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù) 提供的附圖獲得其他的附圖。
[0033] 圖1為本發(fā)明實施例提供的一種IO調(diào)度方法的流程圖;
[0034]圖2為本發(fā)明實施例提供的一種IO調(diào)度裝置的結(jié)構示意圖。
【具體實施方式】
[0035]下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完 整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例。基于 本發(fā)明中的實施例,本領域普通技術人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他 實施例,都屬于本發(fā)明保護的范圍。
[0036] 請參閱圖1,其示出了本發(fā)明實施例提供的一種IO調(diào)度方法的流程圖,可以包括以 下步驟:
[0037] Sll:獲取每個IO隊列的量化距離,其中,任一IO隊列的量化距離為對該IO隊列中 每個IO請求對應的起始磁盤位置和當前磁頭位置之間的距離進行計算得到的。
[0038] 其中,每個IO請求對應的起始磁盤位置即為該IO請求寫入數(shù)據(jù)時對應的起始寫入 位置或者讀取數(shù)據(jù)時對應的起始讀取位置,而在寫入數(shù)字或者讀取數(shù)據(jù)時,需要由磁頭移 動至對應的起始位置進而完成寫入數(shù)據(jù)或者讀取數(shù)據(jù)的操作。因此,起始磁盤位置和當前 磁頭位置之間的距離越小,說明磁頭需移動的距離越小,起始磁盤位置和當前磁頭位置之 間的距離越大,說明磁頭需移動的距離越大。
[0039] S12:利用每個IO隊列的量化距離及預先設定的每個IO隊列的原始優(yōu)先級,計算每 個IO隊列的優(yōu)化優(yōu)先級。
[0040] 其中,對于每個IO隊列的原始優(yōu)先級可以根據(jù)實際需要進行確定,如可以是按照 發(fā)起IO請求的線程的優(yōu)先級確定該IO請求所屬IO隊列的優(yōu)先級,也可以是按照每個IO隊列 中IO請求的數(shù)量進行確定該IO隊列的優(yōu)先級,還可以按照現(xiàn)有技術中基于CFQ算法對IO隊 列進行輪詢時所依據(jù)的優(yōu)先級作為IO隊列的原始優(yōu)先級,或者可以是其他方式,均在本發(fā) 明的保護范圍之內(nèi)。
[0041] 而利用每個IO隊列的量化距離及預先設定的每個IO隊列的原始優(yōu)先級確定優(yōu)化 優(yōu)先級的具體確定方式也可以根據(jù)實際需要進行確定,由此,在確定每個IO隊列在輪詢時 所依據(jù)的優(yōu)化優(yōu)先級時,充分考慮到了 IO隊列的量化距離。而由于磁盤的尋道時間嚴重制 約磁盤性能,若想提高磁盤的IO性能(主要包括IO吞吐率),則需要減少磁盤尋道時間,而減 少磁盤尋道時間又可以是通過減少磁頭移動幅度來實現(xiàn)的,因此,本申請中通過對IO隊列 的量化距離的考慮能夠減少磁頭移動幅度,進一步減少尋道時間,提高磁盤IO吞吐率。
[0042] S13:按照優(yōu)化優(yōu)先級對IO隊列進行輪詢調(diào)度。
[0043] 需要說明的是,利用優(yōu)化優(yōu)先級對IO隊列進行輪詢調(diào)度的方式可以與現(xiàn)有技術的 CFQ算法中利用IO隊列本身的優(yōu)先級進行輪詢調(diào)度的方式相同,區(qū)別僅僅在于本發(fā)明中為 依據(jù)優(yōu)化優(yōu)先級,而現(xiàn)有技術的CFQ算法中僅僅依據(jù)IO隊列本身的優(yōu)先級,從而實現(xiàn)對于現(xiàn) 有技術的CFQ算法的優(yōu)化。
[0044] 本申請?zhí)峁┑纳鲜黾夹g方案中,依據(jù)預先設定的每個IO隊列的優(yōu)先級與每個IO隊 列的量化距離確定優(yōu)化優(yōu)先級,而每個IO隊列的量化距離為對該IO隊列中每個IO請求對應 的起始磁盤位置和當前磁頭位置之間的距離進行計算后得到的,進而依據(jù)優(yōu)化優(yōu)先級對IO 隊列進行輪詢調(diào)度,即,本申請中確定對IO隊列輪詢所依據(jù)的優(yōu)先級時,不僅考慮到預先設 定的IO隊列本身的優(yōu)先級,還考慮到IO隊列中每個IO請求對應的起始磁盤位置和當前磁頭 位置之間的距離,因此,不僅能夠達到IO隊列的公平輪詢,還能夠減少磁頭移動幅度,進一 步減少磁盤尋道時間,從而有效提尚了磁盤的IO吞吐率。
[0045] 本發(fā)明實施例提供的一種IO調(diào)取方法中,還可以包括:
[0046] 利用每個IO隊列的量化距離及優(yōu)化優(yōu)先級計算每個IO隊列的處理時間片。
[0047] 需要說明的是,對于處理時間片的計算可以是在對IO隊列進行輪詢調(diào)度前,也可 以是在選取某一 IO隊列后,在對該IO隊列中的IO請求進程處理前,均在本發(fā)明的保護范圍 之內(nèi)。
[0048] 需要說明的是,處理時間片即為為IO隊列分配的處理時間,如選取某一IO隊列后, 一般對IO隊列中的IO請求的處理持續(xù)與處理時間片對應的時間,如果在處理時間片對應的 時間內(nèi)并未處理完該IO隊列中的IO請求,則停止處理并選取下一 IO隊列,如果在處理時間 片對應的時間內(nèi)提前處理完該IO隊列中的IO請求,即未達到處理時間片對應的時間時就處 理完IO隊列中的IO請求,則直接選
當前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
道孚县| 进贤县| 峡江县| 凉山| 土默特左旗| 涟源市| 常宁市| 花垣县| 长乐市| 湖南省| 华池县| 江源县| 浙江省| 临桂县| 盐池县| 十堰市| 岫岩| 镇原县| 凤庆县| 辽中县| 东丽区| 锡林浩特市| 赤峰市| 蓝田县| 揭阳市| 辽阳市| 正阳县| 普格县| 鄯善县| 玛沁县| 柞水县| 黄平县| 庐江县| 伊金霍洛旗| 平顺县| 星座| 奉新县| 右玉县| 禄丰县| 诸暨市| 漳浦县|