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

Io請求控制方法和裝置的制作方法

文檔序號:6431543閱讀:152來源:國知局
專利名稱:Io請求控制方法和裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及磁盤控制方法,特別涉及磁盤 ο請求控制方法。
背景技術(shù)
磁盤訪問控制在規(guī)模較大的存儲系統(tǒng)中是非常關(guān)鍵的模塊,這是因?yàn)橐环矫娲疟P作為目前主流計(jì)算機(jī)服務(wù)器的硬件瓶頸點(diǎn),提高磁盤訪問速度,最大限度發(fā)揮磁盤10(輸入輸出)性能就能有效提高系統(tǒng)的整體性能;另一方面,在某些讀、寫具有不同優(yōu)先級的場合,必須對磁盤訪問進(jìn)行有效控制才能提供穩(wěn)定的服務(wù)。在傳統(tǒng)的電視播出機(jī)構(gòu)、新興的互聯(lián)網(wǎng)視頻供應(yīng)商以及互聯(lián)網(wǎng)網(wǎng)盤供應(yīng)商等環(huán)境下,都會遇到海量數(shù)據(jù)的存儲問題,通用的磁盤訪問模型是不加限制的并行訪問,這種方法實(shí)現(xiàn)難度低,在小并發(fā)量訪問的前提下能夠有效發(fā)揮磁盤性能,但是不適合大并發(fā)量的訪問,在規(guī)模較大的并發(fā)訪問情況下,容易發(fā)生磁盤抖動,嚴(yán)重的甚至?xí)?dǎo)致系統(tǒng)失去響應(yīng), 帶來災(zāi)難性后果。以目前最流行的VOD點(diǎn)播業(yè)務(wù)提供商為例,隨著網(wǎng)絡(luò)帶寬的升級以及編碼技術(shù)的革新,限制VOD業(yè)務(wù)開展最關(guān)鍵的因素已經(jīng)從網(wǎng)絡(luò)帶寬逐漸轉(zhuǎn)移到磁盤存儲。由于VOD業(yè)務(wù)是一個請求占用一個單獨(dú)的信道來實(shí)現(xiàn)互動,通用的磁盤并行訪問模型效率低,不能有效發(fā)揮磁盤的性能,直接導(dǎo)致運(yùn)營商單個請求成本過高,陷入VOD運(yùn)營不盈利的尷尬。目前操作系統(tǒng)對磁盤的調(diào)度算法主要有先來先服務(wù)算法(FCFS)、最短尋道時間優(yōu)先算法(SSTF)、掃描算法(SCAN)以及循環(huán)掃描算法(CSCAN)等,這些算法對于單個或者少量的并發(fā)IO請求,均能夠有效提高IO響應(yīng)速度,但由于操作系統(tǒng)對于大并發(fā)的IO請求沒有特殊的優(yōu)化,在大并發(fā)的IO請求狀況下會產(chǎn)生如下問題隨著并發(fā)數(shù)的增加,系統(tǒng)調(diào)度產(chǎn)生的開銷增加到不能忽略;讀、寫具有相同的優(yōu)先級,不能保證讀或者寫優(yōu)先級高的場合;讀寫對磁盤造成的壓力難以計(jì)算,難以評估磁盤的剩余負(fù)載能力;磁盤有可能進(jìn)入抖動狀態(tài),造成災(zāi)難性后果。

發(fā)明內(nèi)容
本發(fā)明的目的是提供一種IO請求控制方法。本發(fā)明的目的還在于提供一種IO請求控制裝置。本發(fā)明的技術(shù)方案包括一種IO請求控制方法,包括將磁盤的最大IO帶寬分為兩個邏輯部分,包括第一部分帶寬和第二部分帶寬,其中該第一部分帶寬具有最低IO帶寬;將所有IO并發(fā)通過數(shù)個 IO隊(duì)列訪問磁盤。在讀優(yōu)先模式下,所述第一部分帶寬是最小寫帶寬,所述第二部分帶寬是讀帶寬。 檢查當(dāng)前已使用的寫帶寬是否超出了該最小寫帶寬。在寫優(yōu)先模式下,所述第一部分帶寬是最小讀帶寬,所述第二部分帶寬是寫帶寬。 檢查當(dāng)前已使用的讀帶寬是否超出了該最小讀帶寬。
其中,檢查當(dāng)前剩余的IO帶寬是否滿足目前的IO請求所需的帶寬,如果是則返回帶寬,如果否則拒絕請求。在當(dāng)前IO請求小于該最大IO并發(fā)訪問數(shù)時,以空隊(duì)列訪問磁盤。本發(fā)明還包括一種IO請求控制裝置,包括IO代理模塊,其中該IO代理模塊將磁盤的最大IO帶寬分為兩個邏輯部分,包括第一部分帶寬和第二部分帶寬,其中該第一部分帶寬具有最低IO帶寬,并且將所有IO并發(fā)通過數(shù)個IO隊(duì)列訪問磁盤。在讀優(yōu)先模式下,所述第一部分帶寬是最小寫帶寬,所述第二部分帶寬是讀帶寬。 該IO代理模塊檢查當(dāng)前已使用的寫帶寬是否超出了該最小寫帶寬。在寫優(yōu)先模式下,所述第一部分帶寬是最小讀帶寬,所述第二部分帶寬是寫帶寬。 該IO代理模塊檢查當(dāng)前已使用的讀帶寬是否超出了該最小讀帶寬。該IO代理模塊檢查當(dāng)前剩余的IO帶寬是否滿足目前的IO請求所需的帶寬,如果是則返回帶寬,如果否則拒絕請求。該IO代理模塊在當(dāng)前IO請求小于該最大IO并發(fā)訪問數(shù)時,以空隊(duì)列訪問磁盤。本發(fā)明的積極進(jìn)步效果在于對IO請求進(jìn)行有效控制及調(diào)度,使得IO請求對磁盤造成的壓力隨著請求數(shù)的增加具有線性增長的特點(diǎn),在充分發(fā)揮磁盤IO性能的前提下,大大提高大并發(fā)IO訪問的系統(tǒng)穩(wěn)定性,特別適于會對磁盤產(chǎn)生大量并發(fā)的訪問請求的應(yīng)用環(huán)境。


圖1是本發(fā)明的實(shí)施例1的示意圖。圖2是本發(fā)明的實(shí)施例2的示意圖。
具體實(shí)施例方式以下結(jié)合附圖所示實(shí)施例對本發(fā)明作詳細(xì)說明。對于磁盤來說,實(shí)驗(yàn)表明,磁盤的IO輸出并不隨著并發(fā)訪問數(shù)的增長呈線性增長,而是呈現(xiàn)一個拱門型的拋物線。因此,任何一個存儲系統(tǒng)存在一個能夠最大限度發(fā)揮磁盤輸入輸出(10)性能的并發(fā)訪問數(shù),在本說明書中記為MagicN。在MagicN個并發(fā)訪問數(shù)下,能夠達(dá)到的最大IO輸出,在本說明書中記為MAX_RW_I0。通過設(shè)置不同的并發(fā)訪問數(shù)n,記錄在某一時間段內(nèi)每個線程IO讀取、寫入的字節(jié)數(shù),所有線程IO讀取、寫入字節(jié)數(shù)的總和作為磁盤的IO輸出,通過統(tǒng)計(jì)可以得出磁盤的最大IO輸出,獲取MagicN。本發(fā)明的方法將磁盤的最大IO帶寬邏輯上分成兩部分,第一部分帶寬和第二部分帶寬。在讀優(yōu)先模式下,所述第一部分帶寬是最小寫帶寬,第二部分帶寬是可變的讀帶寬。所述的最小寫帶寬是需要保證的最低寫請求帶寬,用于寫請求,在本說明書記為MIN_W_ 10,則最大讀帶寬為MAX_RW_I0_MIN_W_I0。而在寫優(yōu)先模式下,所述第一部分帶寬是最小讀帶寬,第二部分帶寬是可變的寫帶寬。在不同的應(yīng)用中,可以設(shè)定寫請求優(yōu)先,或是讀請求優(yōu)先。下面描述讀請求和寫請求分別在寫優(yōu)先和讀優(yōu)先的情況下的控制過程。實(shí)施例1,如圖1所示的,對于讀請求的處理過程。當(dāng)收到一個讀請求時,如果應(yīng)用是寫請求優(yōu)先的情況下(參見圖1的左邊部分),則判斷是否有空余的帶寬供該讀請求使用,參見步驟110。具體為,當(dāng)前實(shí)際讀負(fù)載占用帶寬標(biāo)記為CR_I0,當(dāng)前實(shí)際寫負(fù)載占用帶寬標(biāo)記為CW_I0,那么當(dāng)前系統(tǒng)的空閑帶寬為 MAX_Rff_I0-Cff_I0-CR_I0 ;比較系統(tǒng)的空閑帶寬與實(shí)際請求的讀帶寬(SR_I0),如果有剩余的IO帶寬可供該讀請求使用,則返回帶寬(步驟400),否則就拒絕該請求(步驟300)。如果是在讀優(yōu)先的情況下(參見圖1右邊部分),由于存在最小寫帶寬MIN_W_I0, 可供分配給讀請求的最大帶寬為MAX_RW_I0_MIN_W_I0,因此判斷是否有剩余帶寬的方法有所不同(步驟210)。當(dāng)前實(shí)際可分配給讀請求的帶寬為MAX_RW_I0-MIN_W_I0-CR_I0,比較這個值與實(shí)際請求的讀帶寬,如果有IO帶寬可供該讀請求使用,進(jìn)入到下一步判斷,反之拒絕請求(步驟300)。通過步驟210的計(jì)算,即使存在IO帶寬可供讀請求使用,也并不表示這個IO帶寬是空閑的,因?yàn)樵谧x優(yōu)先模式下,如果讀請求未飽和,存在CW_I0 > MIN_ff_I0的情況。這就要判斷是否要對寫請求進(jìn)行調(diào)度或者釋放來滿足讀請求。步驟220與步驟110相同,比較系統(tǒng)的空閑帶寬與實(shí)際請求的讀帶寬,如果有剩余的IO帶寬可供該讀請求使用,則返回帶寬(步驟400),否則需要釋放寫帶寬來滿足讀請求(步驟230)。實(shí)施例2,對于寫請求的處理過程如圖2所示,與讀請求類似,當(dāng)受到一個寫請求處理時,如果是讀請求優(yōu)先,則檢查當(dāng)前剩余帶寬(步驟Iio'),即MAX_RW_I0-CR_I0_CW_I0,如果數(shù)值小于寫請求所需的帶寬,則返回所請求的帶寬(步驟400'),否則由于資源耗盡而拒絕請求(步驟300')。如果是寫優(yōu)先級高,則先檢查是否存在帶寬可滿足寫請求(210'),如果不存在拒絕請求(300')。否則判斷是否需要釋放讀請求來滿足寫請求所需帶寬(步驟220'), 如果是,則釋放帶寬(230'),而如果否,則返回帶寬(400')。在圖2中,SW_I0表示當(dāng)前請求的寫帶寬,MIN_R_I0表示在寫優(yōu)先模式下需要保證的最低讀帶寬。另外,在本發(fā)明中,所有IO請求通過MagicN個隊(duì)列訪問磁盤,使得磁盤的負(fù)載以及剩余帶寬是可計(jì)算的??梢院唵蔚恼J(rèn)為每一個隊(duì)列不管是用來響應(yīng)讀請求還是響應(yīng)寫請求,具有相同的帶寬,這里記為SINGLE_QUEUE_BAND,則
權(quán)利要求
1.一種IO請求控制方法,其特征在于,該方法包括將磁盤的最大IO帶寬分為兩個邏輯部分,包括第一部分帶寬和第二部分帶寬,其中該第一部分帶寬具有最低IO帶寬;將所有IO并發(fā)通過數(shù)個IO隊(duì)列訪問磁盤。
2.根據(jù)權(quán)利要求1所述的IO請求控制方法,其特征在于,在讀優(yōu)先模式下,所述第一部分帶寬是最小寫帶寬,所述第二部分帶寬是讀帶寬;檢查當(dāng)前已使用的寫帶寬是否超出了該最小寫帶寬。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,在寫優(yōu)先模式下,所述第一部分帶寬是最小讀帶寬,所述第二部分帶寬是寫帶寬;檢查當(dāng)前已使用的讀帶寬是否超出了該最小讀帶覓ο
4.根據(jù)權(quán)利要求2或3所述的方法,其特征在于,檢查當(dāng)前剩余的IO帶寬是否滿足目前的IO請求所需的帶寬,如果是則返回帶寬,如果否則拒絕請求。
5.根據(jù)權(quán)利要求2或3所述的方法,其特征在于,在當(dāng)前IO請求小于該最大IO并發(fā)訪問數(shù)時,以空隊(duì)列訪問磁盤。
6.一種IO請求控制裝置,其特征在于,該裝置包括IO代理模塊,其中該IO代理模塊將磁盤的最大IO帶寬分為兩個邏輯部分,包括第一部分帶寬和第二部分帶寬,其中該第一部分帶寬具有最低IO帶寬,并且將所有IO并發(fā)通過數(shù)個IO隊(duì)列訪問磁盤。
7.根據(jù)權(quán)利要求6所述的IO請求控制裝置,其特征在于,在讀優(yōu)先模式下,所述第一部分帶寬是最小寫帶寬,所述第二部分帶寬是讀帶寬,該IO代理模塊檢查當(dāng)前已使用的寫帶寬是否超出了該最小寫帶寬。
8.根據(jù)權(quán)利要求6所述的IO請求控制裝置,其特征在于,在寫優(yōu)先模式下,所述第一部分帶寬是最小讀帶寬,所述第二部分帶寬是寫帶寬,該IO代理模塊檢查當(dāng)前已使用的讀帶寬是否超出了該最小讀帶寬。
9.根據(jù)權(quán)利要求7或8所述的IO請求控制裝置,其特征在于,該IO代理模塊檢查當(dāng)前剩余的IO帶寬是否滿足目前的IO請求所需的帶寬,如果是則返回帶寬,如果否則拒絕請求。
10.根據(jù)權(quán)利要求7或8所述的IO請求控制裝置,其特征在于,該IO代理模塊在當(dāng)前 IO請求小于該最大IO并發(fā)訪問數(shù)時,以空隊(duì)列訪問磁盤。
全文摘要
本發(fā)明公開一種IO請求控制方法,包括將磁盤的最大IO帶寬分為兩個邏輯部分,包括第一部分帶寬和第二部分帶寬,其中該第一部分帶寬具有最低IO帶寬;將所有IO并發(fā)通過數(shù)個IO隊(duì)列訪問磁盤。本發(fā)明還公開一種IO請求控制裝置,包括IO代理模塊,其中該IO代理模塊將磁盤的最大IO帶寬分為兩個邏輯部分,包括第一部分帶寬和第二部分帶寬,其中該第一部分帶寬具有最低IO帶寬,并且將所有IO并發(fā)通過數(shù)個IO隊(duì)列訪問磁盤。本發(fā)明對IO請求進(jìn)行有效控制及調(diào)度,使得IO請求對磁盤造成的壓力隨著請求數(shù)的增加具有線性增長的特點(diǎn),在充分發(fā)揮磁盤IO性能的前提下,大大提高大并發(fā)IO訪問的系統(tǒng)穩(wěn)定性,特別適于會對磁盤產(chǎn)生大量并發(fā)的訪問請求的應(yīng)用環(huán)境。
文檔編號G06F3/06GK102279714SQ201110247690
公開日2011年12月14日 申請日期2011年8月26日 優(yōu)先權(quán)日2011年8月26日
發(fā)明者劉振中, 湯曉斌, 沈冠祎, 顧煒 申請人:上海文廣科技(集團(tuán))有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
兴和县| 海晏县| 循化| 兴仁县| 邵武市| 临夏市| 东光县| 崇仁县| 民和| 无为县| 来宾市| 江源县| 乌审旗| 电白县| 综艺| 雷州市| 句容市| 彰化县| 巫山县| 平舆县| 察雅县| 鞍山市| 和硕县| 博兴县| 禄丰县| 那曲县| 乌鲁木齐县| 济阳县| 承德市| 吉林省| 南丹县| 枞阳县| 翁牛特旗| 抚松县| 镇原县| 进贤县| 通许县| 鄂州市| 华安县| 通江县| 灌云县|