RDMAのメモ帳
最近ちょくちょく聞くようになったRDMAについて、動く使えるOSとかNICとかHCAとか。
どんなものかというと、リモート先のメモリにCPUを介さず読み書き可能な規格。
元々はHPCとかで使われてたけど、最近はストレージで使われてたり。
うちの環境でも、使用用途としてはストレージ回りで使ってる感じです。
使用可能なインターフェイスとしては、IntelのOmniPath、MellanoxのInfiniband、あとはEthernet。
手持ちでテスト可能な環境は、InfinibandとEthernetなので、OmniPathは除外で。
Ethernetで使えるのは、規格というかインターフェイスというかはRoCEとかiWARPになる。
InfinibandだとそのままRDMA。元々、Infinibandの規格にはRDMA無かったとか。
RDMA使ったプロトコル
SRP
SCSI RDMA Protocol のこと、元々はInfinibandにべったりなプロトコル。
最近は、RoCE使えば、Ethernetでもいけるみたい。
ただ、iSCSIのように認証なかったりするので使い所が色々と微妙。
iSER
iSCSI Extensions for RDMA のこと、iSCSIが入ってるようにiSCSIのデータ転送部分を
RDMAでやっちゃうプロトコル。InfinibandでもEthernetでも使える。
- nix系でサポートされてる。Windows系は未サポート。
SMB Direct
SMB 3以降でサポートされてる。SMBのデータ通信をRDMAでやっちゃうプロトコル。
今のところサポートしてるOSは、Windows Server 2012以降のサーバOSと
Windows 10 Enterpriseくらい。Sambaでは現在未実装。
NFS over RDMA
NFSのデータ転送部分をRDMA行うプロトコル。
実装されてるのは、Linux系だけしか自分は知らない。
SDP
Sockets Direct Protocol のこと、通常のSocketをラップしてRDMAでデータ通信を
行うプロトコル。メンテナンスはされてないっぽい。
RDMAが使用可能なOS
(確かAIXとかでも使用可能な筈だけど確認できてないので)
OS | Driver ver | Infiniband | Ethrernet |
---|---|---|---|
Windows Server 2008 | MLNX_WinOF etc | o | o |
Windows Server 2008R2 | MLNX_WinOF etc | o | o |
Windows Server 2012 | OS Bundle | o | o |
Windows Server 2012R2 | OS Bundle | o | o |
Windows Server 2016 | OS Bundle | o | o |
Windows 7 | MLNX_WinOF etc | o | o |
Windows 8 | OS Bundle | o | o |
Windows 8.1 | OS Bundle | o | o |
Windows 10 Enterprise | OS Bundle | o | o |
Linux | OS Bundle | o | o |
FreeBSD 10 | OS Bundle | o | o |
illumos | OS Bundle | o | x |
Solaris11 | OS Bundle | o | o |
ESXi 4.0 | MLNX_OFED | o | o |
Xen Server | OS Bundle | o | o |
RDMA対応NIC,HCA
Maker | Name | Infiniband or Ethernet | RoCE or iWARP |
---|---|---|---|
Intel | NetEffect | Ethernet | iWARP |
Emulex | OCe14000 | Ethernet | RoCE |
Chelsio | T3x0 | Ethernet | iWARP |
Chelsio | T4x0 | Ethernet | iWARP |
Chelsio | T5x0 | Ethernet | iWARP |
Mellanox | ConnextX | Infiniband and Ethernet | RoCE |
Mellanox | ConnextX-2 | Infiniband and Ethernet | RoCE |
Mellanox | ConnextX-3 | Infiniband and Ethernet | RoCE |
Mellanox | ConnextX-4 | Infiniband and Ethernet | RoCE |
Mellanox | ConnextX-5 | Infiniband and Ethernet | RoCE |