精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Magnum IO存儲的優(yōu)點和實施

星星科技指導(dǎo)員 ? 來源:NVIDIA ? 作者:Magnum IO存儲的優(yōu)點 ? 2022-04-10 11:14 ? 次閱讀

這是世界上第四個帖子加速 IO系列它解決了存儲問題,并與我們的合作伙伴分享了最近的成果和方向。我們將介紹新的 GPU 直接存儲版本、優(yōu)點和實施。

加速計算需要加速 IO 。否則,計算資源就會缺乏數(shù)據(jù)。考慮到所有工作流程中數(shù)據(jù)存儲在內(nèi)存中的比例正在減少,優(yōu)化存儲 IO 變得越來越重要。存儲數(shù)據(jù)的價值、竊取或破壞數(shù)據(jù)的行為以及保護(hù)數(shù)據(jù)的法規(guī)要求也在不斷增加。為此,人們對數(shù)據(jù)中心基礎(chǔ)設(shè)施的需求日益增長,這些基礎(chǔ)設(shè)施可以為用戶提供更大程度的隔離,使其與不應(yīng)訪問的數(shù)據(jù)隔離開來。

GPU 直接存儲

GPU 直接存儲簡化了存儲和 GPU 緩沖區(qū)之間的數(shù)據(jù)流,適用于在 GPU 上消費(fèi)或生成數(shù)據(jù)而無需 CPU 處理的應(yīng)用程序。不需要增加延遲和阻礙帶寬的額外拷貝。這種簡單的優(yōu)化導(dǎo)致了改變游戲規(guī)則的角色轉(zhuǎn)換,數(shù)據(jù)可以更快地從遠(yuǎn)程存儲(而不是 CPU 內(nèi)存)饋送到 GPU s 。

GPU 直系親屬的最新成員

GPUDirect系列技術(shù)能夠訪問 GPU 并有效地將數(shù)據(jù)移入和移出 GPU 。直到最近,它還專注于內(nèi)存到內(nèi)存的傳輸。隨著 GPU 直接存儲(GDS)的添加,使用存儲的訪問和數(shù)據(jù)移動也加快了。 GPU 直接存儲使在本地和遠(yuǎn)程存儲之間向 CUDA 添加文件IO邁出了重要的一步。

使用 CUDA 11 . 4 發(fā)布 v1 . 0

GPU 直接存儲經(jīng)過兩年多的審查,目前可作為生產(chǎn)軟件使用。 GDS 以前僅通過單獨(dú)安裝提供,現(xiàn)在已并入 CUDA 11 . 4 版及更高版本,它可以是 CUDA 安裝的一部分,也可以單獨(dú)安裝。對于 CUDA 版本X-Y的安裝,libcufile-X-Y. so 用戶庫gds-tools-X-Y默認(rèn)安裝,nvidia-fs.ko內(nèi)核驅(qū)動程序是可選安裝。有關(guān)更多信息,請參閱 GDS故障排除和安裝文檔。

GDS 現(xiàn)在在RAPIDS中提供。它還有PyTorch 集裝箱和MXNet 容器兩種版本。

GDS 說明和好處

GPU 直接存儲啟用存儲和 GPU 內(nèi)存之間的直接數(shù)據(jù)路徑。在本地 NVMe 驅(qū)動器或與遠(yuǎn)程存儲器通信的 NIC 中,使用直接內(nèi)存訪問( DMA )引擎移動數(shù)據(jù)。

使用該 DMA 引擎意味著,盡管 DMA 的設(shè)置是一個 CPU 操作, CPU 和 GPU 完全不涉及數(shù)據(jù)路徑,使它們自由且不受阻礙(圖 1 )。在左側(cè),來自存儲器的數(shù)據(jù)通過 PCIe 交換機(jī)進(jìn)入,通過 CPU 進(jìn)入系統(tǒng)內(nèi)存,然后一直返回 GPU 。在右側(cè),數(shù)據(jù)路徑跳過 CPU 和系統(tǒng)內(nèi)存。下面總結(jié)了這些好處。

poYBAGJSS7KAX48qAAC598A-Hdw189.png

無 GPU 直接存儲

受進(jìn)出 CPU 的帶寬限制。導(dǎo)致 CPU 反彈緩沖區(qū)的延遲。內(nèi)存容量限制為 0 ( 1TB )。存儲不是 CUDA 的一部分。沒有基于拓?fù)涞膬?yōu)化。

poYBAGJSS7qAbdDwAAC2KIb_tSk617.png

使用 GPU 直接存儲

GPU 的帶寬僅受 NIC 限制。由于直接復(fù)制,延遲更低。訪問 O ( PB )容量。簡單的 CUDA 編程模型。通過 NVLink 、 GPU 緩沖區(qū)自適應(yīng)路由。

圖 1 . GDS 軟件堆棧,其中應(yīng)用程序使用 cuFile API ,啟用 GDS 的存儲驅(qū)動程序調(diào)用nvidia-fs.ko內(nèi)核驅(qū)動程序以獲得正確的 DMA 地址。

GPU 直接存儲提供了三個基本的性能優(yōu)勢:

增加帶寬:通過消除通過 CPU 中的反彈緩沖區(qū)的需要,在某些平臺上可以使用備用路徑,包括通過 PCIe 交換機(jī)或 NVLink 提供更高帶寬的平臺。雖然 DGX 平臺同時具有 PCIe 交換機(jī)和 NVLink ,但并非所有平臺都具有。我們建議使用這兩種方法來最大限度地提高性能。火星著陸器的例子實現(xiàn)了 8 倍的帶寬增益。

潛伏期縮短:通過 CPU 內(nèi)存避免額外拷貝的延遲和管理內(nèi)存的開銷(在極端情況下可能非常嚴(yán)重),從而減少延遲。延遲減少 3 倍是常見的。

CPU 利用率降低:使用跳出緩沖區(qū)會在 CPU 上引入額外的操作,以執(zhí)行額外的復(fù)制和管理內(nèi)存緩沖區(qū)。當(dāng) CPU 利用率成為瓶頸時,有效帶寬會顯著下降。我們測量了多個文件系統(tǒng)的 CPU 利用率提高了 3 倍。

沒有 GDS ,只有一條可用的數(shù)據(jù)路徑:從存儲器到 CPU ,從 CPU 到具有 CUDA Memcpy 的相關(guān) GPU 。對于 GDS ,還有其他可用的優(yōu)化:

用于與 DMA 引擎交互的 CPU 線程與最近的 CPU 內(nèi)核密切相關(guān)。

如果存儲器和 GPU 掛斷不同的插槽,并且 NVLink 是可用的連接,則數(shù)據(jù)可通過存儲器附近的 GPU 內(nèi)存中的快速反彈緩沖區(qū)暫存,然后使用 CUDA 傳輸?shù)阶罱K的 GPU 內(nèi)存目標(biāo)緩沖區(qū)。這可能比使用 intersocket 路徑(例如 UPI )快得多。

沒有cudaMemcpy參與分割 IO 傳輸,以適應(yīng) GPU BAR1 孔徑,其大小隨 GPU SKU 變化,或者在目標(biāo)緩沖區(qū)未固定cuFileBufRegister的情況下,分割到預(yù)固定緩沖區(qū)。這些操作由libcufile.so用戶庫代碼管理。

處理未對齊的訪問,其中要傳輸?shù)奈募械臄?shù)據(jù)偏移量與頁面邊界不對齊。

在未來的GDS版本中,cuFileAPI將支持異步和批處理操作。這使得 CUDA 內(nèi)核能夠在 CUDA 流中的讀取之后對其進(jìn)行排序,該 CUDA 流為該內(nèi)核提供輸入,并且在生成要寫入的數(shù)據(jù)的內(nèi)核之后對寫入進(jìn)行排序。隨著時間的推移,cuFileAPI也將在 CUDA 圖形的上下文中可用。

表 1 顯示了 NVIDIA DGX-2 和 DGX A100 系統(tǒng)的峰值和測量帶寬。該數(shù)據(jù)表明,在理想條件下,從本地存儲到 GPU s 的可實現(xiàn)帶寬超過了 CPU 內(nèi)存的最大帶寬,最高可達(dá) 1 TB 。通常從 PB 級遠(yuǎn)程內(nèi)存測量的帶寬可能是 CPU 內(nèi)存實際提供帶寬的兩倍以上。

將 GPU 內(nèi)存中無法容納的數(shù)據(jù)溢出到甚至 PB 的遠(yuǎn)程存儲中,可能會超過將其分頁回 CPU 內(nèi)存中 1 TB 的可實現(xiàn)性能。這是歷史的一次顯著逆轉(zhuǎn)。

poYBAGJSS8SAL2CoAABEJucZIes746.png

表 1 .在帶寬超過 CPU 內(nèi)存 1 TB 的情況下,可以訪問數(shù) PB 的數(shù)據(jù)。

*此處顯示的 NVIDIA GPU 直接存儲在 NVIDIA DGX A100 插槽 0-3 和 6-9 上的性能數(shù)字不是官方支持的網(wǎng)絡(luò)配置,僅供實驗使用。為計算和存儲共享相同的網(wǎng)絡(luò)適配器可能會影響 NVIDIA 先前在 DGX A100 系統(tǒng)上發(fā)布的標(biāo)準(zhǔn)或其他基準(zhǔn)測試的性能。

GDS 的工作原理

NVIDIA 尋求盡可能采用現(xiàn)有標(biāo)準(zhǔn),并在必要時明智地擴(kuò)展這些標(biāo)準(zhǔn)。 POSIX 標(biāo)準(zhǔn)的pread和pwrite提供了存儲和 CPU 緩沖區(qū)之間的拷貝,但尚未啟用到 GPU 緩沖區(qū)的拷貝。隨著時間的推移, Linux 內(nèi)核中不支持 GPU 緩沖區(qū)的缺點將得到解決。

一種稱為 dma _ buf 的解決方案正在進(jìn)行中,該解決方案支持 NIC 或 NVMe 和 GPU 等設(shè)備之間的拷貝,它們是 PCIe 總線上的對等設(shè)備,以解決這一差距。同時, GDS 帶來的性能提升太大,無法等待上游解決方案傳播到所有用戶。多種供應(yīng)商提供了支持 GDS 的替代解決方案,包括 MLNX _ OFED (表 2 )。 GDS 解決方案涉及與 POSIXpread和pwrite類似的新 APIcuFileRead或cuFileWrite。

動態(tài)路由、 NVLink 的使用以及 CUDA 流中使用的異步 API (僅可從 GDS 獲得)等優(yōu)化使cuFileAPI 成為 CUDA 編程模型的持久特性,即使在 Linux 文件系統(tǒng)中的漏洞得到解決之后也是如此。

以下是GDS實現(xiàn)的功能。首先,當(dāng)前Linux實現(xiàn)的基本問題是通過虛擬文件系統(tǒng)(VFS)向下傳遞 GPU 緩沖區(qū)地址作為DMA目標(biāo),以便本地NVMe或網(wǎng)絡(luò)適配器中的DMA引擎可以執(zhí)行到 GPU 內(nèi)存或從 GPU 內(nèi)存的傳輸。這會導(dǎo)致出現(xiàn)錯誤情況。我們現(xiàn)在有辦法解決這個問題:在 CPU 內(nèi)存中傳遞一個緩沖區(qū)地址。

當(dāng)使用cuFileAPI (如cuFileRead或cuFileWrite)時,libcufile。因此,用戶級庫捕獲 GPU 緩沖區(qū)地址,并替換傳遞給 VFS 的代理 CPU 緩沖區(qū)地址。就在緩沖區(qū)地址用于 DMA 之前,啟用 GDS 的驅(qū)動程序?qū)vidia-fs.ko的調(diào)用識別 CPU 緩沖區(qū)地址,并再次提供替代 GPU 緩沖區(qū)地址,以便 DMA 可以正確進(jìn)行。

libcufile.so中的邏輯執(zhí)行前面描述的各種優(yōu)化,如動態(tài)路由、預(yù)固定緩沖區(qū)的使用和對齊。圖 2 顯示了用于此優(yōu)化的堆棧。cuFileAPI 是 Magnum IO 靈活抽象體系結(jié)構(gòu)原則的一個示例,它支持特定于平臺的創(chuàng)新和優(yōu)化,如選擇性緩沖和 NVLink 的使用。

pYYBAGJSS8yAc0sYAADSNoYO8SA949.png

圖 2 . GDS 軟件堆棧,其中應(yīng)用程序使用 cuFile API ,啟用 GDS 的存儲驅(qū)動程序調(diào)用 NVIDIA -fs . ko 內(nèi)核驅(qū)動程序以獲得正確的 DMA 地址。

關(guān)于作者

CJ Newburn 是 NVIDIA 計算軟件組的首席架構(gòu)師,他領(lǐng)導(dǎo) HPC 戰(zhàn)略和軟件產(chǎn)品路線圖,特別關(guān)注系統(tǒng)和規(guī)模編程模型。 CJ 是 Magnum IO 的架構(gòu)師和 GPU Direct Storage 的聯(lián)合架構(gòu)師,與能源部領(lǐng)導(dǎo) Summit Dev 系列產(chǎn)品,并領(lǐng)導(dǎo) HPC 容器咨詢委員會。在過去的 20 年里, CJ 為硬件和軟件技術(shù)做出了貢獻(xiàn),擁有 100 多項專利。他是一個社區(qū)建設(shè)者,熱衷于將硬件和軟件平臺的核心功能從 HPC 擴(kuò)展到 AI 、數(shù)據(jù)科學(xué)和可視化。在卡內(nèi)基梅隆大學(xué)獲得博士學(xué)位之前, CJ 曾在幾家初創(chuàng)公司工作過,致力于語音識別器和 VLIW 超級計算機(jī)。他很高興能為他媽媽使用的批量產(chǎn)品工作。

Kiran K. Modukuri 是 NVIDIA 的首席軟件工程師,負(fù)責(zé)加速 IO 管道。他是 GPU 直接存儲產(chǎn)品的聯(lián)合架構(gòu)師。在加入 NVIDIA 之前,他曾在 NetApp 擔(dān)任高級軟件工程師。他在亞利桑那大學(xué)獲得了計算機(jī)科學(xué)碩士學(xué)位。他在分布式文件系統(tǒng)和存儲技術(shù)方面擁有超過 15 年的經(jīng)驗。

Kushal Datta 是 Magnum IO 的產(chǎn)品負(fù)責(zé)人,專注于加速多 GPU 系統(tǒng)上的 AI 、數(shù)據(jù)分析和 HPC 應(yīng)用程序。他的興趣包括創(chuàng)建新的工具和方法,以提高復(fù)雜人工智能和大規(guī)模系統(tǒng)上的科學(xué)應(yīng)用的總掛鐘時間。他發(fā)表了 20 多篇學(xué)術(shù)論文、多篇白皮書和博客文章。他擁有五項美國專利。他在北卡羅來納大學(xué)夏洛特分校獲得歐洲經(jīng)委會博士學(xué)位,并在印度賈達(dá)夫普爾大學(xué)獲得計算機(jī)科學(xué)學(xué)士學(xué)位。

審核編輯:郭婷

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • NVIDIA
    +關(guān)注

    關(guān)注

    14

    文章

    4940

    瀏覽量

    102818
  • 計算機(jī)
    +關(guān)注

    關(guān)注

    19

    文章

    7424

    瀏覽量

    87719
  • AI
    AI
    +關(guān)注

    關(guān)注

    87

    文章

    30163

    瀏覽量

    268427
收藏 人收藏

    評論

    相關(guān)推薦

    一文解讀Linux 5種IO模型

    Linux里有五種IO模型:阻塞IO、非阻塞IO、多路復(fù)用IO、信號驅(qū)動式IO和異步IO,我發(fā)現(xiàn)
    的頭像 發(fā)表于 11-09 11:12 ?234次閱讀
    一文解讀Linux 5種<b class='flag-5'>IO</b>模型

    華納云監(jiān)視Linux磁盤IO性能命令:iotop,iostat,vmstat,atop,dstat,ioping

    以下介紹6個監(jiān)視 Linux 磁盤IO性能的命令(工具),它們分別是iotop、iostat、vmstat、atop、dstat、ioping,以下將附上簡單的使用方法。 前言 磁盤IO
    的頭像 發(fā)表于 10-24 14:43 ?116次閱讀

    本地IO與遠(yuǎn)程IO:揭秘工業(yè)自動化中的兩大關(guān)鍵角色

    在工業(yè)自動化領(lǐng)域,IO(Input/Output,輸入/輸出)模塊扮演著至關(guān)重要的角色。它們作為連接控制系統(tǒng)與現(xiàn)場設(shè)備的橋梁,負(fù)責(zé)數(shù)據(jù)的采集與指令的執(zhí)行。然而,隨著技術(shù)的不斷進(jìn)步,IO模塊也分為本地IO和遠(yuǎn)程
    的頭像 發(fā)表于 10-08 18:06 ?302次閱讀

    NAND Flash與其他類型存儲器的區(qū)別

    NAND Flash作為一種基于NAND技術(shù)的非易失性存儲器,具有多個顯著優(yōu)點,這些優(yōu)點使其在數(shù)據(jù)存儲領(lǐng)域得到了廣泛應(yīng)用。以下是對NAND Flash
    的頭像 發(fā)表于 08-20 10:24 ?654次閱讀

    Linux磁盤IO詳細(xì)解析

      在講解磁盤IO前,先簡單說下什么是磁盤。磁盤是可以持久化存儲的設(shè)備,根據(jù)存儲介質(zhì)的不同,常見磁盤可以分為兩類:機(jī)械磁盤和固態(tài)磁盤。
    的頭像 發(fā)表于 08-05 15:49 ?568次閱讀
    Linux磁盤<b class='flag-5'>IO</b>詳細(xì)解析

    IO與PLC的差異及應(yīng)用

    為您介紹io模塊與PLC的差異及其各自的應(yīng)用場景
    的頭像 發(fā)表于 07-18 15:54 ?1087次閱讀
    <b class='flag-5'>IO</b>與PLC的差異及應(yīng)用

    初識IO-Link及IO-Link設(shè)備軟件協(xié)議棧

    亞信IO-Link設(shè)備軟件協(xié)議棧是基于亞信電子AXM-IOLS IO-Link設(shè)備評估板設(shè)計的,搭載意法半導(dǎo)體 STM32F469AI微控制器,并在STM32CubeIDE開發(fā)環(huán)境中進(jìn)行開發(fā)。此
    的頭像 發(fā)表于 07-08 13:55 ?2109次閱讀
    初識<b class='flag-5'>IO</b>-Link及<b class='flag-5'>IO</b>-Link設(shè)備軟件協(xié)議棧

    遠(yuǎn)程IO與分布式IO的區(qū)別

    在工業(yè)自動化和控制系統(tǒng)設(shè)計中,遠(yuǎn)程IO(Input/Output)和分布式IO是兩個重要的概念。它們各自具有獨(dú)特的特點和優(yōu)勢,適用于不同的應(yīng)用場景。本文將詳細(xì)探討遠(yuǎn)程IO與分布式IO
    的頭像 發(fā)表于 06-15 15:57 ?2316次閱讀

    存儲虛擬化有哪些常見類型?有什么優(yōu)點

    存儲虛擬化是一種將多個存儲設(shè)備的物理存儲資源抽象出來、將它們集中在一起并將它們呈現(xiàn)為單個邏輯存儲單元的技術(shù)。此過程簡化了存儲管理,提高了資源
    的頭像 發(fā)表于 03-07 16:47 ?1100次閱讀

    什么是智能存儲系統(tǒng)?對比傳統(tǒng)存儲柜,智能存儲柜有哪些優(yōu)點

    智能存儲系統(tǒng)(IntelligentStorageSystem)是一種先進(jìn)的數(shù)據(jù)存儲解決方案,它結(jié)合了硬件、軟件和自動化管理功能,以實現(xiàn)對數(shù)據(jù)存儲的高度優(yōu)化、高效能、高可用性和可擴(kuò)展性。是針對現(xiàn)代
    的頭像 發(fā)表于 03-05 13:53 ?465次閱讀
    什么是智能<b class='flag-5'>存儲</b>系統(tǒng)?對比傳統(tǒng)<b class='flag-5'>存儲</b>柜,智能<b class='flag-5'>存儲</b>柜有哪些<b class='flag-5'>優(yōu)點</b>?

    EtherCAT IO的接線方法和流程是怎樣的?

    EtherCAT IO的接線方法和流程是怎樣的? EtherCAT是一種用于實時以太網(wǎng)通信的開放式通信協(xié)議,具有低延遲和高帶寬的優(yōu)勢。 EtherCAT IO是EtherCAT網(wǎng)絡(luò)中連接到IO設(shè)備
    的頭像 發(fā)表于 02-02 16:57 ?1872次閱讀

    SSD硬盤的優(yōu)點和缺點

    SSD硬盤的優(yōu)點和缺點? SSD(固態(tài)硬盤)是一種基于閃存存儲器來存儲數(shù)據(jù)的存儲設(shè)備,與傳統(tǒng)的機(jī)械硬盤(HDD)相比,SSD具有明顯的優(yōu)勢和一些缺點。下面將詳細(xì)介紹SSD硬盤的
    的頭像 發(fā)表于 12-11 11:32 ?1508次閱讀

    鉭電容的優(yōu)點和缺點

    鉭電容的優(yōu)點和缺點 鉭電容是一種電子元件,它具有許多優(yōu)點和缺點。在這篇文章中,我們將詳細(xì)介紹鉭電容的優(yōu)點和缺點。 首先,讓我們來看看鉭電容的優(yōu)點。 1. 高電容密度:鉭電容具有很高的電
    的頭像 發(fā)表于 12-08 11:35 ?2685次閱讀

    存儲信息的方式有哪些種類

    存儲信息的方式有多種種類,它們在不同的場景和需求下提供了各自的優(yōu)勢和特點。 一、傳統(tǒng)存儲方式 紙張存儲:最古老的存儲方式之一,通過紙張記錄文字和圖像信息。
    的頭像 發(fā)表于 12-01 13:36 ?6114次閱讀

    淺談符號IO域和圖形IO

    符號IO域組態(tài) 方法:把“符號IO域”這個灰色塊狀拖拽到指定畫面位置,鼠標(biāo)右鍵彈出對話框“屬性”后點擊“常規(guī)”找到過程“變量”后,連接變量。添加文本并創(chuàng)建文本名稱。
    的頭像 發(fā)表于 11-29 09:33 ?1708次閱讀
    淺談符號<b class='flag-5'>IO</b>域和圖形<b class='flag-5'>IO</b>域