重要領域的效能

與 NAND 固態硬碟不同,Intel® Optane™ SSD 在與真實世界應用程式相關的佇列深度(非綜合性效能指標)上提供了最佳效能。

您需要一顆能以更快速度替您和您的工作負載運作的固態硬碟 (SSD)。因為您正在閱讀本文,代表您很有可能在為系統選擇固態硬碟時,研究固態硬碟的效能規格。當您在閱讀規格時,您會看到讀取和寫入的特定傳輸量(也稱為頻寬)。您也會看到特定的每秒最大存取次數(通常稱為每秒輸入/輸出作業 [IOPS])。您可能會驚訝地發現,這些規格假設的是高度理想的測試情境。這些情境可能(與實際情況不相符)不符合您要快速運行的應用程式。

在本文中,我們將探討未完成存取次數(通常稱為工作負載的佇列深度 [QD])在固態硬碟效能中扮演的角色。我們也會檢驗現實應用程式中常見的 QD 類型。

簡單來說,大多數的應用程式具有相對較低的 QD,而 NAND 固態硬碟需要較高的 QD 才能提供完整效能。憑藉著低延遲的特性,Intel® Optane™ SSD 能在低 QD 下提供高效能。因此,Intel® Optane™ SSD 能為更廣泛的應用程式提供高效能。

低 QD 應用程式的普及率

大多數人平常並不會考慮到 QD。可以用類比來說明 QD,顯示 QD 與延遲和傳輸量的關係,並協助解釋低 QD 的重要性。

想像一下,您的小屋著火了。您沒有水管,但是在田野的另一側有一個水桶和一個水龍頭。於是您打開了水龍頭、加滿水桶、關閉水龍頭,然後越過田野,將水倒在火焰上。然後,您回到水龍頭處,並重複該過程。

在此範例(圖1)中,QD 為 1 (QD=1),因為只有一個人和一個水桶。傳輸量等於從水龍頭取水並倒到火上的平均速率(例如每小時 12 次)。在此範例中,延遲是指一個水桶中的水全部倒到火上之後,到下一個水桶的水倒到火上為止的時間間距(例如五分鐘)。

如您所見,延遲與水倒到火上的傳輸量有關。如果田野較大,則運輸時間更長,因此水桶取水的等待時間將增加,水的傳輸量將會下降。

圖 1。傳輸量由延遲(往返時間)和 QD(水桶數)決定。

如果我們能縮小田野的大小(圖 2),將水龍頭移近小屋,那麼我們就能更快地越過田野,並更快地將更多的水倒在火上。在這種情況下,我們減少了延遲,即使 QD = 1,我們仍然可以提高傳輸量和滅火效率。

圖 2。如果縮短距離,則可以減少延遲並增加傳輸量。

減少延遲聽起來像是在變魔術。有其他的方式嗎?讓我們將這個範例改為 QD = 2。我們需要另一個水桶和另一位朋友來幫助我們。現在,兩名消防員在野外交叉而過,一人前往火焰處,另一人前往水龍頭處。由於該田野的大小相同,因此延遲沒有改變,但是當 QD = 2 時,傳輸量現在是原來的兩倍:水將更快地倒在火上(圖 3)。

圖 3。增加傳輸量的另一種方法是增加 QD。

在我們用盡水桶和朋友之前,我們可以透過提高 QD 來繼續增加水到火上的傳輸量。隨著我們野外奔跑的消防員數量增加,彼此將開始碰撞(圖 4)。我們引入了效率低下的問題。現在,加入的每位助手所提供的協助,都不會像第一位加入的助手幫助那麼大。到了某個時刻,我們會發現水龍頭無法關閉,總是有人在裝水桶的情況。此時,我們將達到飽和點(水龍頭的最大傳輸量),加入更多的水桶(更高的 QD)將無濟於事。

圖 4。最終,由於飽和導致擁塞,持續提高的 QD 將達到報酬遞減點。

儲存系統的運作與上方的範例類似。處理器上運作的應用程式著火了—需要資料水桶才能繼續運算。處理器上運行的應用程式或作業系統分別向固態硬碟發出資料請求,然後使用回傳資料繼續運算。應用程式可以同時請求的資料項數量(QD 或水桶的數量),取決於運算的資料平行與應用程式的功能。每次存取的延遲,取決於固態硬碟的延遲與該固態硬碟系統路徑的延遲。因此,傳輸量取決於應用程式與使用的固態硬碟。

基準和指標 QD

固態硬碟效能通常使用 FIO (Linux) 或 CrystalDiskMark (Windows) 等指標進行衡量。這些指標能判斷高 QD。FIO 可以完全根據 QD 進行配置—只需指定所需的 QD。回報固態硬碟效能時,QD 等於 128 或 256 的 FIO 測試非常常見。CrystalDiskMark 包含一個具有 16 執行緒的測試,每個執行緒的 QD 為32,總 QD 為 512。如此高的 QD,代表能夠充分利用固態硬碟,並且呈現出 IOPS 和傳輸量的最大可能效能。

但是,這些高效能數字(對於高 QD 的依賴性)無法反映大多數資料中心與用戶電腦所經歷的日常真實狀況。在實際情況中,我們很難達到高 QD 並維持。Intel 針對實際資料中心工作負載的內部測試顯示,大多數應用程式的 QD 範圍介於 1 到 9(圖 5)。1實際上,只有交換式指標測試(例如 TPC-H)才能達到非常高的 QD。

圖 5。許多企業工作負載發生在低 QD 範圍內。1

圖 6.各種客戶端工作負載及其相關的 QD;所有測得的工作負載主要在低 QD 下執行。2

對於電腦應用程式來說,情況更為嚴重。經過我們的測量,我們發現許多桌上型應用程式僅支援一個、兩個或四個 QD。如圖 6 所示,許多受歡迎應用程式的實際工作負載執行時,QD 少於 3。

圖 5 和圖 6 生動地說明了固態硬碟規格表採用的高 QD 測量與實際應用程式之間脫節的情況。SSD 指標提供了許多移動資料用的水桶,然而應用程式僅提供了少量的水桶。在這種背景下,讓我們看看 NAND 和 Intel® Optane™ 固態硬碟的效能與 QD 的關係。

NAND 固態硬碟效能

NAND 固態硬碟是由 NAND 記憶體構建而成,這並不奇怪。單一 NAND 固態硬碟包含許多 NAND 積體電路。從 NAND 積體電路讀取資料的延遲,會決定所有固態硬碟的延遲,但不包括低頻率尾部延遲。3由於 NAND 的讀取延遲,現在的 NAND 固態硬碟通常會有約 80 微秒 (µs) 的閒置。4

由於延遲相對較高,因此低 QD 效能是 NAND 固態硬碟所面臨的挑戰。稍微計算一下:4,096 位元組 x (1/80 µs) = 50 MB/秒,這讓我們看到傳輸量將會多慢。當然,更大量的運輸(更大的水桶)將增加傳輸量。這就是固態硬碟指標採用大量運輸進行運輸量測量的原因。請注意,只有某些應用程式才能採用大量傳輸。

再來計算一下:(1/80 µs) = 12K IOPS,這讓我們看到 QD=1 的 IOPS 有多低。較高的 QD 數將增加此速率。這就是您會看到這些較大 QD 測量值的原因。更大量的傳輸也會增加傳輸量,這就是您在固態硬碟的 IOPS 測量中看到高 QD 水平的原因。

有許多次要因素會影響 NAND 固態硬碟的效能,因此需要較高的 QD 才能達到最大 NAND 固態硬碟效能。在這裡值得一提的是:Yahtzee 效應,由我在 Intel 的同事 Knut Grimsrud 命名。每個 NAND 積體電路 (IC) 在延遲期間只能讀取一次。因此,如果要獲得更高的效能,NAND 固態硬碟必須具有許多 IC,並且每次讀取都必須使用不同的 IC。但是資料留在特定的 IC 上,因此即使其他 IC 處於閒置狀態,傳入的存取內容也可能與先前特定 IC 的存取內容產生衝突,並且必須等待。就像是我們有多個水龍頭,但每個水龍頭的流速都很慢,而每個水桶只能在特定的水龍頭裝水。隨著 QD 的增加,單一 IC 發生讀取衝突的可能性也會增加,導致效能的提升比 QD 的增加更緩慢。這就是固態硬碟規格表採用較高 QD 來顯示高 IOPS 的原因。由於 Intel® Optane™ SSD 具有更強大的記憶體與固態硬碟架構,因此不會受到 Yahtzee 的影響。

Intel® Optane™ SSD 在實際的資料中心作業中,如何勝過 NAND 固態硬碟

與 NAND 固態硬碟不同,Intel® Optane™ SSD 的目標是利用革命性的記憶體與固態硬碟架構,提供一致的低延遲,進而在實際 QD 上提供最佳效能。Intel® Optane™ 記憶體媒體的低延遲讓固態硬碟能夠實現約 8 µs(非常小的田野)的極低延遲(對於固態硬碟)。此外,與 NAND 固態硬碟不同,Intel® Optane™ 固態硬碟的延遲不受記憶體延遲的影響,也不受 Yahtzee 效應的影響。Intel® Optane™ SSD 甚至可以組合來自多個 Intel® Optane™ 記憶體媒體 IC 的單一 4 KB 讀取,而且這些 IC 已準備好快速地再次讀取。Intel® Optane™ SSD 避免了 NAND​ 記憶體的位置與地址衝突。Intel® Optane™ SSD 就像是一次使用多個水龍頭裝填一個水桶,能夠很快地裝填下一個水桶。這表示著與 NAND 記憶體相比,Intel® Optane™ 記憶體媒體能以更少的時間準備好進行下一次讀取,因此無需輸入/輸出 (I / O) 的平行擴展即可實現高 IOPS。

簡而言之,Intel® Optane™ SSD 能以較低的 QD 提供最佳效能 (大多數應用程式運作時的 QD 較低)。NAND 固態硬碟通常需要 128 以上的 QD 才能提供最佳效能,而 Intel® Optane™ SSD 能以實際應用程式中通常較低的 QD 提供完整效能(請參見圖 7)。5 該圖表也特別強調了 NAND​​ 固態硬碟 (Intel® SSD P4610) 和 Intel® Optane™SSD (Intel® Optane™SSD P4800X) 之間的效能差異。結果顯示,Intel® Optane™ SSD 的現實速度優勢是經過測試的 Intel® NAND 固態硬碟現實相關效能的四到五倍。

圖 7.Intel® Optane™ SSD 可在大多數應用程式運行時較低的 QD 下提供最佳效能。NAND 固態硬碟通常需要 128 以上的 QD 範圍,才能提供最佳效能。6

雖然這是一個重要的圖表,但僅能說明部分內容。圖 8 顯示的是相同的工作負載,不過以傳輸量(x 軸)和由此產生的每次 I/O 讀取延遲(y 軸)繪製了系統的作業點。QD 包含在 NAND 和 Intel® Optane™SSD 線上的說明中。假設我們有一個能夠進行 QD = 4 作業的應用程式。Intel® Optane™ SSD 允許該應用程式以大於 1.2 GB/s 的傳輸量執行,每次讀取 I/O 的延遲僅為 10 µs。另一方面,NAND 固態硬碟為應用程式提供的作業點小於 0.3 GB/s,每次讀取 I / O 的延遲約為 100 µs。這些作業點截然不同,會造成截然不同的應用程式效能。

圖 8.與 NAND 固態硬碟相比,在 QD 較低的情況下,Intel® Optane™ SSD 能提供更高的頻寬和更低的延遲。6

同時也必須注意在圖 8 中,NAND 固態硬碟需要 128 甚至 256 的 QD,才能達到完整效能。即使您的應用程式可以達到該作業點,也將以更高的讀取延遲為代價。現在您知道 NAND​​ 固態硬碟的最高效能為什麼要指定這麼高的 QD,以及為什麼您應該詢問該作業的讀取延遲了。因此,某些指標(例如 CrystalDiskMark)將 QD = 1 測量作為其測試套件的一部分。Intel® Optane™ SSD 能以 8 個以上的 QD 達到完全效能,並且在該作業點保持較低的讀取延遲。對於實際應用程式的 QD,Intel® Optane™ SSD 能提供高傳輸量並同時保有低延遲。需要撲滅火勢時,我希望在系統中安裝 Intel® Optane™ SSD。

Intel® Optane™ SSD 低延遲效能的額外好處:簡化代碼

正如 MIT 的 David Clark 所說:「頻寬問題可以用金錢解決。由於光速是固定的,因此延遲問題更難解決;因為你無法賄賂上帝。」7 雖然 Clark 談論的是網路,但這也適用於儲存裝置;低延遲非常強大,並且具有廣泛的影響。與作業系統和應用程式開發人員合作將低延遲 Intel® Optane™ SSD 整合至系統中之後,我們注意到了一個反覆出現的主題。這些開發人員投入了時間、額外代碼和額外運算週期等成本,克服儲存裝置的高延遲。多年以來,儘管 NAND 固態硬碟(甚至是硬碟機 [HDD])具有高延遲,但是作業系統和關鍵資料中心應用程式的開發人員仍在加大努力以提升應用程式的運輸量。我們已經開發了重要代碼和複雜的啟發法,嘗試縮短在儲存裝置之間來回傳輸資料時漫長的等待時間。有了 Intel® Optane™ SSD,將不再需要這些額外代碼與額外的開發時間。Intel® Optane™ SSD 提供的低延遲解決了最根本的問題:快速存取資料。

為了說明這個概念,讓我們看一個商業上重要的資料庫指標 TPC-C。我在 Intel 的另一位同事 Jeff Smits 進行了廣泛的實驗,將 NAND 固態硬碟效能與 Intel® Optane™ SSD 效能相比較。TPC-C 的重點是傳輸量—每秒異動數量 (TPS)。TPC-C 的資料庫執行在代碼和系統層級方面進行了大幅最佳化。Jeff 發現僅將 Intel® Optane™ SSD 插入系統中,並無法充分發揮好處。他必須減少這個高度最佳化系統產生的未完成傳輸數量。這麼做之後,他看到了強大的應用程式層級效能提升。系統採用高延遲儲存裝置,因此包含能夠生成大量同時傳輸的複雜代碼。有趣的是,因為應用程式的工作組縮小,回撥未完成的傳輸數量甚至可以讓 CPU 快取更有效率地執行。我們已經看到了與作業系統虛擬記憶體頁面類似的簡化效能機會。

因此,Intel® Optane™ SSD 的額外優點是降低了代碼複雜性並縮小了工作組。透過降低複雜性,我們能夠看到系統效能的進一步提升。如果您是開發人員,請思考如何透過使用 Intel® Optane™ SSD 將應用程式簡化,以實現更高的效能和生產力。

「實際」的效能至關重要

「實際」一詞貫穿本文。因為這就是重點。畢竟,如果在實際實踐中無法獲得相同結果,那麼無論發布的效能數據多麼令人印象深刻,也都沒有任何意義。雖然在瀏覽銷售手冊時,NAND 固態硬碟效能數據可能會令人印象深刻,但 Intel® Optane™ SSD 效能將在實際的資料中心作業與電腦應用程式中,日復一日地留下深刻的印象。8 9 10 11 12 13

關於作者:Frank Hady

Frank Hady 是 Intel 研究員,也是 Intel 非揮發性記憶體解決方案事業群 (NSG) Optane 系統架構長。他負責 Intel® Optane™ 技術產品的研究與定義,以及其與作業系統的整合。

Frank 的經歷:

  • 擔任領導平台 I/O 架構師
  • 完成 Intel® QuickAssist 技術 (Intel® QAT) 的基礎研究
  • 撰寫或共同撰寫以網路、儲存裝置和 I/O 創新為主題的 30 份已公開報告
  • 擁有 30 多項美國專利
  • 維吉尼亞大學電機工程學位暨馬里蘭大學博士

進一步瞭解

歡迎探索記憶體與儲存裝置技術系列中的其他報告,進一步瞭解 Intel® Optane™ 技術如何為資料中心的記憶體和儲存裝置階層架構帶來革命。

若要進一步瞭解 Intel® Optane™ 持續性記憶體,請造訪:

https://www.intel.com.tw/content/www/tw/zh/products/memory-storage/optane-dc-persistent-memory.html

若要進一步瞭解 Intel® Optane™ SSD,請造訪:

https://www.intel.com.tw/content/www/tw/zh/products/memory-storage/solid-state-drives/data-center-ssds/optane-dc-ssd-series.html

延伸閱讀 – Intel® Optane™ 技術:記憶體或儲存裝置?兩者皆是。

https://www.intel.com.tw/content/www/tw/zh/products/docs/memory-storage/optane-technology/what-is-optane-technology-brief.html

產品與效能資訊

1Intel。「PCIe * 和 NVMe* 企業固態硬碟的效能指標測試。」 2015 年 2 月。intel.com/content/dam/www/public/us/en/documents/white-papers/performance-pcie-nvme-enterprise-ssds-white-paper.pdf.
2資料來源:2018 年 7 月 Intel 測試。系統配置:CPU:Intel® Core™ i7 8086K 處理器;BIOS 版本 9008 (x64) 組件日期:5/16/2018,EC 版本 MBEC-Z370-0203,Intel® 管理引擎 (Intel® ME) 韌體 Ver11.8.50.3399;主機板:ASUS Z370-A;作業系統:Windows* 10 RS4 1803;驅動程式:Microsoft* 內建驅動程式;DRAM:8 GB x 2 Corsair Vengeance LPX DDR4(型號:CMK16GX4M2A2666C16R);1 TB WD Blue 2.5” 硬碟 (HDD)(型號:WD10JPVX);32 GB Intel® Optane™ 記憶體,118 GB Intel® Optane™ SSD 800P;900P;SATA 固態硬碟:512 GB Intel® SSD 545s;NVM Express (NVMe) 固態硬碟:512 GB Intel® SSD 760p PCIe,M.2,NVMe 固態硬碟;全部經過 Intel 進行內部測試。
3Intel。「讓您的儲存密集型工作負載達到一致的低延遲。」 2019 年 12 月。intel.com.tw/content/www/tw/zh/architecture-and-technology/optane-technology/low-latency-for-storage-intensive-workloads-tech-brief.html.
4根據 2018 年 7 月 24 日的 Intel 測試。在 4K 隨機寫入工作負載期間,在佇列深度 1 處測得的平均讀取延遲。利用 FIO 3.1 針對 Intel Reference Platform 進行比較,比較 375 GB Intel® Optane™ SSD P4800X 和 1.6 TB Intel® SSD P4600 與截至 2018 年 7 月 1 日市售的固態硬碟。對於單一 3 GHz CPU(轉譯 240,000 個處理器指令)而言,這就像是必須帶著水桶跑過的巨大田野。
5 經過 Intel 測試:4K 70/30 低佇列深度時的讀取/寫入效能。測試和系統配置:CPU:Intel® Xeon® Gold 6140 處理器 FC-LGA14B(2.3 GHz、24.75 MB、140 W、18 核心),CD8067303405200,CPU 插槽:2,RAM 容量:32 GB,RAM 型號:DDR4,RAM 填充:無,DIMM 插槽裝載:2 個插槽,PCIe 連接:CPU ((非 PCH 通道連接),晶片組:Intel C620 系列晶片組 BIOS:SE5C620.86B.00.01.0013.030920180427,交換器/ ReTimer Model/供應商:cable OCuLink 800 mm straight SFF-8611 to right angle SFF-8611 Intel AXXCBL800CVCR,作業系統:CentOS 7.5,核心:4.14.50 (LTS),FIO 版本:3.5;NVMe 驅動程式:內部,C 狀態:停用,Intel® 超執行緒技術 (Intel® HT Technology):停用,CPU 調速程式(透過作業系統):效能模式。增強型 Intel SpeedStep® 技術 (EIST),Intel® 渦輪加速技術:停用,以及 P 狀態:啟用。
6 根據 2018 年 11 月 15 日的 Intel 測試:使用 FIO 3.1 測量。通用配置:Intel 2U 伺服器系統、CentOS* 7.5、核心程式 4.17.6-1.el7.x86_64、2 個 Intel® Xeon® 6154 Gold 處理器(18 核心)、2,666 Mhz 的 256 GB DDR4 記憶體。配置:375 GB Intel® Optane™ SSD P4800X 和 3.2 TB Intel® SSD P4610。Intel® 微碼:0x2000043;系統 BIOS:00.01.0013;Intel® 管理引擎 (Intel® ME) 韌體:04.00.04.294;基板管理控制器 (BMC) 韌體:1.43.91f76955;FRUSDR:1.43。
7麻省理工學院 (MIT) David Clark 表示。
8效能測試中使用的軟體與工作負載可能只有針對 Intel® 微處理器的效能最佳化。
9效能測試(例如 SYSmark 與 MobileMark)使用特定的電腦系統、元件、軟體、作業及功能進行評量。這些因素若有任何變更,可能會導致不同的結果。考慮購買時,為了充分評估,您應該參考其他資訊及效能測試,包括該產品結合其它產品使用時的效能表現。如需更完整的資訊,請造訪 intel.com.tw/benchmarks
10效能結果係依組態中所示日期的測試為準,可能無法反映所有公開提供的更新。請參閱設定檔配置的詳細資訊支援。沒有產品或元件能提供絕對的安全性。
11 您的成本和成果可能有所不同。
12Intel 技術可能需要啟用硬體、軟體或服務啟動
13© Intel Corporation。Intel、Intel 標誌和其他 Intel 標記是 Intel 公司或其子公司的商標。其他名稱與品牌可能業經宣告為他人之財產。在美國印刷