隨著智慧化轉(zhuǎn)型的不斷加速
數(shù)據(jù)被越來(lái)越多的應(yīng)用于營(yíng)銷(xiāo)、決策和分析
快速響應(yīng)能力已經(jīng)成為企業(yè)的決勝因素
數(shù)據(jù)存儲(chǔ)性能是業(yè)務(wù)加速的關(guān)鍵核心
如何更加高效的提升存儲(chǔ)系統(tǒng)性能?
浪潮存儲(chǔ)在新一代G5存儲(chǔ)平臺(tái)上,打造【iTurbo智能引擎】硬核技術(shù),構(gòu)建起一套如汽車(chē)自動(dòng)變速引擎的黑科技,讓存儲(chǔ)系統(tǒng)可以根據(jù)前端應(yīng)用自適應(yīng)和調(diào)配不同數(shù)據(jù)處理策略,實(shí)現(xiàn)智能的IO感知、路徑選擇、組織和調(diào)度,為存儲(chǔ)帶來(lái)創(chuàng)新的加速方案。
今天就讓我們一起探秘
【iTurbo智能引擎】的核心技術(shù)之一
智能IO感知技術(shù)
智能緩存預(yù)讀
實(shí)現(xiàn)“熱”升“冷”降的數(shù)據(jù)電梯
介紹緩存預(yù)讀之前,我們首先要搞清楚關(guān)于緩存的兩個(gè)基本問(wèn)題:
一:為什么要用緩存?
二:緩存是如何工作的?
為什么要用緩存?
大家知道,CPU 的運(yùn)行速度比磁盤(pán)的速度快很多倍,這樣會(huì)導(dǎo)致 CPU 需等待磁盤(pán)完成處理后才能繼續(xù)下一道指令, 緩存的處理速度能夠跟得上 CPU,它作為CPU與磁盤(pán)之間的過(guò)渡,很好的解決了這一問(wèn)題。當(dāng)CPU處理完數(shù)據(jù)后,將數(shù)據(jù)直接發(fā)送給緩存,然后立即向應(yīng)用返回確認(rèn),緩存中數(shù)據(jù)達(dá)到一定水位定期寫(xiě)入磁盤(pán),從而提升效率。
緩存是如何工作的?
在程序運(yùn)行過(guò)程中,緩存會(huì)有一個(gè)局部性原理,即程序會(huì)頻繁訪(fǎng)問(wèn)局部緩存。如果緩存地址變換頻繁,那么緩存中存放的數(shù)據(jù)就會(huì)頻繁改變;如果程序頻繁訪(fǎng)問(wèn)局部數(shù)據(jù),那么緩存中的數(shù)據(jù)改變就不會(huì)很大。因而命中率就會(huì)提高,CPU的運(yùn)行效率也會(huì)提升。
浪潮存儲(chǔ)的緩存工作原理
由此可知,衡量緩存管理的優(yōu)劣有兩個(gè)指標(biāo):
一:緩存命中率,命中率高,性能就高,否則反之。
二:有效緩存的比率,有效緩存是指真正會(huì)被訪(fǎng)問(wèn)到的緩存項(xiàng),如果有效緩存的比率偏低,則相當(dāng)部分磁盤(pán)帶寬會(huì)被浪費(fèi)到讀取無(wú)用緩存上,而且無(wú)用緩存會(huì)間接導(dǎo)致系統(tǒng)緩存緊張,最后可能會(huì)嚴(yán)重影響性能。 現(xiàn)在我們清楚了緩存的工作原理及性能指標(biāo)。
那么為了充分發(fā)揮緩存的作用,僅僅依靠“暫存剛剛訪(fǎng)問(wèn)過(guò)的數(shù)據(jù)”是遠(yuǎn)遠(yuǎn)不夠的,還要通過(guò)使用數(shù)據(jù)預(yù)讀算法——盡可能把將要使用的數(shù)據(jù)預(yù)先從內(nèi)存中取到緩存里。
那么關(guān)鍵問(wèn)題來(lái)了:如何精準(zhǔn)判斷哪些數(shù)據(jù)是應(yīng)用程序?qū)⒁褂玫臄?shù)據(jù)?當(dāng)緩存寫(xiě)滿(mǎn)時(shí),如何判斷哪些數(shù)據(jù)被淘汰?
這就是浪潮存儲(chǔ)緩存預(yù)讀算法的精髓所在,我們來(lái)深入剖析浪潮存儲(chǔ)緩存預(yù)讀的工作原理。
一方面,浪潮存儲(chǔ)基于緩存預(yù)讀 可精準(zhǔn)判斷數(shù)據(jù)熱度浪潮存儲(chǔ)的緩存預(yù)讀算法,可以根據(jù)歷史數(shù)據(jù)的I/O模式,通過(guò)智能分析、預(yù)判將要訪(fǎng)問(wèn)的數(shù)據(jù),提前將這些數(shù)據(jù)預(yù)讀到緩存中,提升緩存命中率,降低I/O訪(fǎng)問(wèn)時(shí)延。這里主要有兩個(gè)關(guān)鍵技術(shù)要點(diǎn):
浪潮存儲(chǔ)的智能緩存預(yù)讀算法
一:自適應(yīng)緩存預(yù)讀策略讀I/O分為隨機(jī)讀和順序讀兩大類(lèi),為了保證預(yù)讀命中率,針對(duì)不同的I/O模式采用不同的預(yù)讀算法。對(duì)于順序讀根據(jù)區(qū)域地址進(jìn)行順序預(yù)讀,對(duì)于隨機(jī)讀根據(jù)區(qū)域熱度進(jìn)行預(yù)讀。根據(jù)不同的讀I/O模式兩種預(yù)讀策略動(dòng)態(tài)調(diào)整,不僅可以保證很高的預(yù)讀命中率,同時(shí)有效率/覆蓋率也很好。
因?yàn)轫樞蜃x是最簡(jiǎn)單而普遍的,而隨機(jī)讀在內(nèi)核來(lái)說(shuō)也確實(shí)是難以預(yù)測(cè)的。內(nèi)核通過(guò)驗(yàn)證如下兩個(gè)條件來(lái)判定是否順序讀:該區(qū)域內(nèi)容被第一次讀,并且讀的是首部;當(dāng)前的讀請(qǐng)求與前一個(gè)讀請(qǐng)求在區(qū)域內(nèi)的位置是連續(xù)的;如果不滿(mǎn)足上述順序性條件,就判定為隨機(jī)讀。預(yù)讀策略根據(jù)讀I/O模式不同動(dòng)態(tài)調(diào)整。
二:預(yù)讀粒度動(dòng)態(tài)調(diào)整當(dāng)確定了要進(jìn)行順序預(yù)讀時(shí),就需要決定合適的預(yù)讀粒度。預(yù)讀粒度太小的話(huà),達(dá)不到應(yīng)有的性能提升效果;預(yù)讀太多,又有可能載入太多程序不需要的內(nèi)容,造成資源浪費(fèi)。為此,浪潮存儲(chǔ)可根據(jù)實(shí)際的需求動(dòng)態(tài)調(diào)整預(yù)讀數(shù)據(jù)內(nèi)容的粒度,從而提高緩存的有效率。如果緩存命中率提高,后續(xù)的預(yù)讀粒度將逐次倍增,直到系統(tǒng)的最佳預(yù)讀大??;隨著緩存命中率降低,后續(xù)預(yù)讀粒度將逐漸減小,直到系統(tǒng)的最佳預(yù)讀大小。
另一方面,浪潮存儲(chǔ)基于緩存替換算法 實(shí)現(xiàn)低訪(fǎng)問(wèn)數(shù)據(jù)下移
當(dāng)緩存滿(mǎn)了怎么辦?不得覆蓋掉一個(gè),覆蓋掉哪一個(gè)?這就是替換算法要解決的。
浪潮存儲(chǔ)的緩存替換算法是基于預(yù)讀數(shù)據(jù)的命中率,結(jié)合數(shù)據(jù)的訪(fǎng)問(wèn)熱度,淘汰最近最少用的那一塊,從而提升預(yù)讀數(shù)據(jù)的有效性,保證預(yù)讀持續(xù)、高效的正向性能提升。 我們的設(shè)計(jì)思路是,如果一個(gè)數(shù)據(jù)在最近一段時(shí)間沒(méi)有被訪(fǎng)問(wèn)到,那么在將來(lái)它被訪(fǎng)問(wèn)的可能性也很小。也就是說(shuō),當(dāng)限定的空間已存滿(mǎn)數(shù)據(jù)時(shí),應(yīng)當(dāng)把最久沒(méi)有被訪(fǎng)問(wèn)到的數(shù)據(jù)淘汰。具體實(shí)現(xiàn)算法如下:
硬件緩存每一行都有一個(gè)計(jì)數(shù)器,用來(lái)記錄被使用次數(shù)。
計(jì)數(shù)器變化規(guī)則: 每組4行時(shí),計(jì)數(shù)器有兩位,計(jì)數(shù)值越小則說(shuō)明越被常用命中時(shí)被訪(fǎng)問(wèn)行的計(jì)數(shù)置0,比其低的計(jì)數(shù)器加1,其余不變未命中且該組未滿(mǎn)時(shí),新行計(jì)數(shù)器置為0,其余全加1未命中且該組已滿(mǎn)時(shí),計(jì)數(shù)值為3的那一行中的主存塊被淘汰,新行計(jì)數(shù)器置為0,其余全加1
說(shuō)到這里,估計(jì)大家還是沒(méi)有看懂為了更加直觀的展示算法原理,我們舉個(gè)例子:
智能緩存替換算法原理
現(xiàn)在有四個(gè)格子,但是有 5 個(gè)不一樣的塊要進(jìn)來(lái),緩存替換過(guò)程如下:1 來(lái),沒(méi)有命中,1 進(jìn)入緩存,計(jì)數(shù)器為 02 來(lái),沒(méi)有命中,2 進(jìn)入緩存,2 計(jì)數(shù)器 0,1計(jì)數(shù)器為 1(對(duì)應(yīng)第三條)3 來(lái)同上4 來(lái)同上1 又來(lái),命中,1 的計(jì)數(shù)器變?yōu)?0,其余加 12 又來(lái),命中,2 的計(jì)數(shù)器變?yōu)?0,其余加 15 來(lái)了,但是現(xiàn)在 Cache 滿(mǎn)了,去掉哪一個(gè)呢?計(jì)數(shù)器最大的那個(gè)!…
特征數(shù)據(jù)識(shí)別
基于“逐字節(jié)”比對(duì)實(shí)現(xiàn)去重
根據(jù)用戶(hù)的數(shù)據(jù)特征建立數(shù)據(jù)特征表單,當(dāng)新的數(shù)據(jù)請(qǐng)求與表單中的特征匹配時(shí),說(shuō)明該部分?jǐn)?shù)據(jù)已經(jīng)落盤(pán),這部分?jǐn)?shù)據(jù)可以避免重復(fù)寫(xiě)入。
特征匹配采用近似匹配的策略,存在兩份不同數(shù)據(jù)的特征一致的情況,為了確保用戶(hù)的數(shù)據(jù)安全,每份不同的數(shù)據(jù)都能一字不落的存放起來(lái),浪潮存儲(chǔ)還對(duì)特征匹配的數(shù)據(jù)需要進(jìn)行“逐字節(jié)”比較,為了降低逐字節(jié)比較時(shí)的訪(fǎng)盤(pán)時(shí)延,系統(tǒng)會(huì)智能感知特征數(shù)據(jù)的訪(fǎng)問(wèn)熱度,將頻繁訪(fǎng)問(wèn)的熱點(diǎn)特征數(shù)據(jù)提取到內(nèi)存中,保證系統(tǒng)時(shí)延最低。
浪潮存儲(chǔ)的特征數(shù)據(jù)識(shí)別算法
黑科技總結(jié)時(shí)間
浪潮存儲(chǔ)【iTurbo智能引擎】的核心技術(shù)之一智能IO感知技術(shù),通過(guò)自適應(yīng)緩存預(yù)讀算法對(duì)歷史數(shù)據(jù)I/O模式進(jìn)行分析、判斷識(shí)別,對(duì)其提前讀取到緩存,從而達(dá)到緩存最高命中率。當(dāng)緩存寫(xiě)滿(mǎn)時(shí),通過(guò)獨(dú)特的替換算法將使用最少數(shù)據(jù)的淘汰,將緩存發(fā)揮出其最大的價(jià)值,從而提升存儲(chǔ)整體I/O性能;通過(guò)特征數(shù)據(jù)識(shí)別和逐字節(jié)的比較,在確保數(shù)據(jù)安全的前提下減少數(shù)據(jù)落盤(pán),從而提高存儲(chǔ)的性能及空間使用率。
-
存儲(chǔ)系統(tǒng)
+關(guān)注
關(guān)注
2文章
423瀏覽量
41376 -
感知技術(shù)
+關(guān)注
關(guān)注
1文章
40瀏覽量
10230
原文標(biāo)題:【科技放大鏡】探秘iTurbo智能引擎黑科技 — 智能IO感知技術(shù)
文章出處:【微信號(hào):inspurstorage,微信公眾號(hào):浪潮存儲(chǔ)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
Ceph分布式存儲(chǔ)系統(tǒng)解析
27MHz HCSL 差分晶體振蕩器在數(shù)據(jù)中心網(wǎng)絡(luò)存儲(chǔ)系統(tǒng)中的應(yīng)用方案
科達(dá)KCloudStor云存儲(chǔ)系統(tǒng)與鯤鵬攜手推進(jìn)原生開(kāi)發(fā)技術(shù)創(chuàng)新
電腦云存儲(chǔ)系統(tǒng),電腦云存儲(chǔ)系統(tǒng)的教程,個(gè)人云電腦是什么以及怎么連接

24路電磁鎖主板在智能存儲(chǔ)系統(tǒng)中的作用

華納云:VFS在提升文件系統(tǒng)性能方面的具體實(shí)踐
影響存儲(chǔ)系統(tǒng)性能的因素
WDS分布式存儲(chǔ)系統(tǒng)軟件助力電信工程海量數(shù)據(jù)存儲(chǔ)項(xiàng)目

如何優(yōu)化emc存儲(chǔ)性能
emc企業(yè)級(jí)存儲(chǔ)系統(tǒng)的特點(diǎn)
SOLIDWORKS PDM 2025 新功能:強(qiáng)化效率與性能提升
計(jì)算機(jī)存儲(chǔ)系統(tǒng)的工作原理和功能
計(jì)算機(jī)存儲(chǔ)系統(tǒng)的構(gòu)成
基于分布式存儲(chǔ)系統(tǒng)醫(yī)療影像數(shù)據(jù)存儲(chǔ)解決方案

基于CSS融合存儲(chǔ)系統(tǒng)的自動(dòng)化制造服務(wù)平臺(tái)存儲(chǔ)解決方案

評(píng)論