鐵道出版社的信息中心主任劉波

 

劉波首先談到評價(jià)閃存盤的一些指標(biāo)有很多,速率肯定是其中一項(xiàng)。主要對速率來說有兩項(xiàng),一個(gè)是連續(xù)讀寫傳輸率,另外是隨機(jī)讀寫傳輸率。

劉波首先帶領(lǐng)大家回顧了一下今年的指標(biāo)的情況和大概的變化情況,他說:“今年跟去年比較起來,去年我們看到這些盤,直接指標(biāo)是4個(gè)直接指標(biāo),還有一些評測指標(biāo)。今年主流的速率基本上連續(xù)讀寫速率都在2G到3.5這么一個(gè)范圍。去年我記得在12月份的峰會上,因?yàn)樵谀甑?,去年都是?-2的水平,大勢來說?;旧辖衲晔?.1到2.5GB的水平。去年年底的時(shí)候基本都是在0.5-1.1的水平。隨機(jī)讀I/O也是這個(gè)情況,13年的時(shí)候基本上是12萬到38萬,今年主流最高到了80萬。寫的指標(biāo)同樣提高的比較多,最高到37萬的水平。我今天看到還有更高一點(diǎn)的,展臺上看到一個(gè)介紹。總體來說今年半年了,跟去年比較起來有點(diǎn)像奧運(yùn)會的精神,更高更快更強(qiáng),速率更高,讀寫能力更強(qiáng)。另外還有兩個(gè)指標(biāo),是我做一個(gè)比較來說,讀寫比,一個(gè)是連續(xù)讀和連續(xù)寫這么一個(gè)指標(biāo)。另外一個(gè)就是隨機(jī)讀和隨機(jī)寫的比例,這兩個(gè)比例是連續(xù)讀和連續(xù)寫的差異,這是測試指標(biāo)。這等于是今年一些產(chǎn)品比去年的讀寫比更均衡一些,從1.2:1到2.4:1,去年是1.1:4.0:1,隨機(jī)比也有大的提高,大概就是這么一個(gè)情況。這是今年一個(gè)印象。”

還有一個(gè)情況,在使用和測試的過程中,現(xiàn)在產(chǎn)品都比較多,指標(biāo)零零總總都是在提升,提升到什么程度,我們怎么樣評價(jià)這么一個(gè)產(chǎn)品,這也是我們測試框架的一個(gè)建設(shè)。如果把評測這個(gè)速度指標(biāo)和理論指標(biāo)比較起來來看的話,總是感覺有一些差異。當(dāng)然今年的指標(biāo)肯定比去年指標(biāo)要高很多了,從不管是連續(xù)讀還是連續(xù)寫來說,他所占用的理論帶寬的比例比去年要高。還有一個(gè)比較大的差距,最高來說讀的今年占到44%,這是比較高的一個(gè)水平。從理論上來說,PCle2.x×8,這個(gè)帶寬是一個(gè)理論值,還有一些編碼因素等等。在現(xiàn)有的帶寬情況下,我們?nèi)绾稳ヌ岣咚俾?,我們有什么途徑來做這個(gè)事,還是從理論上來想。

找一些原因,還是從公式來考慮,總線帶寬=頻率×(總線位寬/8)。前面是讀寫的次數(shù),位寬是讀寫一次,我們能夠拿到的數(shù)據(jù)量是多少。直觀來說,我讀寫的次數(shù)越多,我一次能夠拿到的數(shù)據(jù)越多。在這個(gè)理論的指導(dǎo)下,我們看怎么樣提高這個(gè)速度,有數(shù)據(jù)總線、地址總線、控制總線、擴(kuò)展總線、局部總線。我們怎么去提高這個(gè)帶寬呢?第一方面是不是可以從頻率角度考慮這個(gè)問題,幾個(gè)手段,主要是并行,從頻率角度來提高存儲的速率,還有另外一次拿到速率更高。從什么環(huán)節(jié)呢?我們從用戶角度來說,系統(tǒng)角度來說,從存儲部件來說和存儲板卡和存儲元件四個(gè)層面,并行的思路都是可以取的。從用戶層面來說,一塊卡我們拿不到,我們想拿到更高的,我們可以多插幾塊,用并行的思路,單塊卡的速率沒有提高,但是整體的速率提高了。從這個(gè)角度來說,我們可以采取什么手段呢?如果這個(gè)卡是一個(gè)機(jī)內(nèi)的卡,他的數(shù)量有一定的限制。我想再提高速率,在一個(gè)機(jī)箱的機(jī)箱內(nèi)達(dá)不到這個(gè)要求,我們可以多插幾塊卡的形式來提升整體應(yīng)用。作為板卡的制造商來說,從芯片來說,他的每一個(gè)芯片的讀取范圍和帶寬是有限的。我們通過增加芯片一級增加他的并行度,我們可以提高他的每一塊板卡的并行度。我們提高每一塊板卡的并行度,我們可以提高相對來說一塊卡對有效帶寬的利用。在這個(gè)層級來說可能起的效果比在應(yīng)用層級提高的效率可能要略高一些。今年這些產(chǎn)品,這些指標(biāo)比去年比較大的變化,這是一塊。

還有從元件來說也是這樣的一個(gè)情況,元件這是一個(gè)關(guān)于修建層面組織業(yè)務(wù)規(guī)范,關(guān)于芯片存儲速度的要求,目前有四個(gè)版本,從指標(biāo)情況來看,在運(yùn)行思路上芯片的制造廠商也是在采取同樣的策略。在1.0的時(shí)候,這個(gè)指標(biāo)說100也有,60也有。2.0的時(shí)候,速率提高到200。去年3.0推出來的時(shí)候,速率到了400,今年也是可以達(dá)到800。今年的800速率上和去年3.0,差別不大。3.0的時(shí)候也提出來800的一個(gè)速率,4.0和3.0之間主要的區(qū)別是在能耗上他有比較大的降低。去年3.0他的電壓是一個(gè)水平,今年4.0電壓規(guī)范比較低。這個(gè)表上一個(gè)是速率問題提高,第二是看上面的四項(xiàng),也是比較熟悉,有SDR、DDR2,DDR3。如果仔細(xì)看,規(guī)范里面這些描述來看,他們應(yīng)用的都是一個(gè)并行的思路,在芯片的讀取層面他們作為一個(gè)并層。因?yàn)閷π酒瑏碚f,一個(gè)是前期的準(zhǔn)備階段,第二階段是數(shù)據(jù)讀取階段。在前期數(shù)值沒有大的變化的時(shí)候,我一次取到的數(shù)量是不是意味著我速率就可以得到提高,我們通過閱讀和組織規(guī)范的文本的時(shí)候有這樣一條思路。實(shí)際上規(guī)范當(dāng)中,他提到一個(gè)概念,是不是意味著速率一次存取數(shù)量上是不是有一個(gè)二倍和三倍和多倍??唇衲甑闹笜?biāo),從產(chǎn)品的指標(biāo)提升了很多。我們照這個(gè)推斷,今年產(chǎn)品是去年的3.0。這四個(gè)階段來說,用戶階段、部件階段、板卡階段、芯片階段,不同階段應(yīng)用并行思路本身的效率都是有所提升。還有一個(gè)特點(diǎn)越是到地層芯片組件的時(shí)候,如果我們沒有用3.0來設(shè)計(jì)板卡,前期通過增加板卡數(shù)量是不是能夠達(dá)到用戶來提高,我們需要提高一個(gè)限度。

隨機(jī)讀寫也是有類似的情況,總的來說隨機(jī)讀寫的效率從指標(biāo)來看,咱們談的都是LPS,LPS和帶寬是有一定的關(guān)系。實(shí)際上LPS突出是我讀取頻率是多少,讀取次數(shù)是多少,換一個(gè)角度來考慮,如果從我們讀取的數(shù)量,拿到的有效數(shù)量是多少,我們把他折算,今年LPS的讀取效率比去年高。他應(yīng)用的手段來說,目前來看大家提高比較多的主要就系一個(gè)增加態(tài)勢和使用分層存儲的概念,冷、溫、熱。主要用這種手段和目標(biāo)來提高他的命中率,這是一個(gè)。提高目標(biāo),我們所達(dá)到的效果是提高傳輸率,另外就是減小寫放大。我們從測試的情況來看,各個(gè)廠商在提高Cache的名中率方面和效率做了不少工作。去年基本上LPS能夠到38萬,今年到了80萬。隨機(jī)寫的速率也是有相當(dāng)大的提升,確實(shí)有這樣的效果,增加Cache和增加算法來說,給性能的提高效率比較顯著。

Cache多也是好事,Cache沒有什么問題,第一個(gè)我們增加Cache的代價(jià)和命中率提升的幅度是不太對稱。一開始增加Cache,從2G增加到4G效果是很明顯的。但是我增加到一定程度以后,我命中率提高,實(shí)際上增加頻率是很小的。打個(gè)比方,比如我們從512內(nèi)存升級到1G內(nèi)存,大家的感受是非常明顯,覺得很快。比如我內(nèi)存從1G增加到2G的時(shí)候,大家也覺得快了,增加的這種感受就不是特別的明顯。再進(jìn)一步提升,我們把2G內(nèi)存增加到4G,實(shí)際上在用戶來說基本就幾乎感覺不到有什么變化。為什么?隨著Cache的增加,命中率提高,到了一定程度之后這個(gè)比例幾乎是一個(gè)非常平等的一個(gè)條件,命中率提高是有瓶頸的。第三在命中率不足時(shí),實(shí)際上我們的有效傳輸率是急劇下降。我們是有感受的,這是我們在測試的時(shí)候的一個(gè)截圖,這是一個(gè)SELECT一個(gè)數(shù)據(jù),從表中讀出來存到數(shù)據(jù)庫當(dāng)中。我們測試和使用的時(shí)候,C盤我在執(zhí)行的時(shí)候向D盤平均I/O大小是有1KB,上面C盤也是這樣,他延遲不說了,延遲比較小。實(shí)際上他的每一個(gè)I/O的尺寸,C盤是4.2K,D盤更小,1K。這個(gè)數(shù)據(jù),執(zhí)行這條語句,他取得數(shù)據(jù)量實(shí)際多大?我們算了一下,我能夠取得數(shù)據(jù)量大約是1.5兆B是這樣的情況。如果都是以4K甚至1K的讀寫的話,造成的延遲是顯而易見。在命中率沒有提高的情況下,肯定是執(zhí)行的時(shí)候他還是有很多命中率,有很多沒有被命中或者是命中率提高不上去的時(shí)候。為什么有這樣的情況,怎么解決這個(gè)問題,從什么樣的思路去解決呢?產(chǎn)生這個(gè)問題。

怎么解決呢?有這樣一個(gè)思路,解決的方案是不是可以從這個(gè)邀請函尋找一些答案。主要內(nèi)容就是尊敬的劉波先生:于某年某月某日在亮馬河飯店舉行以什么為主題的閃存峰會,我們邀請您作為演講嘉賓來參加本次峰會下午的閃存技術(shù)分論壇演講,演講時(shí)間是2014年7月31日具體時(shí)間,這個(gè)信的發(fā)出時(shí)間是2014年7月15日。我們可以通過這個(gè)邀請函我們設(shè)想一下,這里面提到幾個(gè)主要因素,第一他提到了邀請是誰,他邀請了我,這里說明了對象,他要邀請誰。第二他要在什么時(shí)間要把我邀請到什么地方來,這是第二個(gè)要素。第三個(gè)這個(gè)信發(fā)出時(shí)間,在2014年7月15日,今天7月31日有兩周,時(shí)間比較充裕。設(shè)想一下,假如說這個(gè)邀請函的發(fā)出時(shí)間不是在7月15日,如果是在7月25日會有什么情況。我們想對于這個(gè)會議來說,我們想應(yīng)該是沒有太大問題,比如我在7月15日接受,我是選擇坐車來還是打車來還是開車來,可以選擇通行方式,意味著速度。假設(shè)這個(gè)信邀請發(fā)生在7月31日的13:00,發(fā)給我的邀請,可能我的選擇就非常少了。我只能是打車、乘專車過來才能滿足這個(gè)要求。為什么這樣說?如果這個(gè)時(shí)間,你要給時(shí)間充足的話,我們是不是可以預(yù)先把這個(gè)數(shù)據(jù)準(zhǔn)備出來,這個(gè)是通過測試和使用產(chǎn)生這樣一個(gè)想法。根據(jù)這個(gè)思路,我們分析一下這個(gè)語句,隨機(jī)傳輸率=I/OPS×I/O尺寸。傳輸量=隨機(jī)傳輸率×持續(xù)時(shí)間。這兩個(gè)結(jié)合起來,我們來看語句的情況就是這樣。

語句底下看,SQL Server在編譯這條語句的時(shí)候占用多長時(shí)間,占用141毫秒。在這141毫秒內(nèi),我們是不是有可能把這些數(shù)據(jù)預(yù)先把他準(zhǔn)備出來。因?yàn)槲覀儸F(xiàn)在應(yīng)用了閃存,就為我們實(shí)現(xiàn)這種想法就會提供一種可能。如果用以前相當(dāng)141毫秒,這個(gè)可以是忽略。但是對于閃存盤來說,這個(gè)141毫秒有可能會帶來一個(gè)非常顯著的變化,是不是就能夠提高我們預(yù)先給數(shù)據(jù)準(zhǔn)確的時(shí)間,提取的有效程度。實(shí)際尺寸是1.5兆,141毫秒,肯定是能夠傳輸過來。為什么沒有傳輸過來?因?yàn)槲覀冊诰幾g這條語句的時(shí)候,沒有給閃存盤一個(gè)預(yù)告,我們沒有告訴他我們需要這個(gè)數(shù)據(jù),我們需要這個(gè)數(shù)據(jù)的范圍。我選的這個(gè)相對來說數(shù)據(jù)是比較大的,實(shí)際上SQL Server編譯時(shí)間不可能都是141毫秒,也有3毫秒、4毫秒。甚至有的編譯時(shí)間,像有的編譯完了以后,我就不需要再編譯,我們這個(gè)時(shí)間,我們在各個(gè)層面是可以預(yù)告。我們沒有接到這個(gè)數(shù)據(jù)的預(yù)告,接到這個(gè)數(shù)據(jù)的預(yù)告時(shí)間都晚了。屬于1.4兆B的時(shí)間,這幾個(gè)KB來看,需要多長時(shí)間,實(shí)際上時(shí)間很小的。

從應(yīng)用層級來說,是不是可以考慮在以下這五個(gè)層面來說,可以在應(yīng)用類考慮,提前更好的做一些預(yù)告。在數(shù)據(jù)庫層面,在操作系統(tǒng)層面,在存儲系統(tǒng)層面,甚至在存儲元器件層面是不是也可以做。在存儲元器件也有,如果從這個(gè)角度來說,我們在應(yīng)用產(chǎn)業(yè)鏈和應(yīng)用鏈各個(gè)環(huán)節(jié)都可以用的。這是我對提高速率和命中率的一個(gè)想法。

第一提高速率手段就是并行手段,第二是緩存,第三是設(shè)計(jì)數(shù)據(jù)預(yù)告??梢詰?yīng)用這些層級來說就是以下幾個(gè)層面來說。實(shí)際上強(qiáng)調(diào)一個(gè)層面,評價(jià)數(shù)據(jù)指標(biāo),評價(jià)閃存,提高性能來說,還有其他的延時(shí)等等,其他指標(biāo)也會對速率產(chǎn)生比較大的提升。

分享到

shaohaihong

相關(guān)推薦