統一通訊 X (UCX) 是一款屢獲殊榮、經過生產驗證的最佳化通訊框架,適用於現代高頻寬和低延遲網路。
UCX 公開了一組抽象通訊原語,這些原語利用了最佳的可用硬體資源和卸載。其中包括 RDMA(InfiniBand 和 RoCE)、TCP、GPU、共享記憶體和網路原子操作。
請造訪我們的文件網站以了解更多詳細資訊。
請查看我們的「會員自願共識標準」和「出口合規貢獻提交」政策。
建構 UCX 通常是執行“configure”和“make”的組合。如果使用發布 tarball,請執行下列命令從樹頂部的目錄安裝 UCX 系統:
$ ./contrib/configure-release --prefix=/where/to/install
$ make -j8
$ make install
如果直接克隆 git 儲存庫,請使用:
$ ./autogen.sh
$ ./contrib/configure-release --prefix=/where/to/install
$ make -j8
$ make install
注意:執行設定時,編譯對各種網路或其他特定硬體的支援可能需要額外的命令列標誌。
$ ./autogen.sh
$ ./contrib/configure-devel --prefix= $PWD /install-debug
*** 注意:由於額外的偵錯程式碼,UCX 的開發人員版本通常會在執行時造成較大的效能損失。
$ contrib/buildrpm.sh -s -b
$ dpkg-buildpackage -us -uc
$ make docs
維基頁面
維基頁面
啟動伺服器:
$ ./src/tools/perf/ucx_perftest -c 0
連接客戶端:
$ ./src/tools/perf/ucx_perftest < server-hostname > -t tag_lat -c 1
注意
-c
標誌設定 CPU 關聯性。如果在同一台主機上執行這兩個 > 命令,請確保將關聯性設定為不同的 CPU 核心。
$ make -C test/gtest test
UCX 版本 1.8.0 有一個錯誤,當 TCP 傳輸與共享記憶體傳輸結合使用時,可能會導致資料損壞。建議升級至UCX 1.9.0以上版本。 1.8.0之前發布的UCX版本沒有這個bug。
由於 pthread_rwlock 函數中的已知錯誤,UCX 可能會因 glibc 版本 2.25-2.29 而掛起。當發生此類掛起時,UCX 執行緒之一會陷入 pthread_rwlock_rdlock(由 ucs_rcache_get 呼叫)中,即使沒有其他執行緒持有該鎖。 glibc Bug 23844 中報告了相關問題。
由於將 UCX 與 rdma-core v22 一起使用時存在相容性缺陷,不支援設定 UCX_DC_MLX5_RX_INLINE=0,並且會使 DC 傳輸不可用。此問題已在 rdma-core v24 中修復並向後移植到 rdma-core-22.4-2.el7 rpm。有關更多詳細信息,請參閱 ucx 問題 5749。
成分 | 角色 | 描述 |
---|---|---|
UCP | 協定 | 實現高級抽象,例如標籤匹配、流、連接協商和建立、多軌以及處理不同的記憶體類型 |
UCT | 運輸 | 實現低階通訊原語,例如活動訊息、遠端記憶體存取和原子操作 |
統一計算系統 | 服務 | 常用資料結構、演算法和系統實用程式的集合 |
UCM | 記憶 | 攔截記憶體分配和釋放事件,由記憶體註冊快取使用 |
注意: UCX >= 1.12.0 需要 rdma-core >= 28.0 或 MLNX_OFED >= 5.0 支援 Infiniband 和 RoCE 傳輸。
UCX 被授權為:
為了向 UCX 做出貢獻,請簽署適當的貢獻者協議。
所有貢獻者必須遵守「會員自願共識標準」和「出口合規貢獻提交」政策。
提交貢獻和更改時請遵循這些說明。
若要在出版品中引用 UCX,請使用下列條目:
@inproceedings { shamis2015ucx ,
title = { UCX: an open source framework for HPC network APIs and beyond } ,
author = { Shamis, Pavel and Venkata, Manjunath Gorentla and Lopez, M Graham and Baker, Matthew B and Hernandez, Oscar and Itigin, Yossi and Dubman, Mike and Shainer, Gilad and Graham, Richard L and Liss, Liran and others } ,
booktitle = { 2015 IEEE 23rd Annual Symposium on High-Performance Interconnects } ,
pages = { 40--43 } ,
year = { 2015 } ,
organization = { IEEE }
}
參考 UCX 網站:
@misc { openucx-website ,
title = { {The Unified Communication X Library} } ,
key = { {{The Unified Communication X Library}},
howpublished = {{url{http://www.openucx.org}}}
}