国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      基于系統(tǒng)資源的i/o請求合并調(diào)度系統(tǒng)與方法

      文檔序號:8257811閱讀:376來源:國知局
      基于系統(tǒng)資源的i/o請求合并調(diào)度系統(tǒng)與方法
      【技術(shù)領(lǐng)域】
      [0001]本發(fā)明涉及計算機系統(tǒng)及存儲技術(shù),具體涉及一種基于系統(tǒng)資源的i/o請求合并調(diào)度系統(tǒng)與方法。
      【背景技術(shù)】
      [0002]在三網(wǎng)融合、云計算和物聯(lián)網(wǎng)等新興概念迅猛發(fā)展的背景下,隨著市場需求的不斷拉動,各種高速率、低延遲的網(wǎng)絡(luò)數(shù)據(jù)應(yīng)用持續(xù)增長。這些高速網(wǎng)絡(luò)數(shù)據(jù)應(yīng)用對存儲系統(tǒng)的性能提出了更高的要求,同時也為主機的系統(tǒng)資源管理帶來了更大的挑戰(zhàn)。
      [0003]當前業(yè)界普遍采用Linux內(nèi)核自帶的1 Scheduler對I/O請求隊列進行調(diào)度。1Scheduler主要包括合并和排序兩方面功能。合并是指將兩個或多個LBA地址相同或相鄰扇區(qū)請求結(jié)合成一個新的請求,這樣只需要一次尋道即可,這顯然減少了系統(tǒng)開銷和磁盤尋址次數(shù);排序是指把I/O請求按照LBA地址增長的方向排列,從而減少磁盤機械臂的轉(zhuǎn)動,縮短請求的實際尋道時間。為了權(quán)衡I/O性能和公平性,在Linux2.6內(nèi)核中,實現(xiàn)了四種I/O調(diào)度方式:NOOP、Deadline、Anticipatory和CFQ。每種方式的側(cè)重點和實現(xiàn)方式不同,但在基本的合并操作方面,這四種調(diào)度方式基本相同。
      [0004]上述現(xiàn)有技術(shù)的四種調(diào)度方式中的合并操作沒有對LBA地址不連續(xù)的請求進行合并,同時也沒有兼顧系統(tǒng)的資源利用情況。這會影響存儲I/o性能的進一步提升。

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

      [0005]本發(fā)明的目的在于克服現(xiàn)有技術(shù)中的I/O請求調(diào)度方式中的合并操作無法對LBA地址不連續(xù)的請求進行合并的缺陷,從而提供一種既能對地址連續(xù)的I/O請求進行合并調(diào)度,又能對地址非連續(xù)的I/o請求進行合并調(diào)度的系統(tǒng)與方法。
      [0006]為了實現(xiàn)上述目的,本發(fā)明提供了一種基于系統(tǒng)資源的I/O請求合并調(diào)度系統(tǒng),位于文件系統(tǒng)101與存儲設(shè)備106之間,包括系統(tǒng)監(jiān)控模塊103、調(diào)度管理模塊104和請求調(diào)度模塊105 ;其中,所述系統(tǒng)監(jiān)控模塊103實時地收集計算機的系統(tǒng)參數(shù),并將所收集到的系統(tǒng)參數(shù)發(fā)送調(diào)度管理模塊104 ;所述調(diào)度管理模塊104根據(jù)所述系統(tǒng)參數(shù)評估計算機的資源利用情況,根據(jù)評估結(jié)果設(shè)置合并距離和最大合并數(shù);所述請求調(diào)度模塊105根據(jù)所述合并距離和最大合并數(shù)對I/O請求進行合并調(diào)度,以及拆分所述存儲系統(tǒng)對合并后I/O請求的響應(yīng),所述I/O請求包括LBA地址不連續(xù)I/O請求與LBA地址連續(xù)I/O請求。
      [0007]上述技術(shù)方案中,所述系統(tǒng)監(jiān)控模塊103實時采集的系統(tǒng)參數(shù)包括CPU利用率、內(nèi)存占用率、I/O吞吐率、請求的訪問時間。
      [0008]上述技術(shù)方案中,所述調(diào)度管理模塊104在評估計算機的資源利用情況時,將系統(tǒng)監(jiān)控模塊103所采集的系統(tǒng)參數(shù)與計算機所配置的資源情況進行比較,由此得到當前的計算機資源利用情況;當計算機系統(tǒng)資源充足時,所述調(diào)度管理模塊104在設(shè)置合并距離與最大合并數(shù)時相應(yīng)地增大合并距離和最大合并數(shù),當計算機系統(tǒng)資源緊張時,所述調(diào)度管理模塊104在設(shè)置合并距離與最大合并數(shù)時相應(yīng)地減小合并距離和最大合并數(shù)。
      [0009]上述技術(shù)方案中,所述請求調(diào)度模塊105在處理LBA地址不連續(xù)I/O請求時,可先計算這些請求間的LBA地址間隔,對LBA地址間隔小于合并距離、數(shù)目不超過最大合并數(shù)的若干LBA地址不連續(xù)I/O請求進行合并調(diào)度;對實現(xiàn)了合并調(diào)度的LBA地址不連續(xù)I/O請求加以記錄,當存儲系統(tǒng)對這些合并后的I/O請求予以響應(yīng)時,請求調(diào)度模塊105可根據(jù)記錄中的信息對響應(yīng)進行拆分處理。
      [0010]本發(fā)明還提供了基于所述的基于系統(tǒng)資源的I/O請求合并調(diào)度系統(tǒng)所實現(xiàn)的合并調(diào)度方法,包括:
      [0011]步驟I)、初始化階段;用戶對系統(tǒng)監(jiān)控模塊103、調(diào)度管理模塊104和請求調(diào)度模塊105進行一系列的參數(shù)配置,包括系統(tǒng)監(jiān)控周期、I/O響應(yīng)時間上限、默認合并距離和合并數(shù)目;
      [0012]步驟2)、系統(tǒng)監(jiān)控模塊103實時采集計算機的系統(tǒng)參數(shù),所述系統(tǒng)參數(shù)包括CPU利用率、內(nèi)存占用率、I/o吞吐率、請求的訪問時間;
      [0013]步驟3)、調(diào)度管理模塊104根據(jù)系統(tǒng)監(jiān)控模塊103實時收集到的系統(tǒng)參數(shù)評估計算機系統(tǒng)當前的資源利用情況,并根據(jù)評估結(jié)果設(shè)置合并距離和最大合并數(shù);
      [0014]步驟4)、當上層文件系統(tǒng)的I/O請求隊列中存在I/O請求時,請求調(diào)度模塊105根據(jù)合并距離和最大合并數(shù)對I/O請求進行合并調(diào)度;
      [0015]步驟5)、當處理完I/O請求隊列中一定數(shù)目的請求后,回到步驟2),重新評估系統(tǒng)資源利用情況,并設(shè)置新的合并距離和最大合并數(shù),繼續(xù)調(diào)度I/o請求。
      [0016]上述技術(shù)方案中,所述的步驟4)包括:
      [0017]步驟4-1)、請求調(diào)度模塊105檢查上層的文件系統(tǒng)的I/O請求隊列中是否存在I/O請求,若存在,執(zhí)行下一步,否則重新執(zhí)行步驟2);
      [0018]步驟4-2)、請求調(diào)度模塊105根據(jù)所述I/O請求隊列中位置相鄰I/O請求的LBA地址和請求長度,計算隊列中所有相鄰請求之間的間隔距離;
      [0019]步驟4-3)、判斷步驟4-2)中計算得到的位置相鄰I/O請求間的間隔距離是否小于步驟3)中所設(shè)置的合并距離,若小于,執(zhí)行下一步,否則,重新執(zhí)行步驟4-1);
      [0020]步驟4-4)、合并間隔距離小于合并距離的I/O請求,并將原請求從請求隊列中刪除;
      [0021]步驟4-5)、檢查當前合并的I/O請求的數(shù)目是否超過步驟3)中所設(shè)置的最大合并數(shù),若是,執(zhí)行下一步,否則,執(zhí)行步驟4-7);
      [0022]步驟4-6)、只合并最大合并數(shù)的I/O請求,然后執(zhí)行下一步;
      [0023]步驟4-7)、將合并后的I/O請求發(fā)送到下層的存儲系統(tǒng);
      [0024]步驟4-8)、記錄進行合并的I/O請求;
      [0025]步驟4-9)、判斷請求調(diào)度模塊105是否收到了存儲設(shè)備所返回的響應(yīng),若收到,執(zhí)行下一步,否則,重新執(zhí)行步驟2);
      [0026]步驟4-10)、請求調(diào)度模塊105將存儲設(shè)備所返回的響應(yīng)與步驟4-8)所得到的記錄進行比較,如果該響應(yīng)所對應(yīng)的請求是合并后I/o請求,執(zhí)行下一步,否則,執(zhí)行步驟4-12);
      [0027]步驟4-11)、請求調(diào)度模塊105根據(jù)記錄中的信息對響應(yīng)進行拆分處理;
      [0028]步驟4-12)、將響應(yīng)提交給上層的文件系統(tǒng)。
      [0029]本發(fā)明的優(yōu)點在于:
      [0030]本發(fā)明通過評估系統(tǒng)資源利用情況,對若干連續(xù)或不連續(xù)的I/O請求進行動態(tài)地合并調(diào)度,提高了存儲的I/o性能,優(yōu)化利用了系統(tǒng)資源。
      【附圖說明】
      [0031]圖1是本發(fā)明的I/O請求合并調(diào)度系統(tǒng)的結(jié)構(gòu)示意圖;
      [0032]圖2是本發(fā)明的I/O請求合并調(diào)度方法的流程圖。
      [0033]圖面說明
      [0034]101文件系統(tǒng)102 I/O請求合并調(diào)度系統(tǒng)
      [0035]103系統(tǒng)監(jiān)控模塊 104調(diào)度管理模塊
      [0036]105請求調(diào)度模塊 106存儲設(shè)備
      【具體實施方式】
      [0037]現(xiàn)結(jié)合附圖對本發(fā)明作進一步的描述。
      [0038]圖1為本發(fā)明的I/O請求合并調(diào)度系統(tǒng)的結(jié)構(gòu)示意圖,如圖所示,該系統(tǒng)(在圖1中用102表示)位于文件系統(tǒng)101與存儲設(shè)備106之間,其包括系統(tǒng)監(jiān)控模塊103、調(diào)度管理模塊104和請求調(diào)度模塊105 ;其中,所述系統(tǒng)監(jiān)控模塊103實時地收集計算機的系統(tǒng)參數(shù),并將所收集到的系統(tǒng)參數(shù)發(fā)送調(diào)度管理模塊104 ;所述調(diào)度管理模塊104根據(jù)所述系統(tǒng)參數(shù)評估計算機的資源利用情況,根據(jù)評估結(jié)果設(shè)置合并距離和最大合并數(shù);所述請求調(diào)度模塊105根據(jù)合并距離和最大合并數(shù)對LBA地址不連續(xù)I/O請求(也可簡稱為不連續(xù)I/O請求)進行合并調(diào)度,以及拆分所述存儲系統(tǒng)對合并后I/o請求的響應(yīng)。
      [0039]下面對系統(tǒng)中的各個模塊做進一步的說明。
      [0040]所述系統(tǒng)監(jiān)控模塊103實時采集的系統(tǒng)參數(shù)包括CPU利用率、內(nèi)存占用率、I/O吞吐率、請求的訪問時間等。
      [0041]所述調(diào)度管理模塊104在評估計算機的資源利用情況時,將系統(tǒng)監(jiān)控模塊103所采集的系統(tǒng)參數(shù)與計算機所配置的資源情況進行比較,由此得到當前的計算機資源利用情況,如計算機資源充足或緊張。當系統(tǒng)資源充足時,該模塊在設(shè)置合并距離與最大合并數(shù)時可相應(yīng)地增大合并距離和最大合并數(shù);當系統(tǒng)資源緊張時,該模塊在設(shè)置合并距離與最大合并數(shù)時可相應(yīng)地減小合并距離和最大合并數(shù)。
      [0042]所述請求調(diào)度模塊105在處理LBA地址不連續(xù)I/O請求時,可先計算這些請求間的LBA地址間隔,對LBA地址間隔小于合并距離、數(shù)目不超過最大合并數(shù)的若干LBA地址不連續(xù)I/O請求進行合并調(diào)度;對實現(xiàn)了
      當前第1頁1 2 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1