精選

[企業儲存觀察室] 傳統硬體儲存供應商的市場混戰

大約 15 年前筆者開始關注並且觀察全球的企業資料儲存市場。一直以來,全球市佔前五大的儲存系統供應商中,包括了(曾經是)全球前三大的伺服器供應商:Dell、HPE (HP) 與 IBM;再加上(純)儲存系統供應商:EMC、HDS (Hitachi Vantara) 與 NetAp...

2021/08/05

[企業儲存觀察室|技術] 低延遲比高頻寬更重要

現代的儲存比以往的任何時候都更需要低延遲 (Latency)!尤其在快閃/固態儲存成為主流之後。頻寬 (Bandwidth) 是一個人們以為他們已經理解的簡單數字:數字越大、儲存速度越快!如果要正確的理解在這些數字背後的意義,我們應該回到過去的年代,看看它們是如何演變的?其實消費者/企業用戶或是應用系統,真正在意的是資料存取時間 (Data Access Time),也就是從發出資料請求到獲得資料的時間有多長?毫無疑問的,這個數字當然越小越好!但在現實世界中,它複雜許多、也不是那麼容易衡量。

圖片來源:www.pcn.co.za

在磁碟機的時代,資料存取時間大致上包括以下幾個部份:
  • 搜尋時間 (Seek Time),機械臂移動將讀寫頭置放在將要讀取或寫入資料正確磁軌的時間。
  • 旋轉延遲 (Rotational Latency/Delay),等待磁碟旋轉(至足夠的轉速)以將所需要的資料磁區置於讀寫頭之下。
  • 指令處理時間/損耗 (Command Processing Time/Overhead),驅動電子裝置在各個組件間建立必要的傳輸通道以讀取或寫入資料的時間。
  • 資料傳輸速率/吞吐量 (Data Transfer Rate/Throughput),在磁碟表面和磁碟控制器間移動資料的內部速率,以及在磁碟控制器和主機系統間移動資料的外部速率。

相較於電子處理或傳遞資料只需要幾微秒 (µs, microsecond) 的時間,從磁碟上存取資料所需要的機械動作會慢上許多,通常要到數個甚至十數個毫秒 (ms, millisecond),相比起來就算是「延遲」了。(1ms = 1,000µs)磁碟機的資料延遲在某一個程度後就到達物理極限,相同轉速的磁碟機其延遲幾乎是相同的,可以想見這樣的指標對於磁碟機的銷售是毫無助益。於是磁碟機供應商們就需要一個更漂亮的銷售指標,那就資料傳輸頻寬;新的界面技術就會有更高的頻寬,兩者都是消費者喜歡的,因此強調頻寬的傳統就留下來了,某種程度上儲存系統的供應商也喜歡強調頻寬。
延伸閱讀:「磁碟儲存系統效能測試的迷思

後來業界對於延遲的定義有所改變,特別是在固態硬碟出現之後,因為沒有了機械性移動的延遲,現在當我們談到延遲或是回應時間 (Response Time) 時,指的是儲存裝置為請求提供服務的速度有多快,通常是幾微秒,這對儲存來說是真正重要的指標。頻寬只是一個方便而易於衡量的指標,但不是儲存效能的關鍵因素。

現在我們假設有一個具有無限頻寬的儲存裝置,每次存取需要 10ms,這大約是傳統磁碟機的處理速度。該裝置每秒可以處理 100 次的存取(1sec = 1,000ms, 1,000ms/10ms = 100)。如果每一次存取的資料大小為 16K,那麼我們所需要的總頻寬為每秒 13,107,200bit,大約是 12.5megabits/sec,而 USB 2.0 提供的標準連接速率為 500megabits/sec,就單一顆磁碟機來說是一個很大的頻寬。這與高速公路的狀況類似,在非尖峰時段的四車道並不會比二車道來得有效率!

延遲的重要性還有另一個微妙而更為複雜的原因。現在我們同樣假設有 100 個儲存裝置,存取時間一樣為 10ms,每一個儲存裝置每秒可以處理 100 次的存取,100 個儲存裝置每秒就可以處理 10,000 次存取。假設 CPU 每秒可以發出 10,000 個 I/O (IOPS) 請求,所以 100 個儲存裝置足夠處理完成,對吧?錯!因為每個 I/O 都需要 10ms 來處理,即使我們忽略 I/O 發出的先後順序的幾微秒差距,在第一秒結束時仍然會有 100 個未完成的 I/O。但如果這時候把延遲降低到 1ms 就會有很大的不同,同樣的 100 個儲存裝置每秒就可以處理 100,000 次存取,即使有未完成的 I/O 數量也不會多。
考量到現實世界的 I/O 請求不會這麼有規律,再加上突發、高頻的 I/O 請求,低延遲肯定是比高頻寬對儲存系統的效能表現,來得重要許多。
現今的 SSD 具有微秒級的延遲,這意味著它們(幾乎)可以處理與 15 年前價值百萬美元的儲存陣列一樣多的 I/O 數量,只有在無限量的 16KB 存取時,才會受到連接頻寬的限制。這就是為什麼即便是老舊的系統,只要改用快閃儲存或 SSD 仍然可以獲得顯助地效能提升的原因。

 在儲存系統效能的衡量上則會有一些不同。我們來看一下很久沒有提的 SPC-1 數字,截至目前 (2021.08.03) 為止,SPC-1 IOPS 數字最高的前 10 名除了 Fujitsu 外,其餘全為中國的供應商。從數字上看:
  • 排名第一的 Huawei OceanStor Dorado 18000,其 IOPS 為 2,100 萬,總體的回應時間為 0.286ms;
  • 排名第三的 Fujitsu Eternus DX8900 的 IOPS 為 1,001 萬,總體的回應時間為 0.249ms。
儘管 IOPS 的數量差了 1,000 萬,但回應時間的差距並不大。現實上的意義就是除非你確定需要、或者可以創造出 2,000 萬個 IOPS 的需求,否則這兩座儲存系統的效能是差不多的,而兩者系統價格則相差了近 10 倍!
從傳統磁碟到固態硬碟,數字追求從 IOPS 到延遲(回應時間),顯示儲存效能衡量標準會隨著技術而改變。
不過,這並不表示儲存系統的頻寬不重要!還記得前文我們所談到的「無限量的 16K 存取」,1,000 萬或 2,000 萬個 IOPS 當然不是「無限量」,只要稍微計算一下就可以知道它們需要多大的頻寬?
延伸閱讀:「儲存系統的 SPC-1 跑分真實嗎?

延遲作為效能指標的問題有兩個:不容易衡量;而且,大部份的人並不理解它的重要性,它需要更複雜的衡量方式,所以儲存供應商也傾向於強調頻寬,而不是回應時間。但對企業用戶來說,就應該要以實際上的要求來決定什麼樣的頻寬與回應時間,才是適合自己的應用系統的?