【摘要】一種鎂合金及其制備方法屬于金屬結構材料的制備技術領域。本發明的特征在于,含有下述質量百分比的組份:Sn:1.0~15.0%,Mn:0.1~1.5%,Si:1.0~5.0%,其余為鎂和微量雜質。本發明同時提出了該合金的制備方法,包括合
【摘要】 本發明提供一種自適應的外部存儲設備IO性能優化方法,其特征在于以下步驟:給到達外部存儲設備驅動程序的IO請求分配優先級并將其插入IO請求處理隊列;使用IO訪問地址增量統計方法獲得IO訪問地址增量的統計數據并預處理;使用該統計數據計算預讀數據的訪問地址;計算預讀數據量大小,從預讀數據的訪問地址開始從外部存儲設備讀取預讀數據量的大小的數據到數據緩存。本發明既優化了外部存儲設備驅動程序對IO請求的響應順序,又能夠根據IO負載的具體特征動態地調整IO性能的優化策略,因而既能顯著的減小IO請求的平均響應時間,又具有很好的自適應性和通用性。 【專利類型】發明申請 【申請人】清華大學 【申請人類型】學校 【申請人地址】100084北京市100084信箱82分箱清華大學專利辦公室 【申請人地區】中國 【申請人城市】北京市 【申請人區縣】海淀區 【申請號】CN200610165588.1 【申請日】2006-12-22 【申請年份】2006 【公開公告號】CN101000589A 【公開公告日】2007-07-18 【公開公告年份】2007 【授權公告號】CN100428209C 【授權公告日】2008-10-22 【授權公告年份】2008.0 【IPC分類號】G06F13/10; G06F13/18; G06F13/16 【發明人】嚴琪; 邢春曉; 李越; 李益民; 李超; 胡慶成 【主權項內容】1.一種自適應的外部存儲設備IO性能的優化方法,其特征在于,該 方法是在計算機操作系統層的外部存儲設備驅動程序內部依次按以下步驟 實現: 步驟(1).IO請求到達所述驅動程序,該驅動程序按照以下步驟執行IO 請求處理隊列的優化排隊策略,為到達該驅動程序的IO請求設定優先級, 并把設定了優先級的IO請求插入到驅動程序的IO請求處理隊列中: 步驟(1.1).設定一個計數變量C,計算機系統啟動時C=0,每過固 定的時間間隔TD,計數變量C加1; 步驟(1.2).沒定:用實數表示優先級,從計算機系統啟動開始,第i 個到達驅動程序的IO請求的優先級記為P[i],第i個到達驅動程序的IO 請求的請求數據量記為S[i]比特,則: P[i]=(1/S[i])-C,P[i]值越大,優先級越高; 所述的IO請求由到達驅動程序并且已經設定優先記得IO請求構成; 步驟(1.3).IO請求處理隊列按照以下方法生長:先到達該驅動程序 的IO請求排到隊列前面,后到達的排在后面,同時到達該驅動程序的IO 請求,優先級高的排在隊列前面,優先級低的排在后面,相同優先級并且 同時到達驅動程序的IO請求,相對順序任意; 步驟(1.4).驅動程序按照以下兩種方法中的一種從IO請求處理隊列 選擇下一個需要處理得IO請求: A:遍歷整個IO請求處理隊列,找到一個優先級最高的IO請求作 為下一個要處理的IO請求; B:讀取IO請求處理隊列中排頭的IO請求作為下一個要處理的IO 請求; 步驟(2).當IO讀請求需要驅動程序向外部存儲設備發送若干條IO讀 命令來獲取數據時,該驅動程序在執行最后一條IO讀命令后觸發下一次負 載自適應預讀策略的執行以適應不同負載特征的需要,該負載自適應預讀 策略按照以下步驟執行: 步驟(2.1).使用IO訪問地址增量統計方法獲得IO訪問地址增量的 統計數據,其步驟如下: 步驟(2.1.1).從計算機系統啟動開始,第j次觸發負載自適應預讀 策略的IO讀命令的訪問地址記為A[j],稱A[j]為第j個訪問地址。第j個 訪問地址和第j-1個訪問地址之間的增量記為D[j],D[j]=A[j]-A[j-1],其中 A[0]=0,D[j]稱為第j個訪問地址增量。第j個觸發負載自適應預讀策略的 IO讀命令的發送時間記為T[j],稱為第j個IO時刻; 步驟(2.1.2).當負載自適應預讀策略被第j次觸發時,記錄第j個 訪問地址A[j]和第j個IO時刻T[j],計算并記錄第j個訪問地址增量D[j]。 圖4是A[j]、T[j]和D[j]的記錄格式的示意圖。如圖5所示,每一個記錄項 由A[j]、T[j]、D[j]和下一個記錄項的地址四部分構成,所有的記錄項構成 一個記錄鏈表; 步驟(2.1.3).設當前時間(當前時間是指計算機系統時鐘的時間) 記為T,遍歷整個記錄鏈表,將T[j]<T-TD的記錄項從記錄鏈表中刪除, 對不在時間間隔的TD不予考慮; 步驟(2.2).對步驟(2.1)的道德IO訪問地址增量的統計數據進行預處 理,得到合理的IO訪問地址增量的統計數據,其步驟如下: 步驟(2.2.1).設DL=max{D[j]}-min{D[j]},如果DL小于某一常 數閾值DT,則不對記錄鏈表做任何處理,否則,進入下一個步驟: 步驟(2.2.2).若DL>DT,計算記錄鏈表中所有D[j]的標準差SD, 若標準差SD小于某一常數閾值ST,則不對記錄鏈表做任何處理,否則, 進入下一個步驟: 步驟(2.2.3).若標準差SD大于常數閾值ST,將記錄鏈表中所有 記錄項的D[j]的均值記為ave{D[j]},標記記錄鏈表中D[j]與ave{D[j]}之間 的距離大于ST的記錄項。若所有的記錄項都被標記,則去除T[j]距離當前 時間最近的N個記錄項的標記,然后刪除記錄鏈表中被標記的記錄項。 步驟(2.3).使用步驟(2.2)得到的合理的IO訪問地址增量的統計數據 按照下式計算預讀數據地址PA,所述預讀數據地址是指將數據預先從外部 存儲設備讀入驅動程序維護的數據緩存時,驅動程序向外部設備控制器的 發送的IO讀命令的IO訪問地址: 所述預讀地址PA等于當前IO訪問地址與預讀地址增量之和, 其中,當前IO訪問地址是指觸發負載自適應預讀策略本次執行的IO 讀命令的訪問地址,也是當前記錄鏈表中,T[j]值最大的記錄項的D[j]; 其中,預讀地址增量是所述的預讀數據地址與當前IO訪問地址之間的 增量,定義為當前記錄鏈表中所有記錄項的D[j]的均值ave{D[j]}; 步驟(2.4).計算預讀數據量的大小,并從步驟(2.3)得到的預讀數據 的訪問地址開始從外部存儲設備讀取預讀數據量大小的數據到數據緩存; 所述預讀數據量等于驅動程序最近處理的M個IO請求的請求數據量 的均值的K倍與常數閾值MS之間的最小值,M、K和MS是設定值; 步驟(2.5).該驅動程序在系統較為空閑時執行預讀動作,從步驟(2.3) 得到的預讀地址開始把數據量等于步驟(2.4)所述的數據大小從外部存儲設 備讀入驅動程序維護的數據緩存。 【當前權利人】易程科技股份有限公司 【當前專利權人地址】北京市海淀區王莊路1號清華同方科技廣場A座18層 【專利權人類型】公立 【統一社會信用代碼】12100000400000624D 【被引證次數】23 【被他引次數】23.0 【家族引證次數】3.0 【家族被引證次數】23
未經允許不得轉載:http://m.mhvdw.cn/1776191410.html
喜歡就贊一下






