取下一 IO隊(duì)列。
[0049] 通過(guò)上述步驟,在計(jì)算每個(gè)IO隊(duì)列對(duì)應(yīng)的處理時(shí)間片時(shí)充分考慮到每個(gè)IO隊(duì)列的 量化距離,從而通過(guò)采用更合理的處理時(shí)間片的計(jì)算方式,充分考慮到了尋道情況,進(jìn)一步 減少了磁頭移動(dòng)幅度,提高了磁盤(pán)IO吞吐率。
[0050] 其中,利用每個(gè)IO隊(duì)列的量化距離及優(yōu)化優(yōu)先級(jí)計(jì)算每個(gè)IO隊(duì)列的處理時(shí)間片, 可以包括:
[0051 ]按照每個(gè)IO隊(duì)列的量化距離與該IO隊(duì)列的處理時(shí)間片成反比,優(yōu)化優(yōu)先級(jí)與該IO 隊(duì)列的處理時(shí)間片成正比的原則確定每個(gè)IO隊(duì)列的處理時(shí)間片。
[0052]簡(jiǎn)單來(lái)說(shuō),量化距離越大,對(duì)應(yīng)的處理時(shí)間片越小,而優(yōu)化優(yōu)先級(jí)越大,對(duì)應(yīng)的處 理時(shí)間片越大,具體來(lái)說(shuō),利用任一 IO隊(duì)列的量化距離及優(yōu)化優(yōu)先級(jí)確定其處理時(shí)間片的 計(jì)算函數(shù)可以表示為:
[0054] 其中,w表示量化距離,P表示對(duì)應(yīng)的優(yōu)化優(yōu)先級(jí),T表示處理時(shí)間片,而t表示預(yù)先 設(shè)定的時(shí)間塊常量,通??梢栽O(shè)定為取值較小的時(shí)間塊常量;T越大,表示分配給對(duì)應(yīng)IO隊(duì) 列的處理時(shí)間片越大,時(shí)間越長(zhǎng)。
[0055] 與之對(duì)應(yīng)的,利用每個(gè)IO隊(duì)列量化距離及預(yù)先設(shè)定的每個(gè)IO隊(duì)列的原始優(yōu)先級(jí), 計(jì)算每個(gè)IO隊(duì)列的優(yōu)化優(yōu)先級(jí),可以包括:
[0056] 按照每個(gè)IO隊(duì)列的量化距離與該IO隊(duì)列的優(yōu)化優(yōu)先級(jí)成反比,原始優(yōu)先級(jí)與該IO 隊(duì)列的優(yōu)化優(yōu)先級(jí)成正比的原則確定每個(gè)IO隊(duì)列的優(yōu)化優(yōu)先級(jí)。
[0057] 簡(jiǎn)單來(lái)說(shuō),量化距離越大,對(duì)應(yīng)的優(yōu)化優(yōu)先級(jí)越低,原始優(yōu)先級(jí)越高,對(duì)應(yīng)的優(yōu)化 優(yōu)先級(jí)越高,具體來(lái)說(shuō),任一 IO隊(duì)列的量化距離及原始優(yōu)先級(jí)確定其優(yōu)化優(yōu)先級(jí)的計(jì)算函 數(shù)可以表示為:
[0059] 其中,P表示優(yōu)化優(yōu)先級(jí),a表示對(duì)應(yīng)原始優(yōu)先級(jí),w表示量化距離,如表示全部IO隊(duì) 列對(duì)應(yīng)的量化距離的和;P越大,表示對(duì)應(yīng)IO隊(duì)列的優(yōu)化優(yōu)先級(jí)越高。
[0060] 本發(fā)明實(shí)施例提供的一種IO調(diào)取方法中,獲取每個(gè)IO隊(duì)列的量化距離,可以包括:
[0061] 獲取任意IO隊(duì)列中每個(gè)IO請(qǐng)求對(duì)應(yīng)的起始磁盤(pán)位置與當(dāng)前磁頭位置的距離的平 均值為該10隊(duì)列的量化距離。
[0062] 需要說(shuō)明的是,對(duì)于每個(gè)IO隊(duì)列的量化距離的計(jì)算方式可以根據(jù)實(shí)際需要進(jìn)行確 定,如可以確定每個(gè)IO隊(duì)列中排列在第一個(gè)IO請(qǐng)求對(duì)應(yīng)起始磁盤(pán)位置與當(dāng)前磁頭位置的距 離為量化距離,也可以將每個(gè)IO隊(duì)列中任意指定數(shù)量個(gè)IO請(qǐng)求對(duì)應(yīng)起始磁盤(pán)位置與當(dāng)前磁 頭位置的距離平均值為量化距離,還可以是其他方式,均在本發(fā)明的保護(hù)范圍之內(nèi)。而優(yōu)選 的方式為,確定每個(gè)IO隊(duì)列中全部IO請(qǐng)求對(duì)應(yīng)的起始磁盤(pán)位置和當(dāng)前磁頭位置的距離的平 均值為量化距離,由此,能夠充分考慮到該IO隊(duì)列中的每個(gè)IO請(qǐng)求,提高了量化距離的準(zhǔn)確 性。
[0063] 本發(fā)明實(shí)施例提供的一種IO調(diào)取方法中,獲取每個(gè)IO隊(duì)列的量化距離之前,還可 以包括:
[0064] 判斷外界是否輸入有優(yōu)先級(jí)信息,如果是,則按照優(yōu)先級(jí)信息中包含的每個(gè)IO隊(duì) 列的指定優(yōu)先級(jí)對(duì)IO隊(duì)列進(jìn)行輪詢,如果否,則獲取每個(gè)IO隊(duì)列的量化距離。
[0065] 需要說(shuō)明的是,某些特殊情況下,需要按照工作人員設(shè)定的優(yōu)先級(jí)對(duì)IO隊(duì)列進(jìn)行 輪詢,因此,在獲取每個(gè)IO隊(duì)列的量化距離之前,還可以判斷外界是否輸入有優(yōu)先級(jí)信息, 如果有,則說(shuō)明工作人員設(shè)定有對(duì)應(yīng)每個(gè)IO隊(duì)列的優(yōu)先級(jí),此時(shí),可以按照工作人員設(shè)定的 優(yōu)先級(jí)對(duì)IO隊(duì)列進(jìn)行輪詢調(diào)度,如果否,則獲取每個(gè)IO隊(duì)列的量化距離,進(jìn)而按照步驟Sll 至步驟S13完成對(duì)IO隊(duì)列的調(diào)度。由此,使得本發(fā)明實(shí)施例提供的一種IO調(diào)度方法更加靈活 及方便。
[0066] 與上述方法實(shí)施例相對(duì)應(yīng),本發(fā)明實(shí)施例還提供了一種IO調(diào)度裝置,如圖2所示, 可以包括:
[0067] 獲取模塊11,用于獲取每個(gè)IO隊(duì)列的量化距離,其中,任一IO隊(duì)列的量化距離為對(duì) 該IO隊(duì)列中每個(gè)IO請(qǐng)求對(duì)應(yīng)的起始磁盤(pán)位置和當(dāng)前磁頭位置之間的距離進(jìn)行計(jì)算得到的;
[0068] 第一計(jì)算模塊12,用于利用每個(gè)IO隊(duì)列的量化距離及預(yù)先設(shè)定的每個(gè)IO隊(duì)列的原 始優(yōu)先級(jí),計(jì)算每個(gè)IO隊(duì)列的優(yōu)化優(yōu)先級(jí);
[0069] 輪詢模塊13,用于按照優(yōu)化優(yōu)先級(jí)對(duì)IO隊(duì)列進(jìn)行輪詢調(diào)度。
[0070] 本申請(qǐng)?zhí)峁┑纳鲜黾夹g(shù)方案中,依據(jù)預(yù)先設(shè)定的每個(gè)IO隊(duì)列的優(yōu)先級(jí)與每個(gè)IO隊(duì) 列的量化距離確定優(yōu)化優(yōu)先級(jí),而每個(gè)IO隊(duì)列的量化距離為對(duì)該IO隊(duì)列中每個(gè)IO請(qǐng)求對(duì)應(yīng) 的起始磁盤(pán)位置和當(dāng)前磁頭位置之間的距離進(jìn)行計(jì)算后得到的,進(jìn)而依據(jù)優(yōu)化優(yōu)先級(jí)對(duì)IO 隊(duì)列進(jìn)行輪詢調(diào)度,即,本申請(qǐng)中確定對(duì)IO隊(duì)列輪詢所依據(jù)的優(yōu)先級(jí)時(shí),不僅考慮到預(yù)先設(shè) 定的IO隊(duì)列本身的優(yōu)先級(jí),還考慮到IO隊(duì)列中每個(gè)IO請(qǐng)求對(duì)應(yīng)的起始磁盤(pán)位置和當(dāng)前磁頭 位置之間的距離,因此,不僅能夠達(dá)到IO隊(duì)列的公平輪詢,還能夠減少磁頭移動(dòng)幅度,進(jìn)一 步減少磁盤(pán)尋道時(shí)間,從而有效提尚了磁盤(pán)的IO吞吐率。
[0071] 本發(fā)明實(shí)施例提供的一種IO調(diào)度裝置中,還可以包括:
[0072]第二計(jì)算模塊,用于利用每個(gè)IO隊(duì)列的量化距離及優(yōu)化優(yōu)先級(jí)計(jì)算每個(gè)IO隊(duì)列的 處理時(shí)間片。
[0073]本發(fā)明實(shí)施例提供的一種IO調(diào)度裝置中,第二計(jì)算模塊可以包括:
[0074]時(shí)間片計(jì)算單元,用于按照每個(gè)IO隊(duì)列的量化距離與該IO隊(duì)列的處理時(shí)間片成反 比,優(yōu)化優(yōu)先級(jí)與該IO隊(duì)列的處理時(shí)間片成正比的原則確定每個(gè)IO隊(duì)列的處理時(shí)間片。
[0075] 本發(fā)明實(shí)施例提供的一種IO調(diào)度裝置中,第一計(jì)算模塊可以包括:
[0076] 優(yōu)先級(jí)計(jì)算單元,用于按照每個(gè)IO隊(duì)列的量化距離與該IO隊(duì)列的優(yōu)化優(yōu)先級(jí)成反 比,原始優(yōu)先級(jí)與該IO隊(duì)列的優(yōu)化優(yōu)先級(jí)成正比的原則確定每個(gè)IO隊(duì)列的優(yōu)化優(yōu)先級(jí)。
[0077] 本發(fā)明實(shí)施例提供的一種IO調(diào)度裝置中,獲取模塊可以包括:
[0078] 獲取單元,用于獲取任意IO隊(duì)列中每個(gè)IO請(qǐng)求對(duì)應(yīng)的起始磁盤(pán)位置與當(dāng)前磁頭位 置的距離的平均值為該IO隊(duì)列的量化距離。
[0079] 本發(fā)明實(shí)施例提供的一種IO調(diào)度裝置中,還可以包括:
[0080] 觸發(fā)模塊,用于判斷外界是否輸入有優(yōu)先級(jí)信息,如果是,則按照優(yōu)先級(jí)信息中包 含的每個(gè)IO隊(duì)列的指定優(yōu)先級(jí)對(duì)IO隊(duì)列進(jìn)行輪詢,如果否,則獲取每個(gè)IO隊(duì)列的量化距離。
[0081] 本發(fā)明實(shí)施例提供的一種IO調(diào)度裝置中相關(guān)內(nèi)容的說(shuō)明請(qǐng)參見(jiàn)本發(fā)明實(shí)施例提 供的上述IO調(diào)度方法中對(duì)應(yīng)部分的具體說(shuō)明。
[0082] 對(duì)所公開(kāi)的實(shí)施例的上述說(shuō)明,使本領(lǐng)域技術(shù)人員能夠?qū)崿F(xiàn)或使用本發(fā)明。對(duì)這 些實(shí)施例的多種修改對(duì)本領(lǐng)域技術(shù)人員來(lái)說(shuō)將是顯而易見(jiàn)的,本文中所定義的一般原理可 以在不脫離本發(fā)明的精神或范圍的情況下,在其它實(shí)施例中實(shí)現(xiàn)。因此,本發(fā)明將不會(huì)被限 制于本文所示的這些實(shí)施例,而是要符合與本文所公開(kāi)的原理和新穎特點(diǎn)相一致的最寬的 范圍。
【主權(quán)項(xiàng)】
1. 一種10調(diào)度方法,其特征在于,包括: 獲取每個(gè)10隊(duì)列的量化距離,其中,任一 10隊(duì)列的量化距離為對(duì)該10隊(duì)列中每個(gè)10請(qǐng) 求對(duì)應(yīng)的起始磁盤(pán)位置和當(dāng)前磁頭位置之間的距離進(jìn)行計(jì)算得到的; 利用每個(gè)所述10隊(duì)列的量化距離及預(yù)先設(shè)定的每個(gè)所述10隊(duì)列的原始優(yōu)先級(jí),計(jì)算每 個(gè)所述10隊(duì)列的優(yōu)化優(yōu)先級(jí); 按照所述優(yōu)化優(yōu)先級(jí)對(duì)所述10隊(duì)列進(jìn)行輪詢調(diào)度。2. 根據(jù)權(quán)利要求1所述的方法,其特征在于,還包括: 利用每個(gè)所述10隊(duì)列的量化距離及優(yōu)化優(yōu)先級(jí)計(jì)算每個(gè)所述10隊(duì)列的處理時(shí)間片。3. 根據(jù)權(quán)利要求2所述的方法,其特征在于,利用每個(gè)所述10隊(duì)列的量化距離及優(yōu)化優(yōu) 先級(jí)計(jì)算每個(gè)所述10隊(duì)列的處理時(shí)間片,包括: 按照每個(gè)所述10隊(duì)列的量化距離與該10隊(duì)列的處理時(shí)間片成反比,優(yōu)化優(yōu)先級(jí)與該10 隊(duì)列的處理時(shí)間片成正比的原則確定每個(gè)所述10隊(duì)列的處理時(shí)間片。4. 根據(jù)權(quán)利要求3所述的方法,其特征在于,利用每個(gè)所述10隊(duì)列的量化距離及預(yù)先設(shè) 定的每個(gè)所述10隊(duì)列的原始優(yōu)先級(jí),計(jì)算每個(gè)所述10隊(duì)列的優(yōu)化優(yōu)先級(jí),包括: 按照每個(gè)所述10隊(duì)列的量化距離與該10隊(duì)列的優(yōu)化優(yōu)先級(jí)成反比,原始優(yōu)先級(jí)與該10 隊(duì)列的優(yōu)化優(yōu)先級(jí)成正比的原則確定每個(gè)所述10隊(duì)列的優(yōu)化優(yōu)先級(jí)。5. 根據(jù)權(quán)利要求1所述的方法,其特征在于,獲取每個(gè)所述10隊(duì)列的量化距離,包括: 獲取任意所述10隊(duì)列中每個(gè)10請(qǐng)求對(duì)應(yīng)的起始磁盤(pán)位置與當(dāng)前磁頭位置的距離的平 均值為該10隊(duì)列的量化距離。6. 根據(jù)權(quán)利要求1至5任一項(xiàng)所述的方法,其特征在于,獲取每個(gè)所述10隊(duì)列的量化距 離之前,還包括: 判斷外界是否輸入有優(yōu)先級(jí)信息,如果是,則按照所述優(yōu)先級(jí)信息中包含的每個(gè)所述 10隊(duì)列的指定優(yōu)先級(jí)對(duì)所述10隊(duì)列進(jìn)行輪詢,如果否,則獲取每個(gè)所述10隊(duì)列的量化距離。7. -種10調(diào)度裝置,其特征在于,包括: 獲取模塊,用于獲取每個(gè)10隊(duì)列的量化距離,其中,任一 10隊(duì)列的量化距離為對(duì)該10隊(duì) 列中每個(gè)10請(qǐng)求對(duì)應(yīng)的起始磁盤(pán)位置和當(dāng)前磁頭位置之間的距離進(jìn)行計(jì)算得到的; 第一計(jì)算模塊,用于利用每個(gè)所述10隊(duì)列的量化距離及預(yù)先設(shè)定的每個(gè)所述10隊(duì)列的 原始優(yōu)先級(jí),計(jì)算每個(gè)所述10隊(duì)列的優(yōu)化優(yōu)先級(jí); 輪詢模塊,用于按照所述優(yōu)化優(yōu)先級(jí)對(duì)所述10隊(duì)列進(jìn)行輪詢調(diào)度。8. 根據(jù)權(quán)利要求7所述的裝置,其特征在于,還包括: 第二計(jì)算模塊,用于利用每個(gè)所述10隊(duì)列的量化距離及優(yōu)化優(yōu)先級(jí)計(jì)算每個(gè)所述10隊(duì) 列的處理時(shí)間片。9. 根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述獲取模塊包括: 獲取單元,用于獲取任意所述10隊(duì)列中每個(gè)10請(qǐng)求對(duì)應(yīng)的起始磁盤(pán)位置與當(dāng)前磁頭位 置的距離的平均值為該10隊(duì)列的量化距離。10. 根據(jù)權(quán)利要求7至9任一項(xiàng)所述的裝置,其特征在于,還包括: 觸發(fā)模塊,用于判斷外界是否輸入有優(yōu)先級(jí)信息,如果是,則按照所述優(yōu)先級(jí)信息中包 含的每個(gè)所述10隊(duì)列的指定優(yōu)先級(jí)對(duì)所述10隊(duì)列進(jìn)行輪詢,如果否,則獲取每個(gè)所述10隊(duì) 列的量化距離。
【專利摘要】本發(fā)明公開(kāi)了一種IO調(diào)度方法及裝置,其中,該方法包括:獲取每個(gè)IO隊(duì)列的量化距離,其中,任一IO隊(duì)列的量化距離為對(duì)該IO隊(duì)列中每個(gè)IO請(qǐng)求對(duì)應(yīng)的起始磁盤(pán)位置和當(dāng)前磁頭位置之間的距離進(jìn)行計(jì)算得到的;利用每個(gè)所述IO隊(duì)列的量化距離及預(yù)先設(shè)定的每個(gè)所述IO隊(duì)列的原始優(yōu)先級(jí),計(jì)算每個(gè)所述IO隊(duì)列的優(yōu)化優(yōu)先級(jí);按照所述優(yōu)化優(yōu)先級(jí)對(duì)所述IO隊(duì)列進(jìn)行輪詢調(diào)度。由此,不僅能夠達(dá)到IO隊(duì)列的公平輪詢,還能夠減少磁頭移動(dòng)幅度,進(jìn)一步減少磁盤(pán)尋道時(shí)間,從而有效提高了磁盤(pán)的IO吞吐率。
【IPC分類】G06F3/06
【公開(kāi)號(hào)】CN105549910
【申請(qǐng)?zhí)枴緾N201510927651
【發(fā)明人】張?jiān)螺x
【申請(qǐng)人】浪潮(北京)電子信息產(chǎn)業(yè)有限公司
【公開(kāi)日】2016年5月4日
【申請(qǐng)日】2015年12月14日