Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
自宅鯖はいいぞ 〜InfiniBand編〜
Search
190ikp
June 27, 2021
How-to & DIY
1.3k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
自宅鯖はいいぞ 〜InfiniBand編〜
KCS交流会 2021/06/26 LT
190ikp
June 27, 2021
More Decks by 190ikp
See All by 190ikp
輪講資料: A Comprehensive Study on Off-path SmartNIC
190ikp
0
97
輪講資料: パタヘネ 6章
190ikp
2
300
Other Decks in How-to & DIY
See All in How-to & DIY
ドローンをAWSで制御してみた
nagi900
0
200
Node-REDで制御できるエッジカメラのreCameraを触る #iotlt #JLCPCB #recamera
n0bisuke2
0
200
Azure PortalのQoLを上げてたら Big Techに怒られた
horihiro
2
650
ときメモは 運営が30年かけて “実プレイ”していた
mzryuka
0
150
10分de名コミュ “最高の自分”を演じ憧れの同業者と渡り合う
subroh0508
1
680
EXPO 2025 大屋根リングをぐるっと周回! 【GPSマルチユニット×ソラカメ実験】
scbc1167
0
160
2026年、書籍をちゃんと読むぞ👊 〜約3万円分の書籍を積読にしないためにやること〜
subroh0508
5
910
JAWS-UG/AWS Community Update - 2026/6/13 JAWS-UG TOHOKU 仙台
awsjcpm
0
1.3k
JAWS-UG/AWS Community Update 2026年6月20日JAWS-UG FUKUOKA #26 JAWS DAYS 2026 re:Cap! おつかれせいけしろー
awsjcpm
0
150
How to Stylus 20251031
hareyakayuruyaka
0
190
あなたは何故コミュニティに参加するのか?
awsjcpm
3
440
QGIS in Your Language
salamanderezo
1
210
Featured
See All Featured
Being A Developer After 40
akosma
91
590k
Unsuck your backbone
ammeep
672
58k
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
820
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
880
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
370
How to make the Groovebox
asonas
2
2.5k
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
2
510
Game over? The fight for quality and originality in the time of robots
wayneb77
1
290
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
2
2.2k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
1k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
1k
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.6k
Transcript
自宅鯖はいいぞ ~InfiniBand編~
これまでの自宅鯖
これまでの自宅鯖 1台目 • ファイルサーバがほしくなった -> ファイルサーバを建てた 2台目 • デスクトップにLinuxのマシンを使っていた →
気軽にMHW:Iをやりたい → メインをWindowsにするために開発環境用のサーバを建てることに (ファイルサーバはスペックが非常に低かったので ...)
• 1台目のストレージを2台目で使いたいけどNWが貧弱 ( 1GbE x2 bonding ) • 10GbEは導入の敷居が高い ◦
10GbEのL3スイッチは高価 ◦ 10GBASE-TはNICの価格と発熱が ... ◦ 10GBASE-SRならなんとか...(中古市場はあまりない) • 10GbEは遅い ◦ 単純計算で1.25GB/s ◦ SATA SSDでRAID組むとネットワークがボトルネックに ◦ 台数によってはHDDでのRAIDでもボトルネックになる →そんなあなたにInfiniBand これまでの自宅鯖
What is InfiniBand ?
“InfiniBand 検索” “InfiniBand(インフィニバンド)とは、非常に高い RAS(信頼性・可用性・保守性)を持つ基幹系・ HPC系 のサーバ/クラスター用高速I/Oバスアーキテクチャ及びインターコネクトのこと。システム間インターコ ネクト機構としては、RAS機能の他、他機構に比較して、 低レイテンシである点も特徴である。” (Wikipediaより) •
HPC分野・DC内のバックボーンでは低レイテンシであることが非常に重要 • InfiniBandは仕組み上,Ethernetよりも低いレイテンシを実現可能 → そのような分野で使われるように
なんで低レイテンシなの? (データ転送編) Ethernet 送信側アプリケーションのメモリ空間 → 送信側のカーネル上のメモリ空間 → 送信側のNICのバッファ → 受信側のNICのバッファ
→ 受信側のカーネル上のメモリ空間 → 受信側アプリケーションのメモリ空間 InfiniBand (RDMA) 送信側アプリケーションのメモリ空間 → 受信側アプリケーションのメモリ空間 ユーザメモリ空間を直接読み書きできる! ( RDMA: Remote Data Memory Access )
なんで低レイテンシなの? (ネットワーク制御編) Ethernet 通信相手を識別するID MACアドレス … 48bit IPアドレス … 32bit
(IPv4) / 128bit (IPv6) - 非常に大きい経路テーブル - CPUのキャッシュに載らない - 多層の階層型にせざるを得ない → レイテンシの増大 InfiniBand 通信相手を識別するID LID: Local Identifier … 16bit - 小さい経路テーブル - CPUのキャッシュに全部載せられる - 単層のテーブルにできる → レイテンシを抑えられる
自宅鯖におけるInfiniBand
なぜ自宅鯖でInfiniBand? • (中古なら)転送帯域に対して安い ◦ 主に使用されるのは HPC用途 ▪ 最新のものを一度に大量に使う ▪ 今の主流はEDR
(100Gbps) / HDR (200Gbps) ▪ 中古市場には旧規格のものが大量に流れる → 投げ売り状態に ◦ QDR (40Gbps) / FDR (56Gbps) の2ポートHCAで8000~10000円程度 (ヤフオク,ebay,etc...) ▪ 10GbE NICだと1ポートですら厳しい ◦ スイッチもそこそこ安い ▪ アンマネージドだと安ければ 2,3万 / マネージドでも10万切るくらいのものがある • アンマネージドでも HCA側のサブネットマネージャで制御すれば問題ない • TCP / IPを扱える ◦ IPoIB: IP over InfiniBand ▪ Internet Protocol (L3) をエミュレート ▪ テストしたところ TCPでは非常にパフォーマンスが落ちる場合があるので一癖ある ▪ あくまでL2ではInfiniBandなのでEthernetには接続できない(対向も HCAである必要がある)
自宅鯖に最適なHCA Mellanox ConnectX-3 VPI • OEMのものでもOK(Oracle,Dell,HPなど各社から出ている) ◦ Intel(QLogic)は別モノなので注意 • FDRまで対応
• Windows10に対応しているHCAの中で最安 ◦ 宅内オールInfiniBand化が可能(macOS?知らない子ですね ...) • VPI: Virtual Protocol Interconnect に対応 ◦ IBモード → ETHモードに変更できる ◦ L2レベルでEthernet対応の40GbE / 56GbE NICとして使用可能 ◦ コネクタもEthernet互換(QSFP+)なのでL1レベルで実質ただの NIC ◦ IPoIBと違ってパフォーマンス落ちない ◦ レイテンシはIBモードに劣る(当たり前)
実際にやってみた
やってみた 今回用意したもの • InfiniBand FDRのカード x2 (MCX354A-FCBT) ◦ カードあたり2ポート ◦
ヤフオクで1枚8500円くらい • 56Gbps対応ケーブル(AOC x1,DAC x1) ◦ AOCケーブルは1本6000円程度 ◦ DACケーブルは借りました • 鯖 x2 ◦ PCIの空スロット ◦ PCIe 3.0 x8 以上が必要 • やる気(一番大事)
セットアップ(ハードウェア編) 1. PCIスロットにHCAを設置 2. ケーブルを挿し込む 以上
セットアップ(ソフトウェア編) MellanoxのサイトからOFED (Open Fabric Enterprise Distribution) をダウンロード https://www.mellanox.com/products/infiniband-drivers/linux/mlnx_ofed • InfiniBand用ドライバ(という理解でOK)
• ConnectX-3以前はLTS版 • ConnectX-4以降は通常版 • 一応OSS版のOFEDもあるが... ◦ MLNX_OFEDのほうが安定している印象 ◦ おすすめはしない マニュアルどおりにインストールしたら • systemctl enable --now openibd.service • systemctl start opensmd.service これで終わり
疎通確認してみる 状態確認: ibstat, ibstatus, ibv_devinfo, etc…(本当に色々ある) 疎通確認: ibping
転送速度をテストしてみる の前に... InfiniBandの転送方式(サービスタイプ)は 4つ - Connected (1:1) - RC: Reliable
Connected (← TCPのイメージ) - UC: Unreliable Connected - Datagram (1:n) - RD: Reliable Datagram (← ユーザーランドには提供されていない ) - UD: Unreliable Datagram (← UDPのイメージ) 実運用で主に使用されるのは RCとUD 今回はRCのベンチマークを取ってみる
ベンチマーク RDMA RC TCP
ありがとうございました