PC體系結(jié)構(gòu)靜悄悄地變革-SSD硬盤時代
其實我覺得,硬盤速度的潛能并沒有被現(xiàn)在的軟件完全發(fā)揮出來,就一個簡單的電梯調(diào)度算法,真正應(yīng)用的也不多。其實并不是軟件不爭氣,現(xiàn)實世界太復(fù)雜,優(yōu)化方案的應(yīng)用面太窄。所以,還是從硬件上解決比較徹底。
大家有沒有關(guān)注SSD?對它的印象如何?如果你僅僅是覺得它"能省一點電量"、"容量太小",那么接下來你可要開始吃驚了。因為SSD有可能正在醞釀著一場體系結(jié)--構(gòu)的革命。先來看兩篇報道:
> > *Micron的PCIE SSD卡*
> > *Micron幾個月前推出了速度達(dá)到250MBps的RealSSD,最近他們又把這一記錄刷新,達(dá)到了1G/s。
> > 但是Micron使用的是雙SSD和高達(dá)16位的數(shù)據(jù)通道,性能超過200000 IOPS(input/output operations per
> > second,輸入輸出操作/秒)這么快的速度使Micron不得不放棄Serial ATA II 300MB/秒的速度,而改投PCI
> > Express的懷抱。出貨日期和價格待定,跳轉(zhuǎn)后有視頻欣賞,看看人家實驗的機(jī)器和PCI Express接口的的SSD是什么樣子。http://www.youtube.com/watch?v=m1GBPreUPXk
> > *
> > *Fusion-io的PCIE SSD卡
> > **看到上圖那一大片芯片了嗎,那是三星生產(chǎn)的 NAND 閃存,一共 80GB,這張卡是 Fusion-io 的 ioDrive。采用 PCIe
> > 接口,讀寫幾乎沒有延遲時間(Everrest測試是幾十微秒),比目前所有 SATA II SSD 和八顆一萬五千轉(zhuǎn)的硬盤組成的RAID系統(tǒng)都還要快**
> > (按測試是在4Gb/s的水平)**,總之就是目前地表上最速儲存媒體。
> > 這里有測試報告:http://www.tweaktown.com/reviews/1683/1/exclusive_look_at_fusion_io_i...
> > **(強(qiáng)烈建議對測試數(shù)字沒概念的人去看測試圖)**
> > *
> > 我們再來一起回憶一下Peter Norvig這位現(xiàn)任google research
> > director寫的文章《10年編程無師自通》(為方便多數(shù)人閱讀,找了中譯本):
> > *
> > 記住在"計算機(jī)科學(xué)"這個詞組里包含"計算機(jī)"這個詞。了解你的計算機(jī)執(zhí)行一條指令要多長時間,從內(nèi)存中取一個word要多長時間(包括緩存命中和未命中的情況--),從磁盤上讀取連續(xù)的數(shù)據(jù)要多長時間,定位到磁盤上的新位置又要多長時間。(答案見后文)
> > *......
> > *答案
> > 各種操作的計時,2001年夏天在一臺典型的1GHz PC上完成:
> > ●執(zhí)行單條指令 1 納秒 = (1/1,000,000,000) 秒
> > ●從L1緩存中取一個word 2 納秒
> > ●從主內(nèi)存中取一個word 10 納秒
> > ●從連續(xù)的磁盤位置中取一個word 200 納秒
> > ●從新的磁盤位置中取一個word(尋址) 8,000,000納秒 = 8毫秒
> > *
> > 距離文章寫成之日已有7年,CPU核心翻倍甚至X4、X8,Cache和RAM速度變快,唯有硬盤還是那樣地慢?,F(xiàn)在,加速硬盤的機(jī)會終于快要來了。按軟件實測--數(shù)據(jù)來估算(實際上我懷疑軟件實測對于這樣快的存儲設(shè)備是否仍然準(zhǔn)確):
> > *SSD性能*
> > ●從連續(xù)的磁盤位置中取一個word 2 納秒
> > ●從新的磁盤位置中取一個word(尋址) 50,000納秒 = 0.05毫秒
> > ●向新的磁盤位置中寫一個word(尋址) 20,000納秒 = 0.02毫秒
> > 在硬盤的讀取帶寬增加幾十甚至上百倍,尋道(其實是尋址)時間降低到幾百分之一,系統(tǒng)啟動的速度,程序加載的速度,硬盤Cache的設(shè)計,Page
> > swapping的效率,程序的預(yù)讀策略......這些常見的問題都需要從新的角度來考慮了。
> > 比如Page swapping,如果需要*5秒種*,那么這肯定是一個問題,因為它會引起程序的停頓;但*如果它只需要5毫秒*,那么對于多數(shù)程序來說,這就不再是一個問題--了:聯(lián)想一下GUI界面的400毫秒定理......(如果覺得我用GUI程序來舉例太過naive的話,請聯(lián)想一下GC #p#page_title#e#
> > algorithm和swapping的關(guān)系,或者服務(wù)器端常見的的RAID壓力問題)
> > 做過系統(tǒng)(軟件系統(tǒng),硬件系統(tǒng),軟硬件綜合系統(tǒng))的人可能都會有這樣的感受:一個數(shù)量級的變化足以引發(fā)體系結(jié)構(gòu)的革命。
> > 現(xiàn)在,我們面臨的是兩個數(shù)量級的改變。所以,我將SSD與HDD的變化稱為革命,一場會影響軟硬件體系結(jié)構(gòu)的革命。
> > 結(jié)果如何,讓我們試目以待......