全部產品
Search
文件中心

Platform For AI:靈駿智算本機快取加速

更新時間:Aug 07, 2026

靈駿智算本機快取加速將訓練資料緩衝至計算節點本地,避免每輪訓練重複從遠端儲存讀取資料,大幅提升資料讀取效能。適用於多Epoch訓練、大規模資料集等需要反覆讀取資料的情境。

功能概述

本機快取支援以下核心能力:

  • 快取:利用計算節點的本地碟構建讀緩衝,加速資料集與Checkpoint訪問,顯著降低資料訪問延遲。

  • 水平擴充:緩衝吞吐能力隨計算節點規模線性擴充,支援數百至數千個節點規模。

  • RDMA大頻寬加速:支援RDMA網路通訊協定,在高並發資料讀取情境下充分利用高速網路頻寬,顯著提升吞吐。

  • 資料預熱:在訓練任務啟動前,將指定資料主動載入到本機快取,避免首輪訓練冷啟動延遲。

  • 用戶端流控:對DLC任務用戶端讀取頻寬限速,防止單個任務佔用過多儲存頻寬影響其他任務。

  • Serverless簡單易用:一鍵開啟和關閉,無需修改代碼,對程式無侵入,無需關注營運。

適用情境與功能使用建議

本機快取適用於資料集規模遠大於單次讀取量、需要反覆遍曆的多輪訓練任務。RDMA加速、資料預熱、用戶端流控三項能力分別對應不同訓練特徵,可按需組合:

情境特徵

建議開啟的功能

預期效果

高並發資料讀取(num_workers較大、batch_size較大)

本機快取 + RDMA加速

分布式緩衝節點間通過RDMA協議傳輸資料,充分利用高速網路頻寬,高並發情境下吞吐顯著提升

對首輪延遲敏感,希望第一個Epoch即享受加速

本機快取 + 資料預熱

在任務啟動前將資料提前載入到緩衝,消除首輪冷啟動延遲

多任務共用同一儲存,需避免單個任務擠占頻寬,或者避免RDMA緩衝情境下訪問快取資料過多擠佔分布式訓練的RDMA頻寬

本機快取 + 用戶端流控

為每個任務設定讀取頻寬上限,保障叢集多任務並行穩定性

大規模視頻/映像資料集的多Epoch訓練

本機快取 + RDMA + 資料預熱

視頻類資料集I/O壓力大,RDMA提升吞吐,預熱消除冷啟動

資料集反覆遍曆、Epoch數較多的常規訓練

本機快取

首輪從儲存讀取並寫入緩衝,後續輪次直接從本機快取讀取,逐輪加速

說明

若您的任務並發讀取壓力大,建議開啟RDMA加速;若對首輪延遲敏感,建議配合使用資料預熱;若叢集中多任務共用儲存,建議開啟用戶端流控進行頻寬保護。

使用限制與說明

  • 儲存支援:支援OSS、智算CPFS。

  • 適用資源:僅支援靈駿智算資源。開啟後佔用算力節點資源:掛載一個檔案系統/OSS Bucket佔用4核CPU、14 GB記憶體;每多掛載一個,額外佔用1核CPU、2 GB記憶體。請在建立前預留資源。

  • RDMA資源佔用:RDMA模式下掛載一個檔案系統/OSS Bucket佔用每個節點8核CPU、16 GB RAM;每多掛載一個,額外佔用1核CPU、2 GB記憶體。節點需配備RDMA網卡,靈駿智算高規格節點預設支援。

  • 容量與策略:最大緩衝容量與靈駿智算規格相關,淘汰策略為LRU(最近最少使用)。

  • 加速目標:僅加速資料讀取,不支援寫。

  • 資料高可用性:不保證資料高可用。快取資料可能丟失,重要訓練資料請及時備份。

  • 工作機制:多輪訓練時,第一輪從儲存執行個體(如OSS、智算CPFS)讀取資料並寫入緩衝,效能略慢於直讀儲存。後續輪次直接從本機快取讀取,速度更快。配合資料預熱可使第一輪也享受緩衝加速。

使用方法

整體流程:開啟Quota緩衝配置 → 配置安全性群組入規則 → 建立DLC任務並開啟緩衝 → 按需配置RDMA/流控/預熱。

步驟一:開啟資源配額(Quota)本機快取

  1. 在左側導覽列單擊资源配额(Quota) > 灵骏智算资源,找到並單擊目標Quota名稱進入管理頁面。注意多級嵌套Quota僅一級Quota支援開啟本機快取功能。

  2. 切換至本機快取頁簽,單擊開啟本機快取加速,設定需要緩衝的儲存路徑。緩衝路徑應指向訓練資料所在的儲存目錄。

    image

  3. 如需使用RDMA加速,在緩衝配置頁面中開啟支持RDMA開關。

步驟二:安全性群組配置入規則

當安全性群組類型為企業級安全性群組時,需額外配置入規則,使快取服務與VPC網路連通。

  1. 在資源配額頁面網路資訊地區查看配置的安全性群組,記錄安全性群組名稱或ID。

  2. 到對應安全性群組的頁面,如果安全性群組類型為企業級,需要增加一項入方向的規則:

    • 授權策略選擇允許

    • 優先順序設為1

    • 協議選擇自訂TCP

    • 訪問來源設定為IPv4類型,並填寫本VPC的網段如:10.0.0.0/8

    • 訪問目的選擇連接埠允許存取 連接埠 10080/(10080+n-1)10070/(10070+n-1),n = 儲存服務條目數(n ≤ 10)。樣本:配了 4 個儲存服務 → 放通 10080/1008310070/10073)

說明

訪問來源配置為資源配額使用的交換器對應的網段。訪問目的連接埠數需要與緩衝配置的儲存服務數相同。

步驟三:建立DLC任務並使用緩衝

  1. 使用目標資源配額的靈駿資源建立DLC任務。

  2. 在配置 DLC 任務的存储挂载參數時,選擇OSS掛載Uri及掛載路徑(例如/mnt/data/)。

  3. 當掛載的儲存地址命中已配置的緩衝地址時,對應的使用缓存開關將自動開啟(使用者可選擇關閉)。

    image

步驟四:用戶端流控配置(可選)

如需對DLC任務的用戶端讀取頻寬進行限速,可在建立DLC任務時,在資料集的進階配置中添加mountOptions參數:

{
  "mountOptions": "-o g_tier_DadiSdkGetTrafficLimit=3221225472"
}

參數說明:

  • g_tier_DadiSdkGetTrafficLimit:用戶端讀取流控閾值,單位為B/s(位元組/秒)。預設值為3221225472(即3 GB/s)。

常用流控值參考:

目標限速

配置值(B/s)

1 GB/s

1073741824

3 GB/s(預設)

3221225472

4 GB/s

4294967296

5 GB/s

5368709120

步驟五:資料預熱(可選)

訓練任務啟動前,可通過資料預熱功能,將指定資料載入到本機快取,避免首輪冷啟動延遲。

控制台方式

建立預熱任務

  1. 本機快取標籤頁滾動至資料預熱地區,單擊右上方+ 建立預熱任務

    image

  2. 在建立對話方塊中,按需填寫以下欄位:

    欄位

    是否必填

    說明

    建議

    快取資料源

    下拉選擇,僅能選擇步驟一中已配置的儲存執行個體。

    訓練任務讀取哪個Bucket就選哪個。

    預熱子目錄

    在選中資料來源下定位到具體子目錄。可手動輸入,或單擊右側檔案夾表徵圖瀏覽目錄。留空則對整條資料來源全量預熱。

    精確到資料集或Checkpoint子目錄,降低無效流量。

    匹配模式

    相對於子目錄的正則匹配,預設.*即全匹配。

    例:只預熱小圖.*\.jpg$

  3. 需要預熱多個位置時,單擊底部+ 添加路徑追加一組配置;單擊行首刪除表徵圖可移除。

  4. 單擊確定提交。任務立即進入資料預熱列表。

說明

每個緩衝執行個體同一時刻只有一條預熱任務在執行,多條任務按提交順序FIFO排隊,其餘處於Creating排隊狀態。預熱量不應超過緩衝總容量,否則資料會被LRU淘汰策略互相驅逐。

查看預熱進度

預熱工作清單展示以下資訊:預熱ID、路徑(資料來源+子目錄+匹配模式)、狀態、建立時間、完成時間、匹配檔案數/位元組數、失敗原因。

狀態說明:

  • Creating:已提交,排隊等待執行。

  • Running:正在將資料拉取到本機快取。

  • Completed:預熱完成,緩衝已載入。

  • Cancelled:已主動取消。

  • Failed:預熱失敗,請查看失敗原因(常見:路徑不存在、匹配模式無匹配檔案)。

取消或刪除預熱任務

  • 狀態為Creating或Running的任務,單擊行末取消按鈕即可終止。

  • Completed或Failed的記錄僅供審計,可直接刪除。

重要

關閉本機快取加速總開關會清空所有預熱記錄和快取資料,操作前請確認無正在啟動並執行訓練任務依賴當前緩衝。

API方式

確定預熱連接埠

每個緩衝配置項對應一個獨立的預熱連接埠,連接埠範圍為10070~10079:

緩衝序號

預熱連接埠

第1個緩衝

10070

第2個緩衝

10071

第3個緩衝

10072

發起資料預熱

在同一Quota下的DSW或DLC執行個體中,執行以下命令發起預熱:

預熱API可在同一Quota下的DSW或DLC執行個體中直接調用(DSW執行個體預設具有所需角色許可權)。
# 如果getDataCacheService 的response 中isShareded = true 則使用如下命令:
curl -s "http://<CacheServiceId>-svc-0.t<主帳號id>.svc.cluster.local.<clusterId>.t<主帳號id>:<Port>/v1/warmup/load?target_path=<path1>,<path2>&pattern=<glob_pattern>"

# 其餘情況則使用如下命令:
curl -s "http://<CacheServiceId>.t<主帳號id>.svc.cluster.local.<clusterId>.t<主帳號id>:<Port>/v1/warmup/load?target_path=<path1>,<path2>&pattern=<glob_pattern>"

參數說明:

  • isShareded:在控制台Quota詳情頁的本機快取頁簽,按F12進入檢查頁面,查看getDataCacheService介面的response,即可看到isShareded欄位的值。

  • CacheServiceId:通過GetQuota介面查詢目標資源配額資訊,從主Quota(第一級資源配額)的返回結果中擷取CacheServiceId

  • 主帳號id:在控制台右上方,單擊帳戶圖片可查看主帳號ID。

  • clusterId:同isShareded,在getDataCacheService介面的response中可查看到該值。

  • Port:第一步中確定的預熱連接埠。

  • target_path:需要預熱的資料路徑,支援多個路徑以逗號分隔。必須為掛載目錄下的相對路徑。例如,若需預熱BMCPFS上的/path1/path2,則target_path=path1/path2

  • pattern(可選):檔案匹配模式,支援Regex。例如pattern=.*.txt表示僅預熱.txt尾碼的檔案。

樣本:

# 預熱掛載目錄下 dataset/train 中所有 .txt 檔案
curl -s "http://cacheservice-xxxx:t10953*******.svc.cluster.local.ca076dea628***********.t10953*******:10070/v1/warmup/load?target_path=dataset/train&pattern=.*.txt"

查詢預熱狀態

使用以下命令查詢預熱進度:

# 如果getDataCacheService 的response 中isShareded = true 則使用如下命令:
curl -s "http://<CacheServiceId>-svc-0.t<主帳號id>.svc.cluster.local.<clusterId>.t<主帳號id>:<Port>/v1/warmup/stat?target_path=<path1>,<path2>&preceding_time=<minutes>"

# 其餘情況則使用如下命令:
curl -s "http://<CacheServiceId>.t<主帳號id>.svc.cluster.local.<clusterId>.t<主帳號id>:<Port>/v1/warmup/stat?target_path=<path1>,<path2>&preceding_time=<minutes>"

參數說明:

  • target_path:與預熱請求中的路徑一致。

  • preceding_time:查詢最近N分鐘內的預熱狀態,單位為分鐘。

樣本:

# 查詢最近 10 分鐘內 dataset/train 的預熱狀態
curl -s "http://cacheservice-xxxx:t10953*******.svc.cluster.local.ca076dea628***********.t10953*******:10070/v1/warmup/stat?target_path=dataset/train&preceding_time=10"

注意事項

  • 預熱API僅可在與快取服務同一Quota下的DSW或DLC執行個體中調用。

  • target_path必須使用掛載目錄下的相對路徑,不要使用絕對路徑。

  • 如果存在多級嵌套的資源配額,請確認CacheServiceId來自第一級資源配額(主Quota)。

  • 預熱操作為非同步執行,可通過/v1/warmup/stat介面持續跟蹤進度。

常見問題

Q:開啟RDMA後第一個Epoch會有加速效果嗎?

不開啟資料預熱時,第一個Epoch需從儲存執行個體拉取資料並寫入緩衝,效能會略慢於直讀儲存。加速效果主要體現在後續Epoch的快取命中階段。RDMA模式下,即使首次拉取,網路傳輸效率也優於傳統TCP,第一個Epoch可能有一定提升。如需確保首輪加速,建議配合資料預熱。

Q:開啟本機快取會額外佔用多少資源?

掛載一個檔案系統/OSS Bucket時,標準模式佔用每個節點4核CPU、14 GB記憶體;RDMA模式佔用8核CPU、16 GB記憶體。每多掛載一個儲存,額外佔用1核CPU、2 GB記憶體。請在建立前預留資源。

Q:資料預熱功能是否支援所有執行個體類型?

預熱API可在同一Quota下的DSW或DLC執行個體中直接調用。DSW執行個體預設具有所需角色許可權,無需額外配置。