Socket Direct Protocol

Socket Direct Protocol (SDP) 是一個連線協定,在具有RDMA的設備和套接字間使用。SDP對應用程式是透明的,與標準流套接字的API一致,實現不需要API替換。只需要在執行應用程式前預載入SDP共享庫來選擇要使用的協定即可。所有TCP設定,如host、IP和port,均無需修改。

基本介紹

  • 外文名:Socket Direct Protocol
內容簡介
SDP 是一個連線協定,在 RDMA 能力的適配器和套接字之間使用。為了充分利用 RDMA 提供的所有優勢,需要使用 RDMA 語義或上層協定,比如 User-Level Direct Access Transport (uDAPL) 或 Message Passing Interface (MPI) 來編寫應用程式。然而,對於 RDMA 來說,重寫一個 TCP 應用程式可能非常昂貴,因此,針對這種情況開發了一個替代解決方案。該方法稱之為 Direct Socket Protocol (SDP),無需重新編碼任何應用程式。
RDMA 是一種支持計算機繞過作業系統(核心和 TCP 堆疊)訪問其他計算機上記憶體位置的機制。與傳統的基於 TCP 的軟硬體架構相比較,RDMA 有幾個優勢。核心旁路 (Kernel bypass) 意味著縮短了兩個應用程式之間的路徑,並減少了 CPU 利用率。通過直接在網路適配器和應用程式記憶體(用戶空間)之間傳輸數據減少了特定於 TCP 的協定開銷,無需將數據複製到核心空間並進行快取。
鑒於這個原因,SDP 對應用程式是透明的,而標準流套接字的實現不需要使用另一個 API 替換。應用程式和 伺服器無需修改就可在 SDP 或 TCP 上運行。用戶只需要在執行應用程式之前通過預載入 SDP 共享庫來選擇要使用的協定即可。所有關於 TCP 的設定,比如主機名、IP 地址和連線埠,均無需修改。

相關詞條

熱門詞條

聯絡我們