想像一下,如果您的鍛煉應用程序僅記錄您進行的簡單養生法,該養生法從不改變,也不需要對您的努力程度進行任何調整。 鍛煉的 2D 圖表看起來像心臟監視器上的平線,對您的整體表現幾乎沒有任何啟示。 不幸的是,這就是工作站存儲性能綜合基準的情節線。 這些類型的基準測試旨在使用在固件、驅動程序和硬件之間進行大量優化的訪問規範,從存儲設備中提取峰值。
想像一下,如果您的鍛煉應用程序僅記錄您進行的簡單養生法,該養生法從不改變,也不需要對您的努力程度進行任何調整。 鍛煉的 2D 圖表看起來像心臟監視器上的平線,對您的整體表現幾乎沒有任何啟示。 不幸的是,這就是工作站存儲性能綜合基準的情節線。 這些類型的基準測試旨在使用在固件、驅動程序和硬件之間進行大量優化的訪問規範,從存儲設備中提取峰值。
典型案例是測量具有非常高隊列深度的 4K 塊大小的隨機 IO。 在這種情況下,供應商有足夠的機會優化存儲隊列並最大化設備的 IOPS(每秒輸入/輸出操作)分數。 相比之下,真正的工作站應用程序的平均 IO 範圍為 XNUMX 或 XNUMX。 由於隊列深度如此之低,重新排序和其他優化不會對性能產生如此顯著的影響; 瓶頸向下轉移到原始硬件功能,即使使用 RAID 或激進的混合/分層緩存架構也是如此。
為綜合基準繪製存儲讀取和寫入的圖表。 X 軸是距發生 IO 的起始位置的偏移量。 Y 軸是對該位置進行的交易的塊大小。 例如,一個 128K 的塊大小將嘗試在某個偏移位置從驅動器讀取 128K 的數據,所有這些都在一個請求中。
不可預測的存儲路徑
真正的工作站應用程序不會遵循最佳存儲訪問的可預測路徑。 例如,在非線性視頻編輯領域,塊大小更接近於容器格式或編碼方法,而不是用於非常大的文件傳輸的最佳塊大小。
如果應用程序對所有讀入內存的大文件使用 128K 塊大小,然後以較小的大小遍歷該數據,則速度會快得多。 但是,應用程序要求其他不太理想的存儲訪問方法這一事實使得任何綜合測量都無法代表實際工作的處理方式。
視頻編輯只是一個例子。 幾乎所有應用程序,甚至是同一行業內的應用程序,都使用不同的讀/寫方法,這使得峰值性能狀態的測量在很大程度上變得無關緊要。 準確測量存儲的唯一方法是模擬實際應用程序中發生的操作。
改進方法
對於 2.1 年初發布的 SPECwpc 2016 基準測試,SPEC 工作站性能表徵 (SPECwpc) 小組委員會使用 IOMeter——一種 IO 子系統測量和表徵工具——來模擬各種專業應用程序的 IO 活動。 存儲事務的大小和頻率是從這些應用程序中收集的,IOMeter 使用這些數據在指定的時間內生成一串存儲事務。
雖然這種技術比測量工作站的最大帶寬和延遲要好,但它仍然不太接近應用程序的實際操作。 在下一個版本中,SPECwpc 希望更好地模擬應用程序行為,同時也反映新固態設備、NAND 和 3D Xpoint 等技術以及各種 PCIe 連接選項的影響。
在開發 3 年 2018 月發布的 SPECworkstation XNUMX 基準測試時,SPECwpc 使用 Windows Process Monitor 跟踪來自從事實際工作的各種專業應用程序的存儲事務。 SPECwpc 然後編寫了一個回放實用程序,將跟踪轉換為與實際應用程序幾乎相同的存儲事務流。
SPECworkstation 3 Handbrake 應用程序的讀/寫
SPECwpc 沒有使用來自應用程序的實際數據(其大小為數百 GB),而是使用隨機選擇的數據填充存儲請求。 播放實用程序然後使用多個線程寫入多個文件,就像實際應用程序一樣。
SPECworkstation 3 基準測試包含來自各種應用程序的跟踪,包括媒體和娛樂(3D 動畫、渲染)、產品開發(CAD/CAM/CAE)、生命科學(醫學、分子)、金融服務、能源(石油和天然氣) )、一般操作和 GPU 計算。
針對 SPECworkstation 3 存儲工作負載跟踪的應用程序包括 7zip、Adobe Media Encoder、Adobe Premier Pro、Ansys Icepak、Ansys Mechanical、Autodesk 3ds Max、Autodesk Maya、Autodesk Revit、Blender、CalculiX、Dassault Systémes Solidworks、Handbrake、Lammps、Microsoft Visual Studio 2015 年,Namd、SPECviewperf 13 能源視圖集和 SPECworkstation 3 WPCcfd 工作負載。
SPECworkstation 3 基準測試中 Calculix (CCX) 應用程序的讀/寫
展望未來
SPECworkstation 3 中使用的回放方法以相當接近實際應用程序的方式生成線程,但它仍然有一個中心問題:IO 的時間順序和線程間的任何同步都沒有準確保存。 這會導致某些線程更快地完成某些 IO,並且跨不同線程的 IOP 的並發性沒有完全同步,從而導致偶爾的運行變化。
對於定於 4 年某個時間發布的 SPECworkstation 2020,SPECwpc 將致力於以一種方式保留 IO 時間順序,以防止 IO 在到達存儲設備的總線時合併。
呼籲參與
雖然並不完美,但從實際應用程序處理命令(如不同行業的工作站用戶生成的命令)來跟踪存儲操作是向前邁出的重要一步。
SPECwpc 小組委員會——包括來自 AMD、戴爾、富士通、惠普、英特爾、聯想和 Nvidia 的代表——歡迎設備供應商、應用程序開發商和與存儲性能息息相關的用戶就未來工作負載提出意見。
與其他 SPEC 基準測試一樣,提供最準確的方法來捕獲和報告真實世界的工作站存儲性能將有助於為開發人員在未來改進他們的流程開闢道路。
– 亞歷克斯秀
Alex Shows 是 SPEC 工作站性能特徵 (SPECwpc) 小組委員會的主席,也是戴爾的傑出工程師。 他 23 年的行業經驗包括 19 年的軟件設計、開發和文檔編制; 17 年的硬件和驅動程序設計驗證; 以及 10 年的硬件和軟件技術應用研究。 他擁有 12 項專利,其中 XNUMX 項專利正在申請中。
要了解有關圖形和工作站基準測試的更多信息, 訪問 SPEC/GWPG 網站, 訂閱 SPEC/GWPG 電子通訊,或加入圖形和 工作站基準測試 LinkedIn 組.
SPEC/GWPG 基準可用於 免費下載 對除計算機及相關產品和服務供應商以外的所有人 成員 SPEC 圖形和工作站性能組 (規範/GWPG).