Submit Search
Upload
0円でできる自宅InfiniBandプログラム
•
Download as PPTX, PDF
•
10 likes
•
7,263 views
Minoru Nakamura
Follow
InfiniBand Verbs/RDMAプログラムのさわりと、実機が不要なsoftware-based InfiniBand driverの紹介。
Read less
Read more
Technology
Report
Share
Report
Share
1 of 20
Download now
Recommended
Ethernetの受信処理
Ethernetの受信処理
Takuya ASADA
Redisの特徴と活用方法について
Redisの特徴と活用方法について
Yuji Otani
Linux女子部 systemd徹底入門
Linux女子部 systemd徹底入門
Etsuji Nakai
いまさら聞けない!CUDA高速化入門
いまさら聞けない!CUDA高速化入門
Fixstars Corporation
Deep Learningのための専用プロセッサ「MN-Core」の開発と活用(2022/10/19東大大学院「 融合情報学特別講義Ⅲ」)
Deep Learningのための専用プロセッサ「MN-Core」の開発と活用(2022/10/19東大大学院「 融合情報学特別講義Ⅲ」)
Preferred Networks
10GbE時代のネットワークI/O高速化
10GbE時代のネットワークI/O高速化
Takuya ASADA
CPU / GPU高速化セミナー!性能モデルの理論と実践:理論編
CPU / GPU高速化セミナー!性能モデルの理論と実践:理論編
Fixstars Corporation
Scapyで作る・解析するパケット
Scapyで作る・解析するパケット
Takaaki Hoyo
Recommended
Ethernetの受信処理
Ethernetの受信処理
Takuya ASADA
Redisの特徴と活用方法について
Redisの特徴と活用方法について
Yuji Otani
Linux女子部 systemd徹底入門
Linux女子部 systemd徹底入門
Etsuji Nakai
いまさら聞けない!CUDA高速化入門
いまさら聞けない!CUDA高速化入門
Fixstars Corporation
Deep Learningのための専用プロセッサ「MN-Core」の開発と活用(2022/10/19東大大学院「 融合情報学特別講義Ⅲ」)
Deep Learningのための専用プロセッサ「MN-Core」の開発と活用(2022/10/19東大大学院「 融合情報学特別講義Ⅲ」)
Preferred Networks
10GbE時代のネットワークI/O高速化
10GbE時代のネットワークI/O高速化
Takuya ASADA
CPU / GPU高速化セミナー!性能モデルの理論と実践:理論編
CPU / GPU高速化セミナー!性能モデルの理論と実践:理論編
Fixstars Corporation
Scapyで作る・解析するパケット
Scapyで作る・解析するパケット
Takaaki Hoyo
組み込み関数(intrinsic)によるSIMD入門
組み込み関数(intrinsic)によるSIMD入門
Norishige Fukushima
CUDAプログラミング入門
CUDAプログラミング入門
NVIDIA Japan
Hopper アーキテクチャで、変わること、変わらないこと
Hopper アーキテクチャで、変わること、変わらないこと
NVIDIA Japan
PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜
PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜
Preferred Networks
Fluentdのお勧めシステム構成パターン
Fluentdのお勧めシステム構成パターン
Kentaro Yoshida
DockerコンテナでGitを使う
DockerコンテナでGitを使う
Kazuhiro Suga
いまさら聞けないarmを使ったNEONの基礎と活用事例
いまさら聞けないarmを使ったNEONの基礎と活用事例
Fixstars Corporation
Linuxにて複数のコマンドを並列実行(同時実行数の制限付き)
Linuxにて複数のコマンドを並列実行(同時実行数の制限付き)
Hiro H.
プログラムを高速化する話
プログラムを高速化する話
京大 マイコンクラブ
ARM CPUにおけるSIMDを用いた高速計算入門
ARM CPUにおけるSIMDを用いた高速計算入門
Fixstars Corporation
SDCCオープンネットワークのご紹介【2021/01版】
SDCCオープンネットワークのご紹介【2021/01版】
ProjectDC-01
Gstreamer Basics
Gstreamer Basics
Seiji Hiraki
DPDKによる高速コンテナネットワーキング
DPDKによる高速コンテナネットワーキング
Tomoya Hibi
FPGA+SoC+Linux実践勉強会資料
FPGA+SoC+Linux実践勉強会資料
一路 川染
Topology Managerについて / Kubernetes Meetup Tokyo 50
Topology Managerについて / Kubernetes Meetup Tokyo 50
Preferred Networks
フロー技術によるネットワーク管理
フロー技術によるネットワーク管理
Motonori Shindo
VPP事始め
VPP事始め
npsg
大規模サービスを支えるネットワークインフラの全貌
大規模サービスを支えるネットワークインフラの全貌
LINE Corporation
分散システムについて語らせてくれ
分散システムについて語らせてくれ
Kumazaki Hiroki
プログラマ目線から見たRDMAのメリットとその応用例について
プログラマ目線から見たRDMAのメリットとその応用例について
Masanori Itoh
[20110827 PyConJP 2011 LT]pythonでrdmaを・・・
[20110827 PyConJP 2011 LT]pythonでrdmaを・・・
wakadannacom
NW-DIY で開拓したい社会
NW-DIY で開拓したい社会
啓章 加嶋
More Related Content
What's hot
組み込み関数(intrinsic)によるSIMD入門
組み込み関数(intrinsic)によるSIMD入門
Norishige Fukushima
CUDAプログラミング入門
CUDAプログラミング入門
NVIDIA Japan
Hopper アーキテクチャで、変わること、変わらないこと
Hopper アーキテクチャで、変わること、変わらないこと
NVIDIA Japan
PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜
PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜
Preferred Networks
Fluentdのお勧めシステム構成パターン
Fluentdのお勧めシステム構成パターン
Kentaro Yoshida
DockerコンテナでGitを使う
DockerコンテナでGitを使う
Kazuhiro Suga
いまさら聞けないarmを使ったNEONの基礎と活用事例
いまさら聞けないarmを使ったNEONの基礎と活用事例
Fixstars Corporation
Linuxにて複数のコマンドを並列実行(同時実行数の制限付き)
Linuxにて複数のコマンドを並列実行(同時実行数の制限付き)
Hiro H.
プログラムを高速化する話
プログラムを高速化する話
京大 マイコンクラブ
ARM CPUにおけるSIMDを用いた高速計算入門
ARM CPUにおけるSIMDを用いた高速計算入門
Fixstars Corporation
SDCCオープンネットワークのご紹介【2021/01版】
SDCCオープンネットワークのご紹介【2021/01版】
ProjectDC-01
Gstreamer Basics
Gstreamer Basics
Seiji Hiraki
DPDKによる高速コンテナネットワーキング
DPDKによる高速コンテナネットワーキング
Tomoya Hibi
FPGA+SoC+Linux実践勉強会資料
FPGA+SoC+Linux実践勉強会資料
一路 川染
Topology Managerについて / Kubernetes Meetup Tokyo 50
Topology Managerについて / Kubernetes Meetup Tokyo 50
Preferred Networks
フロー技術によるネットワーク管理
フロー技術によるネットワーク管理
Motonori Shindo
VPP事始め
VPP事始め
npsg
大規模サービスを支えるネットワークインフラの全貌
大規模サービスを支えるネットワークインフラの全貌
LINE Corporation
分散システムについて語らせてくれ
分散システムについて語らせてくれ
Kumazaki Hiroki
プログラマ目線から見たRDMAのメリットとその応用例について
プログラマ目線から見たRDMAのメリットとその応用例について
Masanori Itoh
What's hot
(20)
組み込み関数(intrinsic)によるSIMD入門
組み込み関数(intrinsic)によるSIMD入門
CUDAプログラミング入門
CUDAプログラミング入門
Hopper アーキテクチャで、変わること、変わらないこと
Hopper アーキテクチャで、変わること、変わらないこと
PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜
PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜
Fluentdのお勧めシステム構成パターン
Fluentdのお勧めシステム構成パターン
DockerコンテナでGitを使う
DockerコンテナでGitを使う
いまさら聞けないarmを使ったNEONの基礎と活用事例
いまさら聞けないarmを使ったNEONの基礎と活用事例
Linuxにて複数のコマンドを並列実行(同時実行数の制限付き)
Linuxにて複数のコマンドを並列実行(同時実行数の制限付き)
プログラムを高速化する話
プログラムを高速化する話
ARM CPUにおけるSIMDを用いた高速計算入門
ARM CPUにおけるSIMDを用いた高速計算入門
SDCCオープンネットワークのご紹介【2021/01版】
SDCCオープンネットワークのご紹介【2021/01版】
Gstreamer Basics
Gstreamer Basics
DPDKによる高速コンテナネットワーキング
DPDKによる高速コンテナネットワーキング
FPGA+SoC+Linux実践勉強会資料
FPGA+SoC+Linux実践勉強会資料
Topology Managerについて / Kubernetes Meetup Tokyo 50
Topology Managerについて / Kubernetes Meetup Tokyo 50
フロー技術によるネットワーク管理
フロー技術によるネットワーク管理
VPP事始め
VPP事始め
大規模サービスを支えるネットワークインフラの全貌
大規模サービスを支えるネットワークインフラの全貌
分散システムについて語らせてくれ
分散システムについて語らせてくれ
プログラマ目線から見たRDMAのメリットとその応用例について
プログラマ目線から見たRDMAのメリットとその応用例について
Similar to 0円でできる自宅InfiniBandプログラム
[20110827 PyConJP 2011 LT]pythonでrdmaを・・・
[20110827 PyConJP 2011 LT]pythonでrdmaを・・・
wakadannacom
NW-DIY で開拓したい社会
NW-DIY で開拓したい社会
啓章 加嶋
コンビニマルチコピー機の活用
コンビニマルチコピー機の活用
H2412003
SORACOM UG 東海 #1 | SORACOM 紹介
SORACOM UG 東海 #1 | SORACOM 紹介
SORACOM,INC
Rescale ScaleX講習会 ~AWSクラウド環境におけるHPC利用
Rescale ScaleX講習会 ~AWSクラウド環境におけるHPC利用
Rescale Japan株式会社
Hueによる分析業務の改善事例
Hueによる分析業務の改善事例
Masahiro Kiura
Lagopus Project (Open Source Conference)
Lagopus Project (Open Source Conference)
Tomoya Hibi
BIG Raspberry JAM | Raspberry Pi × SORACOM で始めてみよう!簡単 IoT
BIG Raspberry JAM | Raspberry Pi × SORACOM で始めてみよう!簡単 IoT
SORACOM,INC
ニフティクラウドを使った安定運用のススメ
ニフティクラウドを使った安定運用のススメ
NIFTY Cloud
20160320 BLE4.2勉強会 MakerLab Nagoya
20160320 BLE4.2勉強会 MakerLab Nagoya
akihiro uehara
SORACOM Funnelで手抜きIoTプラットフォーム #ssmjp
SORACOM Funnelで手抜きIoTプラットフォーム #ssmjp
Masahiro NAKAYAMA
545人のインフラを支えたNOCチーム!
545人のインフラを支えたNOCチーム!
Masayuki Kobayashi
VIOPS04: NTTコミュニケーションズのクラウド戦略
VIOPS04: NTTコミュニケーションズのクラウド戦略
VIOPS Virtualized Infrastructure Operators group ARCHIVES
ニフティクラウドアップデート in クラウドごった煮@青森
ニフティクラウドアップデート in クラウドごった煮@青森
亮介 山口
インターネット最前線のゲームインフラを支えるパブリッククラウド
インターネット最前線のゲームインフラを支えるパブリッククラウド
IIJ
デバイス内データの安全な保管を考える
デバイス内データの安全な保管を考える
Kentaro Mitsuyasu
サーバ擬人化ユーザ会キックオフ資料 Slideshare ver
サーバ擬人化ユーザ会キックオフ資料 Slideshare ver
Seiichiro Ishida
Cloud operator days tokyo 2020講演資料_少人数チームでの機械学習製品の効率的な開発と運用
Cloud operator days tokyo 2020講演資料_少人数チームでの機械学習製品の効率的な開発と運用
Preferred Networks
API meet up #12資料:APIでコントロール可能なIoT通信プラットフォームSORACOM
API meet up #12資料:APIでコントロール可能なIoT通信プラットフォームSORACOM
SORACOM,INC
FINAL FANTASY Record Keeper の作り方
FINAL FANTASY Record Keeper の作り方
dena_study
Similar to 0円でできる自宅InfiniBandプログラム
(20)
[20110827 PyConJP 2011 LT]pythonでrdmaを・・・
[20110827 PyConJP 2011 LT]pythonでrdmaを・・・
NW-DIY で開拓したい社会
NW-DIY で開拓したい社会
コンビニマルチコピー機の活用
コンビニマルチコピー機の活用
SORACOM UG 東海 #1 | SORACOM 紹介
SORACOM UG 東海 #1 | SORACOM 紹介
Rescale ScaleX講習会 ~AWSクラウド環境におけるHPC利用
Rescale ScaleX講習会 ~AWSクラウド環境におけるHPC利用
Hueによる分析業務の改善事例
Hueによる分析業務の改善事例
Lagopus Project (Open Source Conference)
Lagopus Project (Open Source Conference)
BIG Raspberry JAM | Raspberry Pi × SORACOM で始めてみよう!簡単 IoT
BIG Raspberry JAM | Raspberry Pi × SORACOM で始めてみよう!簡単 IoT
ニフティクラウドを使った安定運用のススメ
ニフティクラウドを使った安定運用のススメ
20160320 BLE4.2勉強会 MakerLab Nagoya
20160320 BLE4.2勉強会 MakerLab Nagoya
SORACOM Funnelで手抜きIoTプラットフォーム #ssmjp
SORACOM Funnelで手抜きIoTプラットフォーム #ssmjp
545人のインフラを支えたNOCチーム!
545人のインフラを支えたNOCチーム!
VIOPS04: NTTコミュニケーションズのクラウド戦略
VIOPS04: NTTコミュニケーションズのクラウド戦略
ニフティクラウドアップデート in クラウドごった煮@青森
ニフティクラウドアップデート in クラウドごった煮@青森
インターネット最前線のゲームインフラを支えるパブリッククラウド
インターネット最前線のゲームインフラを支えるパブリッククラウド
デバイス内データの安全な保管を考える
デバイス内データの安全な保管を考える
サーバ擬人化ユーザ会キックオフ資料 Slideshare ver
サーバ擬人化ユーザ会キックオフ資料 Slideshare ver
Cloud operator days tokyo 2020講演資料_少人数チームでの機械学習製品の効率的な開発と運用
Cloud operator days tokyo 2020講演資料_少人数チームでの機械学習製品の効率的な開発と運用
API meet up #12資料:APIでコントロール可能なIoT通信プラットフォームSORACOM
API meet up #12資料:APIでコントロール可能なIoT通信プラットフォームSORACOM
FINAL FANTASY Record Keeper の作り方
FINAL FANTASY Record Keeper の作り方
More from Minoru Nakamura
Persistent-Memory-Programming-Model
Persistent-Memory-Programming-Model
Minoru Nakamura
Jvm reading-synchronization
Jvm reading-synchronization
Minoru Nakamura
x86-64/Linuxに独自メモリ空間を勝手増設
x86-64/Linuxに独自メモリ空間を勝手増設
Minoru Nakamura
x86-64/Linuxに独自メモリ空間を勝手増設
x86-64/Linuxに独自メモリ空間を勝手増設
Minoru Nakamura
JVM-Reading-ConcurrentMarkSweep
JVM-Reading-ConcurrentMarkSweep
Minoru Nakamura
Jvm reading-parallel gc
Jvm reading-parallel gc
Minoru Nakamura
JVM-Reading-ParalleGC
JVM-Reading-ParalleGC
Minoru Nakamura
More from Minoru Nakamura
(7)
Persistent-Memory-Programming-Model
Persistent-Memory-Programming-Model
Jvm reading-synchronization
Jvm reading-synchronization
x86-64/Linuxに独自メモリ空間を勝手増設
x86-64/Linuxに独自メモリ空間を勝手増設
x86-64/Linuxに独自メモリ空間を勝手増設
x86-64/Linuxに独自メモリ空間を勝手増設
JVM-Reading-ConcurrentMarkSweep
JVM-Reading-ConcurrentMarkSweep
Jvm reading-parallel gc
Jvm reading-parallel gc
JVM-Reading-ParalleGC
JVM-Reading-ParalleGC
Recently uploaded
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
iPride Co., Ltd.
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
Ryo Sasaki
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
danielhu54
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
sugiuralab
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
Hiroki Ichikura
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Yuma Ohgami
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
Toru Tamaki
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
Toru Tamaki
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
Toru Tamaki
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
taisei2219
Recently uploaded
(10)
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
0円でできる自宅InfiniBandプログラム
1.
0円でできる自宅InfiniBandプ ログラム 第九回 カーネル/VM探検隊 2013/12/8
2.
自己紹介 • • • • • 名前:中村 実 所属:武蔵中原周辺のIT企業 Mail: nminoru@nminoru.jp Twitter:@nminoru_jp Web:http://www.nminoru.jp/~nminoru/ 今日はInfiniBand(RDMA)プログラミングのさ わりと、私が開発中のsoftware-based InfiniBand
driverの紹介をします。
3.
InfiniBandとは? • 高帯域・低遅延のネットワーク装置 – 高帯域 •
56Gbps(FDR)×2、Point-to-Pointの輻輳制御 – 低遅延 • 1スイッチレイテンシが2μ秒以下 – コピーゼロ • 無駄なコピーがない! – RDMA (Remote Direct Memory Access)
4.
誰がInfiniBandを作っているのか? • InfiniBand Trade
Association – http://www.infinibandta.org/ • OpenFabrics Alliance – IBのソフトウェアスタックの開発と配布 OpenFabrics Enterprise Distributes(OFED) – https://www.openfabrics.org/ • 装置ベンダー – Mellanox – QLogic → IB部門はIntelに買収 – Xsigo → Oracleに買収
5.
InfiniBandはどこで使われている か? • 用途 – HPC •
SC13で公開されたTOP500中207システムで利用 – 金融 • ニューヨーク証券取引所(NYSE)のバックボーン – ストレージ、DB • EMC Isilon IQ、Oracle Exadata – データセンター • さくらインターネット – 自宅サーバ • でも普通のエンジニアには関係なくね?
6.
InfiniBandのプロトコルスタック 名称 用途 Verbs IBの機能を直接使用可能なlow-level API rmdacm Verbsのうちコネクション確立の部分をラップしたAPI。 CMはCommunication Managementの略。 IPoIB IBをIPとして使用(“ib0”、”ib1”、…) MPI Message
Passing Interface uDAPL User Direct Access Programming Library(uDAPL) http://www.datcollaborative.org/ iSER iSCSI Extensions for RDMA SRP SCSI RDMA Protocol RDS Reliable Datagram Sockets。UDPソケットとほぼ同じシンタックスのラ イブラリ。現在は標準OFEDから外された。 VMA LD_PRELOADで既存プログラムのソケットインターフェイスを乗っ取 り通信をIB経由に変更する。 https://code.google.com/p/libvma/
7.
Ethernet&IPとの対比 Ethernet IB カード ネットワークカード (NIC) Host Channel Adaptor(HCA) 固有ID MACアドレス(48ビッ ト) GUID(64ビット) ネットワークアド レス IPアドレス Local
Identifier(LID) (16ビッ ト) (¾の49,152個まで利用可能) 通信インスタンス ソケット Queue Pair(QP) インスタンスの区 ポート番号(16ビット) QP番号(24ビット) • EthernetがMACアドレスを使ってL2スイッチを行う。他のノー 別 ドの存在はブロードキャストで調べる。 • IBはSubnet Manager(SM)がネットワーク初期化時にHCAの各 ポートにLIDを割り付ける。L2スイッチはLIDを使って行う。 SMはMADと呼ばれる特殊なプロトコルを使ってネットワーク トポロジーの解析、LIDの割り当て、ルーティングテーブルの 配布を行う。
8.
InfiniBandプログラミングに必要な もの • 標準的なLinuxディストリ • パッケージ –
rdma – libibverbs – libibverbs-devel • ヘッダーファイル – #include <infiniband/verbs.h> • ライブラリリンク – -libverbs
9.
Verbsの通信モデル • Services – RC(XRC)、RD、UC、UDの4(+1)種類 •
Reliable(再送制御あり)、Unreliable(なし) • Connection(送信順序あり)、Datagram(なし) – RCはTCP、UDはUDに相当 • ただしconnectionでもメッセージ境界がある – RDとUCは使われない • Operations – – – – SEND-RECV RDMA WRITE RDMA READ Atomic operations
10.
Verbsの通信モデル(cont.) • Queue Pair(QP) –
内部にSend Queue(SQ)とReceive Queue(RQ) – ibv_create_qpで作成 QP QP ibv_post_send SQ(Send Queue) SQ ibv_post_recv RQ(Send Queue) RQ
11.
SEND-RECV • Receiverあらかじめ登録した受信バッファへ 転送 ibv_post_send QP SQ RQ QP SQ RQ ibv_post_recv • 制限 –
Senderが送信する前にReceiverが受信バッファを 登録しないとエラー。 – Senderが送信したメッセージよりも受信バッファ が短いとエラー
12.
SEND-RECV(cont.) • メモリをどう扱うか? – ユーザプログラムがmallocやmmapしたメモリ をibv_reg_mrで登録 –
ibv_reg_mrで登録したメモリはカーネルがpin して仮想メモリ→物理メモリのマップを固定 化 • 制限 – プロセスを跨いだInfiniBandリソースの共有は できない。
13.
SEND-RECV(cont.) • どのようにして完了を検知するか? – Completion
Queue(CQ) • ibv_poll_cqでWork Completion(WC)が取り出せる – Completion Channel • CQにWCが到着したことをselect/pollなどで検知で きる – メモリ管理 • RDMA WRITEでリモートのフラグを書き換えればい い! QP SQ CQ RQ CQ
14.
RDMA WRITE • リモートのメモリアドレスを指定して WRITE –
リモート側は自分のメモリがWRITEされたこ とを検知できない ibv_post_send QP SQ RQ QP SQ RQ Remote Memory
15.
RDMA WRITE with
Immediate • RDMA WRITEと同じだが書込み完了をRQを 使って通知する – 4バイトの即値も一緒に送れる ibv_post_send QP SQ RQ QP SQ RQ Remote Memory
16.
RDMA READ • リモートのメモリアドレスを指定して READ –
リモート側は自分のメモリがREADされたこと を検知できない ibv_post_send QP SQ RQ QP Remote Memory SQ RQ
17.
Atomic操作 • リモートのメモリ空間に対して、8バイト 境界に沿う8バイトに対してアトミック操 作が可能。 – Compare-and-Swap –
Fetch-and-Add • リモートは操作を受けたことを検知でき ない。 • Fetch-and-Addはリモート側のネイティブ インディアンに従う • 古いメモリの値はローカル側に送り返さ
18.
How much? • 機器のお値段 – – – – 1ポートHCA(97,900
円) 2ポートHCA(153,200円) QSFPケーブル(14,050円) 8ポートスイッチ(288,400円) • InfiniBandプログラムをはじめる最小構成 – 2ポートHCAを1枚+ケーブル1本=167,250円 – 1ポートHCAを2枚+ケーブル1本=209,850円 • 高いわ!!
19.
Pseudo InfiniBand (pib) •
実機ハードが不要の疑似IBドライバ • UDPを使ってIBをエミュレーション • 現状では1ノード内だけで動作 • リンク – http://www.nminoru.jp/~nminoru/network/infini band/pib.html – https://github.com/nminoru/pib
20.
参考ページ • InfiniBand Trade
Association – http://www.infinibandta.org/ – レジストするとIBの仕様書(InfiniBand Architecture Specification Volume 1 Release 1.2.1)がダウンロード可能。 • OpenFabrics Alliance – https://www.openfabrics.org/ – 最新のOFEDがダウンロードできる。 • RDMA Aware Networks Programming User Manual – http://www.mellanox.com/relateddocs/prod_software/RDMA_Aware_Programming_user_manual.pdf – Mellanox社が出しているVerbsとRDMA CM APIのプログラムマ ニュアル • RDMAmojo – http://www.rdmamojo.com/ – Dotan Barak氏の個人ブログ。世界で一番詳しいRMDAプログラム テクニックの初回ページ。manを見るよりはこちらを見た方が よい。
Download now