在上一篇文章《超融合架構的本質是什麼(上)》裡,我們闡述了傳統存儲對現代企業大量資料和随機 I/O 處理的表現乏力、超融合架構因何滿足企業需求以及超融合架構得以快速發展的原因。上文smartx 官網連結
本篇文章将進一步解釋在超融合架構中,層次存儲為什麼是提升資料的 I/O 性能的最好選擇。
首先,讓我們追溯到現代計算機體系結構中,解決系統性能瓶頸的關鍵政策:Cache。
現代計算機體系結構是基于馮·諾依曼體系結構建構的,馮 · 諾依曼體系結構将程式指令當做資料對待,程式和資料存儲在相同的存儲媒體(記憶體)中,CPU 通過系統總線從記憶體中加載程式指令和相應的資料,進行程式的執行。
馮 · 諾依曼體系結構解決了計算機的可程式設計性問題,但是帶來了一個缺點,因為程式指令和資料都需要從記憶體中載入,盡管 CPU 的速度很快,卻被系統總線和記憶體速度的限制,不能快速的執行。為解決這個問題,Cache 的理念被提出,通過在 CPU 和記憶體之間加入更快速的通路媒體(CPU Cache),将 CPU 經常通路的指令和資料,放置到 CPU Cache 中,系統的整體執行速度大幅度提升。
I/O 性能瓶頸問題轉移到了存儲
如果記憶體的通路速度相對 CPU 太慢,那麼磁盤的 I/O 通路速度相對 CPU 來說就是 “不能忍” 了。下表是不同存儲媒體的通路延時,在虛拟化環境下或雲環境下,由于 I/O 基本都是随機 I/O,每次通路都需要近 10ms 的尋道延時,使得 CPU 基本處于 “等待資料” 的狀态,這使得核心業務系統運轉效率和核心應用的使用者體驗都變得很差,直覺的感受就是業務系統和桌面應用 “很卡”。
time
參考:http://norvig.com/21-days.html#answers
基于SSD建構平衡系統
和前人解決記憶體通路延時問題的思路類似,現在的主流方法是使用記憶體和 SSD 作為 Cache 來解決 I/O 性能瓶頸。存儲系統能夠分析出資料塊的冷熱程度,将經常通路的資料塊緩存到記憶體和 SSD 中,進而加速通路。
不論是全閃存存儲,還是混合媒體存儲,從某種意義上講都是層次存儲,隻不過混合陣列多了一層磁盤媒體。
學過計算機體系結構的人都聽說過著名的 Amdahl 定律,這裡我們要介紹一個 Amdahl 提出的 “不那麼著名” 的經驗法則:
在一個平衡的并行計算環境中,每 1GHz 的計算能力需要 1Gbps 的 I/O 速度與之比對
假設一台伺服器有 2 顆 E5-4669 v3 的 CPU,每顆 CPU 有 18 個核,36 個超線程,主頻是 2.1GHz,那麼我們可以計算一下,這樣的一台伺服器需要 151Gbps (即~19GBps)的帶寬。在大規模的雲計算(虛拟機算)環境中,極端情況下,大量的 I/O 并發使得存儲收到的 I/O 都變成随機 I/O,在這麼一個并發環境中,假設我們的通路大部分都是 8KB 的讀寫,根據上面的計算,我們需要為一台伺服器配備近 250 萬的 IOPS 讀取速度。
在不考慮系統總線的情況下,如果我們用 SAS/SATA 硬碟來提供這個 IOPS,即使每個 SAS/SATA 盤可以提供近 250 的 IOPS(實際數值更小),僅為建構一台平衡的伺服器計算存儲環境,就需要大概 1 萬個 SAS/SATA 硬碟。在稍大規模的虛拟化環境,想要搭出一個平衡的系統,用傳統的 SAS/SATA 硬碟幾乎不可能完成任務。但是如果采用能夠提 10 萬 “寫 IOPS” 的 SSD 裝置,25 塊 SSD 就夠了。
層次存儲的優勢
“層次存儲” 是相對 “全閃存” 而言,是指将容量大但是速度較慢的 HDD 和速度快的 SSD 同時建構在系統中,通過資料的通路特性,将經常通路的熱資料放置在 SSD 中,而冷資料放置在 HDD 中。
首先,為建構一個平衡的虛拟化環境,需要大量的 SSD 裝置來提供足夠的 IOPS。但是 SSD 也不是完美的。目前的 SSD 擦寫次數有限、價格高。層次存儲将熱資料放置在 SSD 層中,而大量的冷資料仍然放置在 SATA 硬碟上,熱資料周期性的同步到 HDD 硬碟,既為使用者熱資料提供了高 IOPS 的保障,也通過 SATA 硬碟提供了更大的容量和可靠性。
下圖是對 11 個開發人員桌面負載的 I/O 統計,包含了對 5.1TB 大小的存儲上的 76 億次 IO 通路和 28TB 的資料傳輸。首先值得注意的是,有 3.1TB (62%) 的資料,在一年内從來沒有被通路過,這意味着這些資料無論是放置在 SSD 上,還是 SATA 上,甚至放到 U 盤上拔走,對系統都沒有影響。
TB
圖引自:《The 80/20 rule… for storage systems》by Andy Warfield
資料是有冷熱的,這也是為什麼 SmartX 超融合可以為使用者提供高成本效益的層次存儲方案,卻能夠讓使用者得到類似全閃存存儲體驗的原因。