Mellanox Windowsドライバ WinOF4.70でのアップデート
日本ではゴールデンウィークの最中でしたが、日本時間2014年5月5日の深夜に下記WEBにてさりげなくリリースとなっています。
Mellanox Products: Mellanox OFED for Windows (WinOF)
下記に概要とトピックを説明します。
MellanoxのWindowsドライバは、VPI(Virtual Protocol Interconnect)版ドライバです。
(InfiniBandとEthernetの両方をサポートするドライバ)
Mellanox WinOF Rev 4.70 New Features(リリースノートから抜粋)
- Ethernet SR-IOV over Windows Hyper-V Hypervisor (over Windows 2012 R2)1
- Virtual Ethernet Adapter support (over Windows 2012 and above)2
- RoCEv2: RoCE over Layer 3 networks (only for ConnectXR-3 Pro)
- Lossless TCP buffer management when no receive WQE are available
- IPoIB SR-IOV over KVM Hypervisor (Beta level)
今回のリリースでは大きなアップデートが2点あります。
1.RoCEv2のサポート
RoCE Version 2という新しいプロトコルがサポートされました。
元々RoCEは、InfiniBandフレームの最下位ヘッダをEthernetヘッダに置き換えただけのものであったため、IPヘッダが存在せず、IPルーティングが出来ないという制約がありました(参考:当ブログ過去記事)。EthernetベースでのRDMAプロトコルであるRoCEでL3でのスケーリングが出来ればさらに大規模で柔軟なシステム構成が可能となるため、RoCEのL3対応は長らく課題とされていました。
RoCEv2は、そのような課題を解消し、理想的なプロトコルを実現するものであり、L3活用でのオーバーレイネットワークの方向性と合わせて投入された新世代のプロトコルであると言えます。
本プロトコルは非常に新しいため、今後随時情報アップデートを行っていきたいと思います。
今後色々なシステムで検証が実施されていくのが楽しみです。
参考:例外的に既に使用しているユーザーも存在します。当ブログの過去エントリ、
http://rdma.hatenablog.com/entry/2014/04/28/212936
で紹介したスライドをよく見るとはっきりと書いてあります。
2.Virtual Ethernet Adapterのサポート(vea_manコマンド)
詳しくはドライバユーザーマニュアル「8.11 Virtual Ethernet Adapter」の章を参照。
このコマンド(vea_manコマンド)を使用すると、1つの10/40GbE物理ポートを2つの論理ポートとしてWindows OSへ提供できます。
従来より同様のコマンドはInfiniBand向けにはサポートされていました(part_manコマンド)が、Ethernetでは未サポートでした。
WinOF4.70では、Ethernetでもサポートという点がアップデートです。
なぜ論理ポート追加コマンドが必要か
理由:SMB Direct(RDMA)と仮想スイッチ経由のアクセスを同一物理ポートで共存させるため(I/O統合(Unified I/O)の実現)
http://technet.microsoft.com/ja-jp/library/jj134210.aspx
SMB ダイレクトを使用する場合の考慮事項 より抜粋(※Windowsの仕様です)
part_manコマンド(InfiniBand)、vea_manコマンド(Ethernet)を使って1つの物理ポートを2つの論理ポートとしてWindowsへ提供することで、上記制約事項をクリアし、RDMAと仮想スイッチの両立を実現できます。
# 本件については別エントリとして記事作成を予定しています。