Blog

※本ブログの内容は個人的見解であり、所属組織及び企業の意見を代弁するものではありません。 / # The contents expressed here are only my personal opinions.

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の仕様です)

  • Hyper-V 管理オペレーティング システムで SMB ダイレクトを使用して、Hyper-V over SMB を使用できるようにしたり、Hyper-V 記憶域スタックを使用する仮想マシンに記憶域を提供したりできます。ただし、RDMA 対応ネットワーク アダプターは Hyper-V クライアントに直接公開されません。RDMA 対応ネットワーク アダプターを仮想スイッチに接続すると、そのスイッチからの仮想ネットワーク アダプターは RDMA 対応ではなくなります。

part_manコマンド(InfiniBand)、vea_manコマンド(Ethernet)を使って1つの物理ポートを2つの論理ポートとしてWindowsへ提供することで、上記制約事項をクリアし、RDMAと仮想スイッチの両立を実現できます。

 

# 本件については別エントリとして記事作成を予定しています。