英特爾®DSA(Data Streaming Accelerator)資料流加速器是一種高效能的資料拷貝和資料轉換加速器,已整合在八代神龍SPR機型的處理器中。ack-koordinator對已整合DSA硬體的節點,將自動開啟DSA加速功能,用於最佳化DRAM、持久記憶體和各種資料處理進程中常見的資料流拷貝和轉換。本文介紹如何使用硬體DSA進行資料流加速。
索引
前提條件
已建立ACK Pro叢集,且叢集版本為1.18及以上版本。具體操作,請參見建立Kubernetes託管版叢集。
已通過kubectl串連Kubernetes叢集。具體操作,請參見擷取叢集KubeConfig並通過kubectl工具串連叢集。
已安裝ack-koordinator組件(原ack-slo-manager),且組件版本為v1.2.0-ack1.2及以上版本。關於安裝ack-koordinator組件的具體操作,請參見ack-koordinator(ack-slo-manager)。
說明ack-koordinator適配了原resource-controller組件的所有功能。如果您正在使用resource-controller,請您先卸載resource-controller,再安裝ack-koordinator。關於卸載組件的具體操作,請參見卸載resource-controller。
已確保多NUMA機型為神龍裸金屬ecs.ebmc、ecs.ebmg、ecs.ebmgn、ecs.ebmr、ecs.ebmhfc、ecs.scc等五、 六、七、八代機型。
說明記憶體就近訪問加速功能尤其對ecs.ebmc8i.48xlarge、ecs.c8i.32xlarge、ecs.g8i.48xlarge的八代機型提供更好的支援。關於ECS執行個體規格類型系列,請參見ECS執行個體規格。
費用說明
ack-koordinator組件本身的安裝和使用是免費的,不過需要注意的是,在以下情境中可能產生額外的費用:
DSA加速功能的優勢
八代Intel機型處理器整合了英特爾®DSA硬體,並基於Alinux 3增加了相關驅動。在此機型中安裝ack-koordinator組件,容器化自適應開啟DSA加速功能,將相關記憶體操作從CPU卸載至DSA硬體,實現資料拷貝和轉換的加速,並有效緩解過程中的CPU抖動。DSA加速功能更多優勢如下。
提升節點上資料密集型工作負載的資料處理效能,最佳化OS核心中記憶體均衡、規整等的記憶體操作,提升整機記憶體的效能。
對於ack-koordinator的記憶體就近訪問加速功能,DSA可以明顯提升單次處理的速度,有效降低CPU核時。遠端記憶體使用量量越大,加速效果越明顯,十萬級到百萬級記憶體頁有30%~200%的速度提升和CPU節省。遷移約1.7 GB應用記憶體至本地,與無DSA硬體相比,遷移耗時降低至31.25%,頻寬提升至320.00%。
重要本文中提供的測試資料僅為理論值(參考值),實際資料以您的作業環境為準。
關於DSA更多資訊,請參見Intel官方文檔。
使用DSA加速功能
ack-koordinator組件對已整合DSA硬體的節點,將自動開啟DSA加速功能,您只需在叢集中部署該組件即可使用DSA加速功能,無需額外配置。關於ack-koordinator的記憶體就近訪問加速功能,請參見多NUMA機型的容器記憶體就近訪問加速。
驗證DSA加速功能
記憶體就近訪問加速功能以資料安全的方式將綁核應用遠端NUMA上的記憶體遷移至本地,提高本地訪存命中率,為記憶體密集型的工作負載提供更好的訪存效能。
測試環境
DSA加速功能測試需要多NUMA架構機型,例如ecs.ebmc8i.48xlarge、ecs.c8i.32xlarge、ecs.g8i.48xlarge等。本文選用測試機型為ecs.ebmc8i.48xlarge。
測試步驟
登入測試節點,執行以下指令,確認處理器已整合DSA硬體。
ls /sys/bus/dsa
預期輸出無報錯且目錄非空,表明處理器已整合DSA硬體。
部署測試應用,並為其開啟記憶體就近訪問加速功能。
推薦使用記憶體密集型應用Redis。
關於建立Redis應用的具體操作,請參見建立部署Redis應用。
關於開啟記憶體就近訪問加速功能的具體操作,請參見通過Policy開啟記憶體就近加速訪問功能。
測試結論
對26.12 GB Redis遠端記憶體進行就近訪問加速所需的遷移時間,與CPU消耗(百萬級記憶體頁數)對比如下表所示。
測試情境 | 遷移時間(s) | CPU使用率 | 核時(s) |
關閉DSA加速功能 | 9.649 | 1.000 | 9.649 |
開啟DSA加速功能 | 4.928 | 0.668 | 3.292 |
結果說明:在DSA加速功能觸發的記憶體遷移中,實際耗時降低至51.8%,平均CPU消耗降低至66.8%,所需核時降低至34.1%。DSA可以提升記憶體遷移的速度,並降低CPU消耗。