全部產品
Search
文件中心

Container Service for Kubernetes:使用硬體DSA進行資料流加速

更新時間:Oct 29, 2024

在資料密集型的工作負載中,如需最佳化DRAM、持久記憶體和各種資料處理進程中常見的資料流拷貝和轉換,推薦您使用英特爾®DSA(Data Streaming Accelerator)資料流加速器。DSA是一種高效能的資料拷貝和資料轉換加速器,已整合在八代神龍SPR機型的處理器中。在ACK叢集中安裝ack-koordinator組件後,叢集將自動開啟DSA加速功能。

DSA加速功能的優勢

Intel® DSA硬體已整合在八代Intel機型處理器中,並基於Alibaba Cloud Linux 3增加了相關驅動。在ACK叢集中使用此機型作為Worker節點,並安裝ack-koordinator組件後,容器將自適應開啟DSA加速功能,將相關記憶體操作從CPU卸載至DSA硬體,實現資料拷貝和轉換的加速,並有效緩解過程中的CPU抖動。DSA加速功能更多優勢如下。

  • 提升節點上資料密集型工作負載的資料處理效能,最佳化OS核心中記憶體均衡、規整等的記憶體操作,提升整機記憶體的效能。

  • 對於ack-koordinator的記憶體就近訪問加速功能,DSA可以明顯提升單次處理的速度,有效降低CPU核時。遠端記憶體使用量量越大,加速效果越明顯:十萬級到百萬級記憶體頁可實現30%~200%的速度提升和CPU節省。遷移約1.7 GB應用記憶體至本地,與無DSA硬體相比,遷移耗時降低至31.25%,頻寬提升至320.00%。

    重要

    本文中提供的測試資料僅為理論值(參考值),實際資料以您的作業環境為準。

前提條件

費用說明

ack-koordinator組件本身的安裝和使用是免費的,不過需要注意的是,在以下情境中可能產生額外的費用:

  • ack-koordinator是非託管組件,安裝後將佔用Worker節點資源。您可以在安裝組件時配置各模組的資源申請量。

  • ack-koordinator預設會將資源畫像、精細化調度等功能的監控指標以Prometheus的格式對外透出。若您配置組件時開啟了ACK-Koordinator開啟Prometheus監控指標選項並使用了阿里雲Prometheus服務,這些指標將被視為自訂指標併產生相應費用。具體費用取決於您的叢集規模和應用數量等因素。建議您在啟用此功能前,仔細閱讀阿里雲Prometheus計費說明,瞭解自訂指標的免費額度和收費策略。您可以通過賬單和用量查詢,監控和管理您的資源使用方式。

步驟一:啟用DSA加速功能

ack-koordinator組件對已整合DSA硬體的節點會自動開啟DSA加速功能。您只需在叢集中配置合適的執行個體,部署ack-koordinator組件即可使用DSA加速功能。

說明

如果您已在叢集中啟用記憶體就近訪問加速功能,DSA硬體節點能進一步提升加速效果。關於如何?記憶體就近訪問加速,請參見啟動容器記憶體就近訪問加速

步驟二:驗證DSA加速功能

在保證資料安全的前提下,記憶體就近訪問加速功能支援將綁核應用遠端NUMA上的記憶體遷移至本地,提高本地訪存命中率,為記憶體密集型的工作負載提供更好的訪存效能。

下文以ecs.ebmc8i.48xlarge測試機型,驗證DSA加速功能啟用是否成功。

驗證步驟

  1. 登入目標節點,執行以下命令,確認處理器已整合DSA硬體。

    關於如何登入測試節點,請參見ECS遠端連線方式概述

    ls /sys/bus/dsa

    預期輸出無報錯且目錄非空,表明處理器已整合DSA硬體。

  2. 部署測試應用,並為其開啟記憶體就近訪問加速功能。

    推薦使用記憶體密集型應用Redis進行部署和驗證。請參見使用樣本完成Redis應用的建立和記憶體就近訪問加速功能的啟用。

結果分析

下表對比在開啟和不開啟DSA加速功能的情境下,遷移26.12GB的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消耗。

相關文檔

DSA硬體節點能進一步提升記憶體就近訪問加速功能的效果。關於如何?記憶體就近訪問加速,請參見啟動容器記憶體就近訪問加速