SSD 從形式到實質之改變

2022-09-19 01:27:08 字數 2473 閱讀 3855

ssd的物理尺寸之混戰正在進行其中。

資料中心的硬體架構師由於要規劃下一代server的機械設計。還要制定jbod的設計規範,想必面臨不少困惑。要是選擇的機械尺寸到了部署時成了非主流。勢必造成採購困難、成本增高等一系列問題。搞不好要又一次訂製serverjbod。代價可謂不小,不得不多費些心思,擦亮眼睛。看看未來。

軟體架構師能否夠指指樓下的硬體採購部門——那是他們的事,就此高枕無憂呢?

答案是:假設你選擇做螞蟻般的一維動物。那就能夠繼續春眠不覺。假設想進化**一樣的二維(2.5維)動物。那就必需要聞雞起舞了。額外再多些努力,說不定還有機會如飛鳥般在三維空間中翱翔一番。

據法布林《昆蟲記》所述。螞蟻雖有六條腿,在二維的平面上全然有自由行動的能力,可是為了找到回家的路,他們除了在覓食時會自由行動,在搬運食物回家或集體行動時。都是嚴格地遵照留在地面上的氣味指引。循著一條固定的路線在行走。哪怕路線被風吹來的樹葉或是被水流所阻隔,它們也不惜以生命為代價,一定要回到既定的路線上去。

這就是程式猿所熟悉的檔案外存的訪問方式。

在記憶體中自由覓食時,程式之資料結構能夠在記憶體中隨意擺放、自由訪問。但一旦要搬東西回家(資料要存放到安全可靠的不易失外存時),一切都要序列化(serialization)地存放到一維的檔案裡去。

計算機的儲存從紙帶、磁芯、磁鼓、軟盤、硬碟進化到ssd。其變化程度可與單細胞浮游生物到人類的變化相媲美。

可是外存的訪問模式,仍保留了紙帶時代的同樣概念。因此多年前已有先賢提出了memory

wall並推廣到i/o wall的概念和定律。

memory wall——當計算速度提公升到極限時。程式的執行時間由記憶體訪問的時間所決定(即記憶體的速度決定了程式執行的時間)。

i/o wall——當記憶體訪問速度也提公升到極限時,程式的執行時間由程式產生的i/o訪問時間所決定(即i/o速度決定了計算機的速度)。

memory wall和i/o wall似乎是一道更高過還有一道的銅牆鐵壁。

既已成了定律,是否就不可超越呢?are we doomed by these walls?

幸運的是早有智慧型的前人發明了cache的概念。cache成了翻越這些高牆之樓梯,其出發點在於:

利用資料和程式在時間上(temporal)和空間上(spatial)的區域性相關性(locality)來降低到記憶體和外存的訪問。這已是cpu構架的核心概念,此處不復贅述。

但資料要存放到檔案裡去,已是軟體project師的思維定式。

這個定式。在ssd的時代可能要被打破了。

回到開篇所講的ssd機械尺寸的混戰,我們來看看form factor究竟意味著什麼?

(1)安裝的方式——是否可熱插拔?能否在某種某種機箱內容納?

(2)儲存容量——超大的碟片能放置很多其它nand晶元。

(3)效能——nand通道數越多(越大的盤),可並行操作的nand晶元也越多,因此iops、頻寬也越高。

(4)連線的匯流排和協議。還有匯流排的延遲、頻寬特性也不同。

(5)可擴充套件性——外部匯流排能支援的傳輸距離長,具有能夠擴充套件到多個ssd連線的能力,而ddr記憶體匯流排是基本不可擴充套件的。傳輸佈線距離短。必須緊挨在cpu的邊上。

(6)程式設計模式——是以特殊的記憶體方式來訪問,還是以外存的i/o塊裝置方式來訪問?

眼下,ssd form factor層面的主要競爭格式:

a)pcie card(standard/custom)

b)2.5 inch(或許是3.5 inch)

c)m.2

d)ultra-dimm or nv-dimm?

而協議則有

i)sata

ii)sas

iii)

nvme

iv)ddr ?

前面所述的a)->b)->c)以及i)->ii)->iii)基本上僅僅是個量變的過程,本質上還是個塊裝置。nvme協議在協議棧上比傳統的scsi等協議棧作了優化,故而效能可得到提公升,延遲也有大的精減。

可是以ddr方式訪問的dimm格式的ssd(當然也有在pcie上實現的相似方案)就有了質的變化。由於程式或os對其訪問的方式能夠不再是一種塊裝置。而能夠轉變為一種「有點特殊」的記憶體。而這些記憶體的「特殊性」體如今能夠通過對os虛存管理的改動來實現相應用的相對透明。當這件事發生之後,i/owall就不再明顯,即應用程式不再需要把資料進行序列化,再寫入到檔案裡去,資料結構能夠自由擺放在特殊的記憶體空間內自由訪問。並且不會操心掉電造成的丟失。

這能夠說實現了從螞蟻到人的一維到二維進化,但怎樣實現象鳥兒一樣在三維空間中飛起來呢?

我們來看看,在scale-out的cluster中,即便對單機外存之訪問變成了「特殊不易失記憶體」的方式,但結點之間要交換共享的資料結構,還是不能負除序列化之苦(資料結構要序列化後打包成訊息才幹通過網路介面傳送到還有一結點),就好像人要出差到還有乙個城市要買機票、過安檢然後才幹乘坐飛機一樣的不便利。

設想一下,假設上述以記憶體方式訪問的ssd,經過解耦合(disaggregation),再能在機群內的多結點之間直接共享資料結構的直接訪問,那就不再有網路序列化之開銷。這樣程式猿就能像鳥兒一樣自由地翱翔。

SSD 從形式到實質之改變

ssd的物理尺寸之混戰正在進行當中。資料中心的硬體架構師因為要規劃下一代伺服器的機械設計,還要制定 jbod的設計規範,想必面臨不少困惑。要是選擇的機械尺寸到了部署時成了非主流,勢必造成採購困難 成本增高等一系列問題。搞不好要重新訂 務器 jbod,代價可謂不小,不得不多費些心思,擦亮眼睛,看看未來...

程式設計改變人生 從出租司機到SAP CTO

我們根據網上更多資料,還原christian gheorghe的人生故事。gheorghe是羅馬尼亞人,1966年出生。1984年就讀於布加勒斯特大學機械工程系,獲得了碩士學位。他在校期間還輔修了電腦科學。所以他並不完全算自學成才,也不是什麼典型的屌絲。1 當然,他的程式設計是高中時從玩同學sinc...

幻燈片形式設計 從方法到技巧

幻燈片形式設計 從方法到技巧 此段文字節選自 演說之禪 職場必知的幻燈片秘笈 一書 我在住友電氣工業株式會社工作期間發現,日本的商業人士經常採用一種 具體問題具體分析 的方法討論未來的方案或策略,為此我感到十分的迷惑和不解。因為換了我會迅速地給出具體而絕對的方案,而不會 具體問題具體分析 但後來我也...