未來資料中心核心技術 RDMA在京東的應用

2021-09-16 13:03:34 字數 1928 閱讀 2913

近日,由京東it資源服務部組織的未來資料中心核心技術研討會活動,在京東成功舉辦。活動邀請了京東人工智慧,大資料,雲計算團隊的多位研發總監,技術骨幹人員一同參與。

rdma(remote direct memory access)技術是一種直接在記憶體和記憶體之間進行資料互傳的技術,在資料傳輸的過程中,不需要和作業系統kernel做溝通,完全實現了kernel bypass。

對比rdma傳輸和傳統的tcp傳輸,tcp傳輸在多處需要cpu的參與。

比如從應用層生成tcp的packet,對packet新增crc,由cpu來執行tcp協議傳輸資料到接收端,如果是可靠連線網路,需要由cpu來進行流量的控制,在接收端需要由cpu來查詢記憶體位址,檢驗crc,還原tcp packet到應用。

這會消耗大量的cpu資源,而且容易受到cpu的noise的影響,從而影響網路傳輸的效能。

如果使用rdma傳輸,所有上述操作都可以由網絡卡硬體來做,cpu不必做任何操作,這就是為什麼rdma能帶來低延時、高頻寬和低cpu利用率的原因。

在資料中心中使用rdma技術可以有幾種方式。

◾直接使用rdma介面(verbs api)。

rdma和tcp類似,有自定義的api可直接提供給應用層。使用者可以直接使用rdma api對應用進行程式設計,這種模式可以最好的利用rdma的效能。

現在流行的deep learning 的framework tensofflow,也可以支援直接通過rdma 來做資料傳輸; 面向大資料的spark framework,也可以使用spark over rdma。

京東人工智慧研發團隊在分布式的模型訓練場景中,也使用了rdma技術,針對模型檔案的高效能傳輸,滿足了分布式訓練的需求。

目前業界主流的database系統也都可以直接使用rdma 介面,享用rdma 帶來的高效能。

包括在並行儲存檔案系統的應用中,rdma 也被廣泛使用。比如ibm 的gpfs 檔案系統,open source 的lustre 檔案系統和glustre 系統,它們都有直接的rdma 的支援。

◾使用一些中介軟體將rdma 封裝起來,這種應用主要在一些計算和儲存中常見。

在面向高效能計算的mpi 應用中,所有的mpi 都可以支援rdma傳輸,諸如openmpi, intel mpi, osu mvapich 等。在全世界前500 臺最快的超級計算機中,mpi over rdma 被廣泛使用。

在主流的儲存應用中,面向block 儲存的iscsi 協議有iscsi over rdma(iser)的支援,面向object 儲存的ceph 有ceph over rdma 的支援,新的nvme over fabric 協議定義了在資料傳輸的時候必須使用rdma。

還有在一些特別的應用中也用到了這種方式,比如在一些金融、**和多**等需要低延遲的應用中,vma 可以在不改變應用介面(socket 介面)的情況下來享受到rdma 的低延遲。

京東it資源服務部負責人呂科在技術研討活動中談到:「目前京東、微軟、facebook的資料中心都在加強rdma的使用。希望降低資料中心成本,提公升應用效能,解決tcp協議帶來的擴充套件性等問題。」

京東it資源服務部的硬體系統部在測試rdma時也看到,在vm的服務中,在同樣物理伺服器的情況下,利用rdma 來做資料傳輸,可以將幾乎100%的cpu 資源都提供給計算。降低了cpu 在通訊中的佔用率,使用者就可以利用這些cpu 資源來做更多計算或提供其他的服務,這也相當於增加了vm的數量。

資料中心的那些未來技術

資料中心是科技高度集中的場所,未來幾乎所有的先進技術均與資料中心有關。這些新技術將資料中心帶入了快速奔跑的時代,很多新鮮概念有時也讓人看得眼花繚亂,稍不留神就會落伍。資料中心不再是乙個堆積冷冰裝置的機房,而是擁有無限想象的資料城堡,總是能給你帶來驚喜。今天就來說一說那些與資料中心有關的前沿技術,說這...

資料中心的那些未來技術

資料中心是科技高度集中的場所,未來幾乎所有的先進技術均與資料中心有關。這些新技術將資料中心帶入了快速奔跑的時代,很多新鮮概念有時也讓人看得眼花繚亂,稍不留神就會落伍。資料中心不再是乙個堆積冷冰裝置的機房,而是擁有無限想象的資料城堡,總是能給你帶來驚喜。今天就來說一說那些與資料中心有關的前沿技術,說這...

資料中心技術

現代資料中心是指一種特殊的it基礎設施,用於集中放置it資源,包括伺服器 資料庫 網路與通訊裝置以及軟體系統,接下來介紹資料中心常見組成技術與部件 1 虛擬化 資料中心包含了物理和虛擬的it資源。物理it資源層是指放置計算 網路系統和裝置,以及硬體系統及其作業系統的基礎設施。虛擬層對資源進行抽象和控...