国产精品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>

      一種自適應(yīng)緩存預(yù)取方法

      文檔序號(hào):6340356閱讀:915來源:國知局
      專利名稱:一種自適應(yīng)緩存預(yù)取方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及存儲(chǔ)系統(tǒng)的性能優(yōu)化領(lǐng)域,具體涉及一種自適應(yīng)緩存預(yù)取方法。
      背景技術(shù)
      存儲(chǔ)器是計(jì)算機(jī)的核心部件之一,其性能直接關(guān)系到整個(gè)計(jì)算機(jī)系統(tǒng)性能的高 低。如何以合理的價(jià)格,設(shè)計(jì)出容量和速度滿足計(jì)算機(jī)系統(tǒng)要求的存儲(chǔ)器系統(tǒng),始終是 計(jì)算機(jī)體系結(jié)構(gòu)設(shè)計(jì)中的關(guān)鍵問題之一。計(jì)算機(jī)用戶希望容量越大越好,而且速度還要 快,價(jià)格要便宜。僅用單一的一種存儲(chǔ)器是很難達(dá)到這一目標(biāo)的。較好的方法是采用存 儲(chǔ)層次,用多種存儲(chǔ)器構(gòu)成存儲(chǔ)器的層次結(jié)構(gòu)。然而,人們對(duì)于存儲(chǔ)器的容量大、速度 快、價(jià)格低的三個(gè)要求是相互矛盾的(1)速度越快,每位價(jià)格就越高;(2)容量越大, 每位價(jià)格就越低;(3)容量越大,速度就越慢。如果只采用其中的一種技術(shù),存儲(chǔ)器設(shè) 計(jì)者就會(huì)陷入困境從實(shí)現(xiàn)“容量大、價(jià)格低”的要求來看,應(yīng)采用能提供大容量的存 儲(chǔ)器技術(shù);但從滿足性能需求的角度來看,又應(yīng)采用昂貴且容量較小的快速存儲(chǔ)器。走 出這種困境的唯一方法,是采用多種存儲(chǔ)器技術(shù),構(gòu)成多級(jí)存儲(chǔ)層次。圖1所示的是典 型的兩級(jí)存儲(chǔ)模型,包括容量小但速度快的高速IO設(shè)備和容量大但速度慢的慢速IO設(shè) 備,用戶的所有數(shù)據(jù)都存放在慢速IO設(shè)備上,高速IO設(shè)備作為一個(gè)Cache使用,用戶讀 取IO數(shù)據(jù)時(shí)總是先查找是否在高速IO設(shè)備中已有一份拷貝。如果用戶每次訪問的數(shù)據(jù)都能在高速IO設(shè)備中找到,那系統(tǒng)的IO性能將會(huì)得到 顯著提高。但是由于高速設(shè)備容量遠(yuǎn)小于慢速設(shè)備,所以只能有一部分?jǐn)?shù)據(jù)存放在高速 IO設(shè)備上,而用戶對(duì)數(shù)據(jù)的請(qǐng)求范圍是非常大的,所以選擇哪些數(shù)據(jù)緩存在高速IO設(shè)備 上將極大影響系統(tǒng)的整體性能。根據(jù)用戶的歷史訪問記錄預(yù)測下一次可能訪問的數(shù)據(jù), 并將這些數(shù)據(jù)預(yù)取到高速IO設(shè)備上,那么當(dāng)用戶真正需要訪問這些數(shù)據(jù)時(shí),性能就會(huì)非 常高。單個(gè)線程的應(yīng)用程序?qū)O請(qǐng)求的順序性比較好,但是如果系統(tǒng)中存在多個(gè)順序訪 問的應(yīng)用程序,那么它們下發(fā)到IO設(shè)備上的請(qǐng)求就變得林亂不堪,如果根據(jù)單一訪問流 進(jìn)行預(yù)取效果將會(huì)比較差。

      發(fā)明內(nèi)容
      為解決預(yù)取問題,本發(fā)明首先對(duì)流進(jìn)行過濾,然后再順序預(yù)取。一種自適應(yīng)緩存預(yù)取方法,步驟如下A、檢查每個(gè)流,并使用多個(gè)隊(duì)列記錄每次訪問的地址;B、如果當(dāng)前訪問的地址與之前某個(gè)隊(duì)列中的地址連續(xù),則認(rèn)定為一個(gè)流,觸發(fā) 預(yù)取操作;C、檢測預(yù)取對(duì)命中率的影響,若命中率低于閾值,則更改預(yù)取策略減少預(yù)取數(shù) 量或關(guān)閉預(yù)取。本發(fā)明的一種優(yōu)選技術(shù)方案在于所述預(yù)取策略包括不預(yù)取,始終預(yù)取和檢測 到順序讀才預(yù)取,否則不預(yù)取。
      3
      本發(fā)明的另一種優(yōu)選技術(shù)方案在于根據(jù)用戶讀取的數(shù)據(jù)選擇預(yù)取的region, region為將io設(shè)備劃分為大小相等的塊。本發(fā)明的一種較優(yōu)選技術(shù)方案在于預(yù)取region的策略為數(shù)據(jù)在Region的比較靠前的位置,那么直接將數(shù)據(jù)所在的Region —次從慢速IO 設(shè)備讀到高速IO設(shè)備即可,同時(shí)返回給用戶之前所請(qǐng)求的數(shù)據(jù);數(shù)據(jù)在Region的最后一部分空間,那么應(yīng)該讀兩部分的數(shù)據(jù)請(qǐng)求的數(shù)據(jù)和緊 鄰的下一個(gè)Region的所有數(shù)據(jù);數(shù)據(jù)橫跨兩個(gè)Region,那么應(yīng)該一次發(fā)出從當(dāng)前Region的后一部分到下一個(gè) Region的所有數(shù)據(jù)的請(qǐng)求。本發(fā)明在預(yù)取前對(duì)訪問流做了過濾,還原了原來的多個(gè)順序流,然后分別針對(duì) 每個(gè)順序流做預(yù)取,由于順序預(yù)取效率非常高,整個(gè)系統(tǒng)的性能將得到提升。


      圖1典型的兩級(jí)存儲(chǔ)模型圖2預(yù)取過程圖3流檢測實(shí)現(xiàn)
      具體實(shí)施例方式在實(shí)現(xiàn)過程中,可以提供多種類型的預(yù)取策略供用戶使用。一種是任何情況下 都不觸發(fā)預(yù)取操作,另一種只要有讀操作均從慢速IO設(shè)備上預(yù)取一定數(shù)量的數(shù)據(jù)到高速 IO設(shè)備。這兩種情況的性能都比較差,完全不預(yù)取浪費(fèi)了帶寬、增加了延遲,全部預(yù) 取則可能干擾正常的讀寫操作,甚至每次的讀操作都可能因?yàn)榈却A(yù)取而增加很大的開 銷,而且更嚴(yán)重的是預(yù)取回來的數(shù)據(jù)可能根本不會(huì)被接下來的IO請(qǐng)求所使用。再一種則 是兩者的折中,在判斷出預(yù)取可能帶來好處時(shí)才發(fā)出預(yù)取的動(dòng)作。最后一種是基于流的預(yù)測,它的基礎(chǔ)是需要發(fā)現(xiàn)順序流,而根據(jù)之前的分析可 知,系統(tǒng)中可能存在多個(gè)順序流,但是混到一起發(fā)到下層的IO系統(tǒng)后就不再是順序的 了,所以在預(yù)取之前必須將單一的混合流還原成原來的多個(gè)順序流。實(shí)現(xiàn)方式可以采取 簡單的連續(xù)地址記錄,兩個(gè)地址就可以組成一個(gè)流,這樣如果第三個(gè)地址也屬于這個(gè)流 時(shí)即可以發(fā)出預(yù)取操作。比如一個(gè)如下所示的地址流依次進(jìn)入流檢測系統(tǒng)A、B、C、 A+l、A+2,那么流檢測系統(tǒng)會(huì)作如圖3所示的變化在A+2地址之前的所有數(shù)據(jù)的讀取都只讀用戶發(fā)出的地址,而在用戶發(fā)來對(duì) A+2地址的讀請(qǐng)求時(shí),因?yàn)橹耙呀?jīng)存在一個(gè)順序流(A、A+1),所以觸發(fā)了預(yù)取操作, 將向慢速IO設(shè)備發(fā)出預(yù)取請(qǐng)求。這時(shí)需要考慮的問題是如何處理用戶需要的數(shù)據(jù)和預(yù)取 的數(shù)據(jù)的關(guān)系以及預(yù)取多大的數(shù)據(jù)比較合適,因?yàn)槁買O設(shè)備對(duì)大塊數(shù)據(jù)的訪問具有較 好的性能,所以這里可以采用一種類似于處理器中Cache行的處理策略,將IO設(shè)備劃分 為大小相同的若干個(gè)塊,稱為Region,這些Region的大小大于一次的IO請(qǐng)求,比如可以 設(shè)置為1MB大小。這樣的話,用戶的當(dāng)前訪問和預(yù)取操作可以合并為一次對(duì)整個(gè)Region 的讀取操作。用戶讀取的數(shù)據(jù)可能在Region的任何位置,這時(shí)需要根據(jù)所在位置選擇預(yù)取當(dāng)前的Region,還是緊鄰的下一個(gè)Region,具體分三種情況1、數(shù)據(jù)在Region的比較靠前的位置,那么直接將數(shù)據(jù)所在的Region —次從慢 速IO設(shè)備讀到高速IO設(shè)備即可,同時(shí)返回給用戶之前所請(qǐng)求的數(shù)據(jù);2、數(shù)據(jù)在Region的最后一部分空間,那么應(yīng)該讀兩部分的數(shù)據(jù)請(qǐng)求的數(shù)據(jù) 和緊鄰的下一個(gè)Region的所有數(shù)據(jù);3、數(shù)據(jù)橫跨兩個(gè)Region,那么應(yīng)該一次發(fā)出從當(dāng)前Region的后一部分到下一個(gè) Region的所有數(shù)據(jù)的請(qǐng)求。預(yù)取的數(shù)據(jù)暫存在高速IO設(shè)備中,用戶請(qǐng)求的數(shù)據(jù)直接返回給用戶,當(dāng)今后用 戶按照順序模式再次請(qǐng)求之后的數(shù)據(jù)時(shí)可以直接從快速的IO設(shè)備中讀取,而不用再從慢 速IO設(shè)備中獲取;如果預(yù)取的數(shù)據(jù)不再被用戶所請(qǐng)求,那么之前預(yù)取的數(shù)據(jù)就浪費(fèi)掉 了,但是考慮到慢速IO設(shè)備對(duì)大塊數(shù)據(jù)的讀取速度較快,這部分的開銷在一定的命中率 的情況下還是值得的。如果經(jīng)過一段時(shí)候發(fā)現(xiàn)命中率非常低,則表明此應(yīng)用程序存在很 少的順序的流請(qǐng)求,可以將預(yù)取關(guān)閉,從而減少開銷,提高IO的整體性能。
      權(quán)利要求
      1.一種自適應(yīng)緩存預(yù)取方法,其特征在于步驟如下A、檢查每個(gè)流,并使用多個(gè)隊(duì)列記錄每次訪問的地址;B、如果當(dāng)前訪問的地址與之前某個(gè)隊(duì)列中的地址連續(xù),則認(rèn)定為一個(gè)流,觸發(fā)預(yù)取 操作;C、檢測預(yù)取對(duì)命中率的影響,若命中率低于閾值,則更改預(yù)取策略減少預(yù)取數(shù)量或 關(guān)閉預(yù)取。
      2.如權(quán)利要求1所述一種自適應(yīng)緩存預(yù)取方法,其特征在于所述預(yù)取策略包括不 預(yù)取,始終預(yù)取和檢測到順序讀才預(yù)取,否則不預(yù)取。
      3.如權(quán)利要求1所述一種自適應(yīng)緩存預(yù)取方法,其特征在于根據(jù)用戶讀取的數(shù)據(jù) 選擇預(yù)取的region,region為將io設(shè)備劃分為大小相等的塊。
      4.如權(quán)利要求3所述一種自適應(yīng)緩存預(yù)取方法,其特征在于預(yù)取region的策略為數(shù)據(jù)在Region的比較靠前的位置,那么直接將數(shù)據(jù)所在的Region —次從慢速IO設(shè) 備讀到高速IO設(shè)備即可,同時(shí)返回給用戶之前所請(qǐng)求的數(shù)據(jù);數(shù)據(jù)在Region的最后一部分空間,那么應(yīng)該讀兩部分的數(shù)據(jù)請(qǐng)求的數(shù)據(jù)和緊鄰的 下一個(gè)Region的所有數(shù)據(jù);數(shù)據(jù)橫跨兩個(gè)Region,那么應(yīng)該一次發(fā)出從當(dāng)前Region的后一部分到下一個(gè)Region 的所有數(shù)據(jù)的請(qǐng)求。
      全文摘要
      本發(fā)明提供了一種自適應(yīng)緩存預(yù)取方法,檢查每個(gè)流,并使用多個(gè)隊(duì)列記錄每次訪問的地址;如果當(dāng)前訪問的地址與之前某個(gè)隊(duì)列中的地址連續(xù),則認(rèn)定為一個(gè)流,觸發(fā)預(yù)取操作;檢測預(yù)取對(duì)命中率的影響,若命中率低于閾值,則更改預(yù)取策略減少預(yù)取數(shù)量或關(guān)閉預(yù)取。本發(fā)明在預(yù)取前對(duì)訪問流做了過濾,還原了原來的多個(gè)順序流,然后分別針對(duì)每個(gè)順序流做預(yù)取,由于順序預(yù)取效率非常高,整個(gè)系統(tǒng)的性能將得到提升。
      文檔編號(hào)G06F12/08GK102023931SQ201010611530
      公開日2011年4月20日 申請(qǐng)日期2010年12月17日 優(yōu)先權(quán)日2010年12月17日
      發(fā)明者楊杰, 袁清波, 邵宗有 申請(qǐng)人:曙光信息產(chǎn)業(yè)(北京)有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1