專(zhuān)利名稱(chēng):使用范圍帶寬以控制盤(pán)輸入/輸出的方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
以下公開(kāi)涉及一種用于控制提供范圍帶寬的盤(pán)輸入/輸出(I/O)的方法和系統(tǒng), 且具體地,涉及一種用于控制提供I/O范圍帶寬的盤(pán)I/O的方法和系統(tǒng),以基于為每個(gè)進(jìn)程 或每個(gè)進(jìn)程組預(yù)設(shè)的盤(pán)I/O最小和最大帶寬來(lái)處理盤(pán)I/O。
背景技術(shù):
在現(xiàn)有技術(shù)中的用于為每個(gè)進(jìn)程或每個(gè)進(jìn)程組控制盤(pán)I/O的方法中,根據(jù)每個(gè)進(jìn) 程或每個(gè)進(jìn)程組的重要性分配權(quán)重。這里,向較為重要的進(jìn)程或進(jìn)程組分配比較為不重要 的進(jìn)程或進(jìn)程組更大的I/O帶寬。但是,該方法存在局限,在于其很難根據(jù)每個(gè)進(jìn)程或進(jìn)程組的權(quán)重估計(jì)將要分配 多少I(mǎi)/O帶寬。對(duì)于另外的例子,存在一種根據(jù)每個(gè)進(jìn)程或進(jìn)程組的重要性按比例分配I/O帶寬 的方法。但是,該方法也存在局限,在于其很難知道將要分配給每個(gè)進(jìn)程或進(jìn)程組的I/O帶 寬。此外,所分配的帶寬根據(jù)盤(pán)I/O系統(tǒng)的規(guī)范而趨于變化,這樣要求以確保盤(pán)I/O性能和 服務(wù)質(zhì)量(QoS),由此會(huì)有害地影響盤(pán)I/O系統(tǒng)。
發(fā)明內(nèi)容
在一個(gè)總的方面,一種用于控制盤(pán)輸入/輸出(I/O)的方法包括檢測(cè)消耗的作為 盤(pán)I/O的處理單元的令牌的數(shù)量;以及使用預(yù)設(shè)的最小盤(pán)I/O帶寬和預(yù)設(shè)的最大盤(pán)I/O帶 寬根據(jù)消耗的令牌的數(shù)量分配作為用于處理盤(pán)I/O的持續(xù)時(shí)間的時(shí)間片。在另一個(gè)總的方面,一種用于控制多個(gè)進(jìn)程或進(jìn)程組請(qǐng)求的盤(pán)I/O的方法包括 檢測(cè)對(duì)于每個(gè)進(jìn)程或進(jìn)程組消耗的作為盤(pán)I/O的處理單元的令牌的數(shù)量;以及當(dāng)存在其中 消耗的令牌的數(shù)量不超過(guò)與為進(jìn)程或進(jìn)程組預(yù)設(shè)的最小盤(pán)I/O帶寬對(duì)應(yīng)的I/O令牌的最小 數(shù)量的進(jìn)程或進(jìn)程組時(shí),按照在多個(gè)進(jìn)程或進(jìn)程組之間確定的順序?yàn)槊總€(gè)進(jìn)程或進(jìn)程組分 配作為用于處理盤(pán)I/O的持續(xù)時(shí)間的時(shí)間片。在再一個(gè)總的方面,一種用于控制多個(gè)進(jìn)程或進(jìn)程組請(qǐng)求的盤(pán)I/O的系統(tǒng)包括 確定單元,用于確定消耗的作為盤(pán)I/O的處理單元的令牌的數(shù)量是否不超過(guò)與為進(jìn)程或進(jìn) 程組預(yù)設(shè)的最小盤(pán)I/O帶寬對(duì)應(yīng)的I/O令牌的最小數(shù)量;以及時(shí)間片單元,如果消耗的令牌 的數(shù)量不超過(guò)I/O令牌的最小數(shù)量,則按照在多個(gè)進(jìn)程或進(jìn)程組之間確定的順序?yàn)槊總€(gè)進(jìn) 程或進(jìn)程組分配作為用于處理盤(pán)I/O的持續(xù)時(shí)間的時(shí)間片。根據(jù)以下詳細(xì)說(shuō)明,附圖和權(quán)利要求書(shū),其他特征和方面會(huì)變得清楚。
圖1是說(shuō)明根據(jù)示范實(shí)施例的用于控制盤(pán)輸入/輸出(I/O)的方法的流程圖。圖2是說(shuō)明通過(guò)將根據(jù)示范實(shí)施例的用于控制盤(pán)I/O的方法與局部I/O模式關(guān)聯(lián)的局部I/O模式的改變的圖。
圖3是說(shuō)明根據(jù)另一示范實(shí)施例的用于控制盤(pán)I/O的方法的流程圖。圖4是說(shuō)明通過(guò)將根據(jù)另一示范實(shí)施例的用于控制盤(pán)I/O的方法與全局I/O模式 關(guān)聯(lián)的全局I/O模式的改變的圖。圖5是說(shuō)明根據(jù)另一示范實(shí)施例的用于控制盤(pán)I/O的系統(tǒng)的圖。
具體實(shí)施例方式下面,將參照附圖詳細(xì)說(shuō)明示范實(shí)施例。貫穿附圖和詳細(xì)的說(shuō)明中, 除了另外說(shuō)明 的,相同附圖參考數(shù)字將理解為指代相同部件、特征和結(jié)構(gòu)。這些部件的相對(duì)大小和刻畫(huà)為 了清晰、示意和方便可以擴(kuò)大。提供以下詳細(xì)說(shuō)明以幫助讀者獲得這里所述的方法、裝置和 /系統(tǒng)的充分理解。因此,可以向本領(lǐng)域的普通技術(shù)人員建議關(guān)于這里所述的方法、裝置和 /系統(tǒng)的各種改變、修改以及等價(jià)物。同樣,為了更加清楚和簡(jiǎn)潔可以省去公知功能和構(gòu)造 的說(shuō)明。另外,進(jìn)程組可以指代用于支持具體服務(wù)的作業(yè)中彼此相關(guān)的多個(gè)進(jìn)程,或指代 具有需要在相同管理策略下執(zhí)行的要求的多個(gè)進(jìn)程。下面,將參照附圖詳細(xì)說(shuō)明示范實(shí)施例。將參考圖1和2描述根據(jù)示范實(shí)施例的控制盤(pán)輸入/輸出(I/O)的方法。圖1是說(shuō)明根據(jù)示范實(shí)施例的用于控制盤(pán)I/O的方法的流程圖。圖2是說(shuō)明通過(guò) 將根據(jù)示范實(shí)施例的用于控制盤(pán)I/O的方法與局部I/O模式關(guān)聯(lián)的局部I/O模式的改變的 圖。如圖1所述,在操作SlOO中,控制盤(pán)I/O的盤(pán)I/O調(diào)度器檢測(cè)消耗的用于處理盤(pán) I/O的作為盤(pán)I/O的處理單元的令牌(token)的數(shù)量。也即,盤(pán)I/O調(diào)度器檢測(cè)多少令牌被 用來(lái)處理由進(jìn)程或進(jìn)程組請(qǐng)求的盤(pán)I/O。例如,當(dāng)分配給進(jìn)程或進(jìn)程組的I/O帶寬是大約40MBps,且為512字節(jié)消耗一個(gè)令 牌時(shí),那么在盤(pán)I/O中每秒會(huì)消耗的令牌的數(shù)量可以是大約81920。盤(pán)I/O調(diào)度器可以從 分配給進(jìn)程或進(jìn)程組的令牌的總數(shù)量(例如,81920)中減去根據(jù)執(zhí)行的1/0(例如,20M字 節(jié))的令牌的數(shù)量(例如,40960),并且使用剩余的令牌的數(shù)量(例如,40960)檢測(cè)消耗的 令牌的數(shù)量。基于由系統(tǒng)管理員根據(jù)進(jìn)程或進(jìn)程組的重要性預(yù)設(shè)的最小盤(pán)I/O帶寬(例如, 40MBps)和最大盤(pán)I/O帶寬(例如,SOMBps),盤(pán)I/O調(diào)度器根據(jù)消耗的令牌的數(shù)量分配時(shí)間 片,該時(shí)間片是用于盤(pán)I/O的處理的持續(xù)時(shí)間。這里,最小盤(pán)I/O帶寬是用于確保進(jìn)程或進(jìn)程組執(zhí)行的服務(wù)的QoS的最小I/O帶 寬,可以意味著必需的I/O帶寬。最大盤(pán)I/O帶寬是在處理由進(jìn)程或進(jìn)程組請(qǐng)求的盤(pán)I/O 時(shí)不能超過(guò)的I/O帶寬,而且可以意味著限制的I/O帶寬。下面將概述由盤(pán)I/O調(diào)度器使用預(yù)設(shè)的最小盤(pán)I/O帶寬和預(yù)設(shè)的最大盤(pán)I/O帶寬 根據(jù)消耗的令牌的數(shù)量分配時(shí)間片的方法。在操作S110,當(dāng)消耗的令牌的數(shù)量小于或等于與最小盤(pán)I/O帶寬(40MBps)對(duì)應(yīng)的 I/O令牌的最小數(shù)量(81920)時(shí),在操作S120中盤(pán)I/O調(diào)度器可以與用于處理盤(pán)I/O的最 小盤(pán)I/O帶寬(例如,I/O令牌的最小數(shù)量)的大小成比例地分配時(shí)間片。這里,成比例的時(shí)間片表示如下
成比例的時(shí)間片=時(shí)間片的基本單位+{時(shí)間片的基本單位*(1/0令牌的最小數(shù) 量/可用令牌的總數(shù)量)}可用令牌的總數(shù)量可以指當(dāng)至少兩個(gè)進(jìn)程或進(jìn)程組請(qǐng)求盤(pán)I/O時(shí)為每個(gè)進(jìn)程或 進(jìn)程組分配用于處理盤(pán)I/O的全部令牌的數(shù)量??捎昧钆瓶梢杂脕?lái)僅處理由特定進(jìn)程或進(jìn) 程組請(qǐng)求的盤(pán)I/O。與對(duì)具有較小的最小帶寬的進(jìn)程或進(jìn)程組相比,對(duì)具有較大的最小帶寬的處理或 處理群的進(jìn)程或進(jìn)程組在盤(pán)片I/O的處理期間可以更頻繁地分配成比例的時(shí)間片。在操作S130,當(dāng)消耗的令牌的數(shù)量大于與最小盤(pán)I/O帶寬(40MBps)對(duì)應(yīng)的I/O令 牌的最小數(shù)量(81290)且小于或等于與最大盤(pán)I/O帶寬(SOMBps)對(duì)應(yīng)的I/O令牌的最大 數(shù)量(163840)時(shí),在操作S140中盤(pán)I/O調(diào)度器可以分配較少的時(shí)間片(例如,當(dāng)時(shí)間片的 基本單位是20到25滴答(tick)時(shí),為(時(shí)間片的基本單位)/5,即4到5滴答)。也即,當(dāng)消耗的令牌的數(shù)量大于與最小盤(pán)I/O帶寬(40MBps)對(duì)應(yīng)的I/O令牌的 最小數(shù)量(81290)且小于或等于與最大盤(pán)I/O帶寬(SOMBps)對(duì)應(yīng)的I/O令牌的最大數(shù)量 (163840)時(shí),盤(pán)I/O調(diào)度器可以分配比在處理關(guān)于進(jìn)程或進(jìn)程組的盤(pán)I/O時(shí)預(yù)設(shè)的時(shí)間片 的基本單位(從20到25滴答)少的時(shí)間片(4到5滴答)。這里,所減下的時(shí)間片(16到 20滴答)可以分配用于其它進(jìn)程或進(jìn)程組的盤(pán)I/O。當(dāng)消耗的令牌的數(shù)量大于與最大盤(pán)I/O帶寬(SOMBps)對(duì)應(yīng)的I/O令牌的最大數(shù) 量(163840)時(shí),在操作S150,盤(pán)I/O調(diào)度器可以不分配時(shí)間片。也即,當(dāng)消耗的令牌的數(shù)量大于與最大盤(pán)I/O帶寬(SOMBps)對(duì)應(yīng)的I/O令牌的最 大數(shù)量(163840)時(shí),沒(méi)有分配給相應(yīng)的進(jìn)程或進(jìn)程組的時(shí)間片可以被分配用于另外的進(jìn) 程或進(jìn)程組請(qǐng)求的盤(pán)I/O處理。如上所述,盤(pán)I/O調(diào)度器能夠通過(guò)在較多時(shí)間片分配用于由特定進(jìn)程或進(jìn)程組請(qǐng) 求的盤(pán)I/O處理時(shí)給由其它進(jìn)程或進(jìn)程組請(qǐng)求的盤(pán)I/O處理分配較少的時(shí)間片來(lái)高效率地 使用限制的盤(pán)I/O帶寬,并且為每個(gè)進(jìn)程或進(jìn)程組提供期望的I/O帶寬。下文中,將參考圖2詳細(xì)描述上述的控制盤(pán)I/O的方法。圖2說(shuō)明當(dāng)盤(pán)I/O調(diào)度器處理由進(jìn)程或進(jìn)程組PA請(qǐng)求的盤(pán)I/O持續(xù)從N秒到N+1 秒的一秒時(shí),根據(jù)處理時(shí)間的消逝的對(duì)應(yīng)于消耗的令牌的數(shù)量的局部I/O模式的改變。如圖2所示,局部I/O模式示出由進(jìn)程或進(jìn)程組(例如PA)請(qǐng)求的盤(pán)I/O的處理 狀態(tài)。局部I/O模式被劃分為L(zhǎng)_MINBW_I0模式210、L_RANGE_I0模式211和L_N0_I0模式 212。I/O模式每秒重復(fù)相同的形式,例如,維持在L_MINBW_I0模式210,或從L_MINBW_ IO模式210改變?yōu)長(zhǎng)_RANGE_I0模式211,或從L_RANGE_I0模式211改變?yōu)長(zhǎng)_N0_I0模式 212。也即,每秒重復(fù)以上的維持或改變。在每秒的開(kāi)始點(diǎn)201或結(jié)束點(diǎn)202處執(zhí)行對(duì)于參與I/O的全部進(jìn)程或進(jìn)程組的時(shí) 間片、消耗的令牌的數(shù)量、和I/O模式的初始化操作。當(dāng)消耗的令牌的數(shù)量小于或等于與最小盤(pán)I/O帶寬(40MBps)對(duì)應(yīng)的I/O令牌的最小數(shù)量(81920)時(shí),局部I/O模式是L_MINBW_I0模式210。在L_MINBW_I0模式210中盤(pán) I/O調(diào)度器可以與最小盤(pán)I/O帶寬的大小(例如,I/O令牌的最小數(shù)量)成比例地分配時(shí)間 片以處理由進(jìn)程或進(jìn)程組PA請(qǐng)求的盤(pán)I/O。
當(dāng)消耗的令牌的數(shù)量大于與最小盤(pán)I/O帶寬(40MBps)對(duì)應(yīng)的I/O令牌的最小數(shù) 量(81920)且不大于與最大盤(pán)I/O帶寬(SOMBps)對(duì)應(yīng)的I/O令牌的最大數(shù)量(163840)時(shí), 局部I/O模式是L_RANGE_I0模式211。在L_RANGE_I0模式211中盤(pán)I/O調(diào)度器可以分配 減小的時(shí)間片(例如,當(dāng)時(shí)間片的基本單位是20到25滴答時(shí),為(時(shí)間片的基本單位)/5, 即4到5滴答)以處理由進(jìn)程或進(jìn)程組PA請(qǐng)求的盤(pán)I/O。當(dāng)消耗的令牌的數(shù)量大于與最大盤(pán)I/O帶寬(SOMBps)對(duì)應(yīng)的I/O令牌的最大數(shù) 量(163840)時(shí),局部I/O模式是L_N0_I0模式212。在L_N0_I0模式212中盤(pán)I/O調(diào)度器 可以不分配時(shí)間片用于由進(jìn)程或進(jìn)程組PA請(qǐng)求的盤(pán)I/O處理。在盤(pán)I/O處理的開(kāi)始點(diǎn)的局部I/O模式可以是L_MINBW_I0模式210。當(dāng)盤(pán)I/O處理時(shí)間處于或在MinBW 203的點(diǎn)之前時(shí),也即,盤(pán)I/O處理時(shí)間小于Ml 時(shí),局部I/O模式是L_MINBW_I0模式210。在這種情況下,盤(pán)I/O調(diào)度器可以與最小盤(pán)I/O 帶寬的大小(例如,I/O令牌的最小數(shù)量)成比例地分配時(shí)間片。當(dāng)盤(pán)I/O處理時(shí)間處于MinBW 203與MaxBW 204之間時(shí),也即,盤(pán)I/O處理時(shí)間在 Ml與M2之間時(shí),局部I/O模式是L_RANGE_I0模式211。在這種情況下,在L_RANGE_I0模 式211中盤(pán)I/O調(diào)度器可以分配減小的時(shí)間片(例如,當(dāng)時(shí)間片的基本單位是20到25滴 答時(shí),為(時(shí)間片的基本單位)/5,即4到5滴答)。當(dāng)盤(pán)I/O處理時(shí)間超過(guò)MaxBW 204時(shí),也即,盤(pán)I/O處理時(shí)間在M2與M3之間時(shí), 局部I/O模式是L_N0_I0模式212。在這種情況下,盤(pán)I/O調(diào)度器可以不分配時(shí)間片。下文中,將參考圖3和4詳細(xì)描述根據(jù)另一實(shí)施例的控制盤(pán)I/O的方法。圖3是說(shuō)明根據(jù)另一示范實(shí)施例的用于控制盤(pán)I/O的方法的流程圖。圖4是說(shuō)明 通過(guò)將根據(jù)另一示范實(shí)施例的用于控制盤(pán)I/O的方法與全局I/O模式關(guān)聯(lián)的全局I/O模式 的改變的圖。如圖3所述,在操作S300,用于控制由多個(gè)進(jìn)程或進(jìn)程組請(qǐng)求的盤(pán)I/O的盤(pán)I/O調(diào) 度器檢測(cè)在用于每個(gè)進(jìn)程或進(jìn)程組的盤(pán)I/O處理中消耗的令牌的數(shù)量(例如,使用的令牌 的數(shù)量)。在操作S310,盤(pán)I/O調(diào)度器確定在每個(gè)進(jìn)程或進(jìn)程組中檢測(cè)到的消耗的令牌的數(shù) 量是否超過(guò)與為每個(gè)進(jìn)程或進(jìn)程組預(yù)設(shè)的最小盤(pán)I/O帶寬對(duì)應(yīng)的I/O令牌的最小數(shù)量。在操作S320,如果消耗的令牌的數(shù)量超過(guò)I/O令牌的最小數(shù)量,則盤(pán)I/O調(diào)度器為 每個(gè)進(jìn)程或進(jìn)程組分配時(shí)間片而沒(méi)有確定的順序,即優(yōu)先級(jí)。 也即,盤(pán)I/O調(diào)度器可以隨機(jī)地為每個(gè)進(jìn)程或進(jìn)程組分配相同的時(shí)間片。在操作S330,如果有至少一個(gè)進(jìn)程或進(jìn)程組沒(méi)有超過(guò),則盤(pán)I/O調(diào)度器確定在多 個(gè)進(jìn)程或進(jìn)程組之間分配有區(qū)別的時(shí)間片的順序。盤(pán)I/O調(diào)度器可以給其中消耗的令牌的數(shù)量沒(méi)有超過(guò)I/O令牌的最小數(shù)量的進(jìn)程 或進(jìn)程組分配最高優(yōu)先級(jí),并且給其中沒(méi)有設(shè)置最小盤(pán)I/O帶寬的進(jìn)程或進(jìn)程組分配第二 優(yōu)先級(jí)。盤(pán)I/O調(diào)度器可以給其中消耗的令牌的數(shù)量超過(guò)I/O令牌的最小數(shù)量的進(jìn)程或進(jìn) 程組分配第三優(yōu)先級(jí),以及給其中消耗的令牌的數(shù)量超過(guò)與為每個(gè)進(jìn)程或進(jìn)程組預(yù)設(shè)的最 大盤(pán)I/O帶寬對(duì)應(yīng)的I/O令牌的最大數(shù)量的進(jìn)程或進(jìn)程組分配第四優(yōu)先級(jí)。盤(pán)I/O調(diào)度器可以給在不滿足最小盤(pán)I/O帶寬的進(jìn)程或進(jìn)程組中具有較大的盤(pán)I/ 0帶寬的進(jìn)程或進(jìn)程組分配較高的優(yōu)先級(jí)。
在操作S340,盤(pán)I/O調(diào)度器按上述確定的順序分配時(shí)間片。在分配時(shí)間片之后,當(dāng)消耗的令牌的數(shù)量小于或等于最小I/O令牌的數(shù)量時(shí),盤(pán)I/O調(diào)度器可以與最小盤(pán)I/O帶寬的大小成比例地分配時(shí)間片。當(dāng)消耗的令牌的數(shù)量大于I/O令牌的最小數(shù)量且小于或等于對(duì)與最大盤(pán)I/O帶寬 對(duì)應(yīng)的最大I/O令牌數(shù)量時(shí),盤(pán)I/O調(diào)度器可以分配比預(yù)設(shè)的時(shí)間片的基本單位小的時(shí)間 片。當(dāng)消耗的令牌的數(shù)量大于I/O令牌的最大數(shù)量時(shí),盤(pán)I/O調(diào)度器可以不分配時(shí)間 片。也即,當(dāng)增加的時(shí)間片被分配用于由具有高優(yōu)先級(jí)的特定進(jìn)程或進(jìn)程組請(qǐng)求的盤(pán) I/O處理時(shí),通過(guò)用于由具有高優(yōu)先級(jí)的特定進(jìn)程或進(jìn)程組請(qǐng)求的盤(pán)I/O處理的時(shí)間片的 增加量來(lái)減小用于由具有低優(yōu)先級(jí)的進(jìn)程或進(jìn)程組請(qǐng)求的盤(pán)I/O處理的時(shí)間片。因此,可 以高效率地使用限制的盤(pán)I/O帶寬。同樣,由于能夠?yàn)槊總€(gè)進(jìn)程或進(jìn)程組請(qǐng)求的盤(pán)I/O處 理提供期望的I/O帶寬,可以確保盤(pán)I/O服務(wù)的性能和質(zhì)量。下文中,將參考圖4更完整地描述根據(jù)上述另一實(shí)施例的控制由多個(gè)進(jìn)程或進(jìn)程 組請(qǐng)求的盤(pán)I/O的方法。圖4說(shuō)明當(dāng)盤(pán)I/O調(diào)度器處理由多個(gè)進(jìn)程或進(jìn)程組(例如,PA、PB、PC和PD)請(qǐng)求 的盤(pán)I/O時(shí),根據(jù)處理時(shí)間的消逝的與消耗的令牌的數(shù)量對(duì)應(yīng)的全局I/O模式的改變。如圖4所示,根據(jù)是否存在其消耗的令牌的數(shù)量沒(méi)有超過(guò)與為每個(gè)進(jìn)程或進(jìn)程組 預(yù)設(shè)的最小盤(pán)I/O帶寬對(duì)應(yīng)的I/O令牌的最小數(shù)量的進(jìn)程或進(jìn)程組,將全局I/O模式劃分 為 G_MINBW_IO 模式 414 和 G_LEFTOVER_IO 模式 415。也即,當(dāng)存在沒(méi)有滿足最小帶寬的進(jìn)程或進(jìn)程組時(shí),全局I/O模式是G_MINBW_IO 模式414。當(dāng)全部進(jìn)程或進(jìn)程組滿足最小帶寬時(shí),全局I/O模式是G_LEFTOVER_IO模式415。下面將描述G_MINBW_IO模式414的I/O處理方法。當(dāng)全局I/O模式是G_MINBW_IO模式414時(shí),每個(gè)進(jìn)程或進(jìn)程組(PA、PB、PC和PD) 的局部I/O模式可以是圖2所述的L_MINBW_IO模式210、L_RANGE_I0模式211、和L_NO_IO 模式212其中之一。例如,如果每個(gè)進(jìn)程或進(jìn)程組PA、PB、PC和PD的局部I/O模式是L_MINBW_IO模式 210,則進(jìn)程或進(jìn)程組PA的盤(pán)I/O處理時(shí)間在AMl之前,進(jìn)程或進(jìn)程組PB的盤(pán)I/O處理時(shí) 間在BMl之前,進(jìn)程或進(jìn)程組PC的盤(pán)I/O處理時(shí)間在CMl之前。進(jìn)程或進(jìn)程組PD的局部 I/O模式不變,因?yàn)闆](méi)有設(shè)置最小盤(pán)I/O帶寬和最大帶寬。為每個(gè)進(jìn)程或進(jìn)程組PA、PB、PC和PD設(shè)置根據(jù)局部I/O模式分配的時(shí)間片。當(dāng)全 局I/O模式是G_MINBW_IO模式414時(shí),盤(pán)I/O調(diào)度器可以確定為每個(gè)進(jìn)程或進(jìn)程組分配時(shí) 間片的優(yōu)先級(jí)。盤(pán)I/O調(diào)度器可以按照如下順序確定時(shí)間片分配的優(yōu)先級(jí)消耗的令牌的數(shù)量不 超過(guò)最小盤(pán)I/O帶寬的大小(例如,I/O令牌的最小數(shù)量)的情況>沒(méi)有設(shè)置最小帶寬的 情況 >消耗的令牌的數(shù)量超過(guò)最小盤(pán)I/O帶寬的大小的情況 > 消耗的令牌的數(shù)量超過(guò)最 大盤(pán)I/O帶寬的大小的情況。如果存在其中消耗的令牌的數(shù)量不超過(guò)最小帶寬的大小的進(jìn)程或進(jìn)程組,則盤(pán)I/ O調(diào)度器可以給具有較大的最小帶寬的進(jìn)程或進(jìn)程組分配較高的優(yōu)先級(jí)。
例如,在點(diǎn)AM2處,其中進(jìn)程或進(jìn)程組PA的局部I/O模式是L_RANGE_I0模式211,進(jìn)程或進(jìn)程組PB的局部I/O模式是L_MINBW_I0模式210,進(jìn)程或進(jìn)程組PC的局部I/O模 式是L_MINBW_I0模式210,且沒(méi)有為進(jìn)程或進(jìn)程組PD設(shè)置最小和最大盤(pán)I/O帶寬,進(jìn)程或 進(jìn)程組PB和PC具有第一優(yōu)先級(jí)。接下來(lái),進(jìn)程或進(jìn)程組PD具有第二優(yōu)先級(jí),而進(jìn)程或進(jìn) 程組PA具有第三優(yōu)先級(jí)。在這種情況下,可以根據(jù)最小盤(pán)I/O帶寬的大小將具有相同優(yōu)先級(jí)的進(jìn)程或進(jìn)程 組PB和PC重新排優(yōu)先級(jí)。由于進(jìn)程或進(jìn)程組PB具有比進(jìn)程或進(jìn)程組PC較大的最小盤(pán)I/ 0帶寬,進(jìn)程或進(jìn)程組PB具有最高優(yōu)先級(jí)。如果進(jìn)程或進(jìn)程組PB請(qǐng)求的盤(pán)I/O的處理時(shí)間經(jīng)過(guò)BMl,則對(duì)于全部進(jìn)程或進(jìn)程 組消耗的令牌的數(shù)量超過(guò)I/O令牌的最小數(shù)量,由此將全局I/O模式改變?yōu)镚_LEFT0VER_I0 模式415。如果全局I/O模式是G_LEFT0VER_I0模式415,則不為每個(gè)進(jìn)程或進(jìn)程組設(shè)置優(yōu)先級(jí)。下文中,將參考圖5描述根據(jù)另一示范實(shí)施例的用于控制盤(pán)I/O的系統(tǒng)。圖5是說(shuō)明根據(jù)另一示范實(shí)施例的用于控制盤(pán)I/O的系統(tǒng)的圖。如圖5所示,用于控制盤(pán)I/O的系統(tǒng)500包括盤(pán)I/O管理單元510和盤(pán)I/O調(diào)度 器 520。盤(pán)I/O管理單元510區(qū)分和管理由多個(gè)進(jìn)程或進(jìn)程組P1、P2.....Pn請(qǐng)求的盤(pán)I/
0 R1、R2、· · .、Rn。例如,盤(pán)I/O管理單元510可以為每個(gè)進(jìn)程或進(jìn)程組PI、P2.....Pn維持盤(pán)I/O
隊(duì)列Q1、Q2、···、Qn。同樣,盤(pán)I/O管理單元510可以比較每個(gè)盤(pán)I/O Rl、R2、. . .、Rn中的
標(biāo)識(shí)符和每個(gè)進(jìn)程或進(jìn)程組PI、P2.....Pn的唯一信息II、12.....In,并且將盤(pán)I/O Rl、
R2、. . .、Rn輸入到與匹配的唯一信息II、12、. . .、In對(duì)應(yīng)的盤(pán)I/O隊(duì)列。盤(pán)I/O調(diào)度器520包括確定單元521和時(shí)間片單元522。盤(pán)I/O調(diào)度器520處理 輸入到每個(gè)盤(pán)I/O隊(duì)列Ql、Q2、. . .、Qn的每個(gè)盤(pán)I/O Rl、R2、. . .、Rn。盤(pán)I/O調(diào)度器520使用由系統(tǒng)管理員基于每個(gè)進(jìn)程或進(jìn)程組的重要性為每個(gè)進(jìn)程 或進(jìn)程組P1、P2.....Pn預(yù)設(shè)的最小和最大盤(pán)I/O帶寬來(lái)處理每個(gè)盤(pán)I/O R1、R2.....Rn。確定單元521確定用于控制多個(gè)進(jìn)程或進(jìn)程組之間的盤(pán)I/O而消耗的令牌(盤(pán)I/
O的處理單元)的數(shù)量是否不超過(guò)與為每個(gè)進(jìn)程或進(jìn)程組P1、P2.....Pn預(yù)設(shè)的最小盤(pán)I/
O帶寬對(duì)應(yīng)的I/O令牌的最小數(shù)量。當(dāng)消耗的令牌的數(shù)量不超過(guò)與為每個(gè)進(jìn)程或進(jìn)程組P1、P2.....Pn預(yù)設(shè)的最小盤(pán)
I/O帶寬對(duì)應(yīng)的I/O令牌的最小數(shù)量時(shí),確定單元521確定為每個(gè)進(jìn)程或進(jìn)程組分配時(shí)間片 的順序。例如,確定單元521可以給消耗的令牌的數(shù)量不超過(guò)I/O令牌的最小數(shù)量的進(jìn)程 或進(jìn)程組分配最高優(yōu)先級(jí)。確定單元521可以給沒(méi)有設(shè)置最小盤(pán)I/O帶寬的進(jìn)程或進(jìn)程組分配第二優(yōu)先級(jí), 給消耗的令牌的數(shù)量超過(guò)I/O令牌的最小數(shù)量的進(jìn)程或進(jìn)程組分配第三優(yōu)先級(jí),以及給消 耗的令牌的數(shù)量超過(guò)與為每個(gè)進(jìn)程或進(jìn)程組預(yù)設(shè)的最大盤(pán)I/O帶寬對(duì)應(yīng)的I/O令牌的最大 數(shù)量的進(jìn)程或進(jìn)程組分配第四優(yōu)先級(jí)。
如果存在具有相同優(yōu)先級(jí)的多個(gè)進(jìn)程或進(jìn)程組(例如,Pl和P2),則確定單元521 可以給具有較大最小盤(pán)I/O帶寬的進(jìn)程或進(jìn)程組(例如,P1,當(dāng)Pl具有較大的最小盤(pán)I/O 帶寬時(shí))分配較高的優(yōu)先級(jí)。如果為全部進(jìn)程或進(jìn)程組P1、P2.....Pn消耗的令牌的數(shù)量超過(guò)與為每個(gè)進(jìn)程或
進(jìn)程組PI、P2.....Pn預(yù)設(shè)的最大盤(pán)I/O帶寬對(duì)應(yīng)的I/O令牌的最大數(shù)量,則不確定為每
個(gè)進(jìn)程或進(jìn)程組PI、P2.....Pn分配時(shí)間片的順序。時(shí)間片單元522按照為每個(gè)進(jìn)程或進(jìn)程組確定的順序分配時(shí)間片,該時(shí)間片是用 于處理盤(pán)I/O Rl、R2、. . .、Rn的持續(xù)時(shí)間。如果消耗的令牌的數(shù)量小于或等于I/O令牌的最小數(shù)量,則時(shí)間片單元522可以 與最小盤(pán)I/O帶寬的大小成比例地分配時(shí)間片。如果消耗的令牌的數(shù)量大于I/O令牌的最小數(shù)量,且小于或等于與最大盤(pán)I/O帶 寬對(duì)應(yīng)的I/O令牌的最大數(shù)量,則時(shí)間片單元522可以分配減小的時(shí)間片(例如,當(dāng)基本時(shí) 間片是20到25滴答時(shí),為(20到25)/5)。如果消耗的令牌的數(shù)量大于I/O令牌的最大數(shù) 量,則時(shí)間片單元522可以不分配時(shí)間片。因此,時(shí)間片單元522可以給具有較高優(yōu)先級(jí)的進(jìn)程或進(jìn)程組分配比具有較低優(yōu) 先級(jí)的進(jìn)程或進(jìn)程組更多的時(shí)間片。當(dāng)沒(méi)有確定優(yōu)先級(jí)時(shí),時(shí)間片單元522可以隨機(jī)地為每個(gè)進(jìn)程或進(jìn)程組P1、 P2.....Pn分配相同的時(shí)間片。以上已經(jīng)描述了多個(gè)示范實(shí)施例。然而,將能理解可以進(jìn)行各種修改。例如,如果 按照不同的順序執(zhí)行所述的技術(shù)和/或如果所述系統(tǒng)、架構(gòu)、設(shè)備或電路中的組件按不同 方式組合和/或由其他組件或其等價(jià)物取代或補(bǔ)充,則可以獲得適合的結(jié)果。因此,其他實(shí) 施方式處于以下權(quán)利要求的范圍中。對(duì)相關(guān)申請(qǐng)的交叉引用本發(fā)明要求于2009年3月5日向韓國(guó)特許廳提交的韓國(guó)專(zhuān)利申請(qǐng)編號(hào) 10-2009-0018886的優(yōu)先權(quán),其公開(kāi)內(nèi)容通過(guò)引入在此整體并入。
權(quán)利要求
一種用于控制盤(pán)輸入/輸出(I/O)的方法,包括檢測(cè)消耗的作為盤(pán)I/O的處理單元的令牌的數(shù)量;以及使用預(yù)設(shè)的最小盤(pán)I/O帶寬和預(yù)設(shè)的最大盤(pán)I/O帶寬根據(jù)消耗的令牌的數(shù)量分配作為用于處理盤(pán)I/O的持續(xù)時(shí)間的時(shí)間片。
2.如權(quán)利要求1所述的方法,其中時(shí)間片的分配步驟包括當(dāng)消耗的令牌的數(shù)量小于 或等于與最小盤(pán)I/O帶寬對(duì)應(yīng)的I/O令牌的最小數(shù)量時(shí),分配與最小盤(pán)I/O帶寬的大小成 比例的時(shí)間片。
3.如權(quán)利要求1所述的方法,其中時(shí)間片的分配步驟包括當(dāng)消耗的令牌的數(shù)量大于 與最小盤(pán)I/O帶寬對(duì)應(yīng)的I/O令牌的最小數(shù)量且小于或等于與最大盤(pán)I/O帶寬對(duì)應(yīng)的I/O 令牌的最大數(shù)量時(shí),分配減小的時(shí)間片。
4.如權(quán)利要求1所述的方法,其中,在時(shí)間片的分配步驟中,當(dāng)消耗的令牌的數(shù)量大于 與最大盤(pán)I/O帶寬對(duì)應(yīng)的I/O令牌的最大數(shù)量時(shí),不分配時(shí)間片。
5.如權(quán)利要求1所述的方法,其中時(shí)間片的分配步驟包括當(dāng)消耗的令牌的數(shù)量小于或等于與最小盤(pán)I/O帶寬對(duì)應(yīng)的I/O令牌的最小數(shù)量時(shí),將 已分配給由第二進(jìn)程或進(jìn)程組請(qǐng)求的盤(pán)I/O的處理的時(shí)間片分配給由第一進(jìn)程或進(jìn)程組 請(qǐng)求的盤(pán)I/O的處理;以及當(dāng)消耗的令牌的數(shù)量大于與最小盤(pán)I/O帶寬對(duì)應(yīng)的I/O令牌的最小數(shù)量時(shí),將已分配 給由第一進(jìn)程或進(jìn)程組請(qǐng)求的盤(pán)I/O的處理的時(shí)間片分配給由第二進(jìn)程或進(jìn)程組請(qǐng)求的 盤(pán)I/O的處理。
6.一種用于控制由多個(gè)進(jìn)程或進(jìn)程組請(qǐng)求的盤(pán)I/O的方法,該方法包括檢測(cè)對(duì)于每個(gè)進(jìn)程或進(jìn)程組消耗的作為盤(pán)I/O的處理單元的令牌的數(shù)量;以及當(dāng)存在其中消耗的令牌的數(shù)量不超過(guò)與為進(jìn)程或進(jìn)程組預(yù)設(shè)的最小盤(pán)I/O帶寬對(duì)應(yīng)的I/O令牌的最小數(shù)量的進(jìn)程或進(jìn)程組時(shí),按照在多個(gè)進(jìn)程或進(jìn)程組之間確定的順序?yàn)槊?個(gè)進(jìn)程或進(jìn)程組分配作為用于處理盤(pán)I/O的持續(xù)時(shí)間的時(shí)間片。
7.如權(quán)利要求6所述的方法,其中時(shí)間片的分配步驟包括給其中消耗的令牌的數(shù)量不超過(guò)I/O令牌的最小數(shù)量的進(jìn)程或進(jìn)程組分配具有第一 優(yōu)先級(jí)的時(shí)間片;給其中沒(méi)有設(shè)置最小盤(pán)I/O帶寬的進(jìn)程或進(jìn)程組分配具有第二優(yōu)先級(jí)的時(shí)間片;給其中消耗的令牌的數(shù)量超過(guò)I/O令牌的最小數(shù)量的進(jìn)程或進(jìn)程組分配具有第三優(yōu) 先級(jí)的時(shí)間片;以及給其中消耗的令牌的數(shù)量超過(guò)與為進(jìn)程或進(jìn)程組預(yù)設(shè)的最大盤(pán)I/O帶寬對(duì)應(yīng)的I/O令 牌的最大數(shù)量的進(jìn)程或進(jìn)程組分配具有第四優(yōu)先級(jí)的時(shí)間片。
8.如權(quán)利要求7所述的方法,其中時(shí)間片的分配步驟還包括如果多個(gè)進(jìn)程或進(jìn)程組 具有相同的順序,則給具有較大的最小盤(pán)I/O帶寬的進(jìn)程或進(jìn)程組優(yōu)先分配時(shí)間片。
9.如權(quán)利要求7所述的方法,其中時(shí)間片的分配步驟包括通過(guò)減小用于具有較低優(yōu) 先級(jí)的進(jìn)程或進(jìn)程組的盤(pán)I/O的處理的時(shí)間片來(lái)給用于具有較高優(yōu)先級(jí)的進(jìn)程或進(jìn)程組 的盤(pán)I/O的處理分配增加的時(shí)間片。
10.如權(quán)利要求6所述的方法,其中時(shí)間片的分配步驟包括當(dāng)消耗的令牌的數(shù)量小于或等于I/O令牌的最小數(shù)量時(shí),分配與最小盤(pán)I/O帶寬的大小成比例的時(shí)間片;當(dāng)消耗的令牌的數(shù)量大于I/O令牌的最小數(shù)量且小于或等于與最大盤(pán)I/O帶寬對(duì)應(yīng)的 I/O令牌的最大數(shù)量時(shí),分配減小的時(shí)間片;以及當(dāng)消耗的令牌的數(shù)量大于I/O令牌的最大數(shù)量時(shí),不分配時(shí)間片。
11.如權(quán)利要求6所述的方法,還包括當(dāng)全部進(jìn)程或進(jìn)程組的消耗的令牌的數(shù)量超過(guò)與為進(jìn)程或進(jìn)程組預(yù)設(shè)的最大盤(pán)I/O 帶寬對(duì)應(yīng)的最大令牌數(shù)量時(shí),不管確定的順序來(lái)為每個(gè)進(jìn)程或進(jìn)程組分配時(shí)間片。
12.如權(quán)利要求11所述的方法,其中不管確定的順序來(lái)為每個(gè)進(jìn)程或進(jìn)程組分配時(shí)間 片的步驟包括為每個(gè)進(jìn)程或進(jìn)程組隨機(jī)地分配相同的時(shí)間片。
13.一種用于控制由多個(gè)進(jìn)程或進(jìn)程組請(qǐng)求的盤(pán)I/O的系統(tǒng),包括確定單元,確定消耗的作為盤(pán)I/O的處理單元的令牌的數(shù)量是否不超過(guò)與為進(jìn)程或進(jìn) 程組預(yù)設(shè)的最小盤(pán)I/O帶寬對(duì)應(yīng)的I/O令牌的最小數(shù)量;以及時(shí)間片單元,如果消耗的令牌的數(shù)量不超過(guò)I/O令牌的最小數(shù)量,則按照在多個(gè)進(jìn)程 或進(jìn)程組之間確定的順序?yàn)槊總€(gè)進(jìn)程或進(jìn)程組分配作為用于處理盤(pán)I/O的持續(xù)時(shí)間的時(shí) 間片。
14.如權(quán)利要求13所述的系統(tǒng),其中確定單元給其中消耗的令牌的數(shù)量不超過(guò)I/O令牌的最小數(shù)量的進(jìn)程或進(jìn)程組分配最高優(yōu)先級(jí);給其中沒(méi)有設(shè)置最小盤(pán)I/O帶寬的進(jìn)程或進(jìn)程組分配第二優(yōu)先級(jí);給其中消耗的令牌的數(shù)量超過(guò)I/O令牌的最小數(shù)量的進(jìn)程或進(jìn)程組分配第三優(yōu)先級(jí);給其中消耗的令牌的數(shù)量超過(guò)與為進(jìn)程或進(jìn)程組預(yù)設(shè)的最大盤(pán)I/O帶寬對(duì)應(yīng)的I/O令 牌的最大數(shù)量的進(jìn)程或進(jìn)程組分配第四優(yōu)先級(jí)。
15.如權(quán)利要求14所述的系統(tǒng),其中如果多個(gè)進(jìn)程或進(jìn)程組具有相同的順序,則確定 單元給具有較大的最小盤(pán)I/O帶寬的進(jìn)程或進(jìn)程組分配較高的優(yōu)先級(jí)。
16.如權(quán)利要求14所述的系統(tǒng),其中時(shí)間片單元將已分配給具有較低優(yōu)先級(jí)的進(jìn)程或 進(jìn)程組的時(shí)間片分配給具有較高優(yōu)先級(jí)的進(jìn)程或進(jìn)程組。
17.如權(quán)利要求14所述的系統(tǒng),其中時(shí)間片單元當(dāng)消耗的令牌的數(shù)量小于或等于I/O令牌的最小數(shù)量時(shí),分配與最小盤(pán)I/O帶寬的大 小成比例的時(shí)間片;當(dāng)消耗的令牌的數(shù)量大于I/O令牌的最小數(shù)量且小于或等于與最大盤(pán)I/O帶寬對(duì)應(yīng)的 I/O令牌的最大數(shù)量時(shí),分配比預(yù)設(shè)的時(shí)間片的基本單位小的時(shí)間片;以及當(dāng)消耗的令牌的數(shù)量大于I/O令牌的最大數(shù)量時(shí),不分配時(shí)間片。
18.如權(quán)利要求13所述的系統(tǒng),其中當(dāng)全部進(jìn)程或進(jìn)程組的消耗的令牌的數(shù)量超過(guò)與 為進(jìn)程或進(jìn)程組預(yù)設(shè)的最大盤(pán)I/O帶寬對(duì)應(yīng)的最大令牌數(shù)量時(shí),確定單元不確定分配時(shí)間 片的順序。
19.如權(quán)利要求18所述的系統(tǒng),其中時(shí)間片單元為每個(gè)進(jìn)程或進(jìn)程組隨機(jī)地分配相同 的時(shí)間片。
20.如權(quán)利要求13所述的系統(tǒng),還包括盤(pán)I/O管理單元,用于為每個(gè)進(jìn)程或進(jìn)程組區(qū)分 和管理盤(pán)1/0,盤(pán)I/O管理單元為每個(gè)進(jìn)程或進(jìn)程組管理盤(pán)I/O隊(duì)列,并且將盤(pán)I/O輸入到與盤(pán)I/O中包括的用于區(qū)分進(jìn)程或進(jìn)程組的標(biāo)識(shí)符對(duì)應(yīng)的盤(pán)I/O隊(duì)列.
全文摘要
提供一種用于控制盤(pán)輸入/輸出(I/O)的方法和系統(tǒng)。該方法包括檢測(cè)消耗的作為盤(pán)I/O的處理單元的令牌的數(shù)量。而且,該方法包括使用預(yù)設(shè)的最小盤(pán)I/O帶寬和預(yù)設(shè)的最大盤(pán)I/O帶寬根據(jù)消耗的令牌的數(shù)量分配作為用于處理盤(pán)I/O的持續(xù)時(shí)間的時(shí)間片。
文檔編號(hào)G06F3/06GK101825991SQ20091022657
公開(kāi)日2010年9月8日 申請(qǐng)日期2009年11月25日 優(yōu)先權(quán)日2009年3月5日
發(fā)明者姜東宰, 鄭盛仁, 金載烈 申請(qǐng)人:韓國(guó)電子通信研究院