Windows 10 Pro for Workstations でのSMB Direct のサポート
10月17日にWindows 10 の大型アップデートが予定されています。Windows 10自体においても、既に標準のアプリケーションである「ペイント」の名称が変更となり大きく変貌を遂げるなど様々な話題を提供していますが、このアップデートでは、新たに「Windows 10 Pro for Workstations」と呼ばれるWindows 10 Proシリーズで最上位のエディションが追加されるとの報道がされています。このエディションでは、CPUの数や搭載メモリの上限値の緩和などでの機能強化に加え、SMB Direct(Server Message Block Direct)への対応が発表されています。SMB Directは、マイクロソフトのファイル共有プロトコルのSMB3.0をInfiniBand、RoCEといったRDMA対応アダプタカードを通してSMBのRDMA転送を可能にするプロトコルで、サーバーOSでは、Windows Server 2012以降で標準サポートされているものです。
—————————
■ 高速データ転送の問題点
—————————
通常、コンピューター間のデータ転送では、コンピューター内でアプリケーションがネットワークを構成するプロトコル・スタックにデータを「コピー」し、プロトコルスタック内で送りやすい形にデータを加工し、OS内部のカーネルドライバにデータを「コピー」し、その後ハードウェアにデータを渡して、やっと転送が行われるという手順になります。受け取る側もその逆の手順を重ねることになります。「コピー」、「加工」という言葉が出てきましたが、これらはCPUが行う仕事であり、それらを何度も繰り返すことでCPU資源は消費され、要する時間も経過します。また転送速度が25Gb/s、40Gb/s、100Gb/sと上がっていけば、当然単位時間の伝送データ総量も増え、CPUから見ると処理のワークロードが増え、転送自体に消費されるCPUの負荷も増加することになります。
—————
■ RDMA転送とは
—————
この問題を回避するのが、RDMA(Remote Direct Memory Access)転送です。RDMA転送では、RDMA対応のネットワークカードが直接アプリケーション内のメモリ領域を読みに行き、RDMA転送対応のカード間で通信を行い、送り先のアプリケーションメモリ領域に直接データを書き込むことでデータ転送を行います。このため無駄なデータコピーという手順が存在せず、転送における遅延性能に優れ、データ転送自体にCPU資源を使うことはありません。ある意味CPUにとっては、これまで自分ですべての仕事を担っていたところを「このデータをxxxに送り、終わったら報告だけして」と、例えるならば執事(RDMA対応アダプタカード)に仕事を命じる形になり、終了の報告を執事から受けるまでCPUはほかの仕事に注力することが出来るようになるのです。このような有益な機能をSMBファイルストレージのアクセスに活用するのが、SMB Directになります。
———————————
■ クライアントOSであるということ
———————————
加えて今回のポイントは、「クライアントOS」においてSMB Directがサポートされることです。これまでもWindows Serverを使えばSMB Direct自体は活用することは出来ました。しかしながら、例えば映像編集分野の主要な商用アプリケーションでは、動作環境にサーバーOSは含まれておらず、サーバーOSをアプリケーションのOS環境として提案することは出来ませんでした。今回のWindows 10 Pro (for Workstations)でのSMB Directのサポートにより、これらのアプリケーションのOS要件を満たすことが出来るようになり、その結果アプリケーションの高速動作と両立しながら、Windows ServerベースのSMBファイルサーバーへの高速なアクセスを享受出来るようになります。
(画像はイメージです。)
—————
■ まとめ
—————
次期Windows 10 (Fall Creators Update)は、10月17日のリリースに向けてのまだ前段階にありますが、今年度の後半にかけてこのような高速なファイルサーバーにWindows 10 Pro (for Workstations) クライアントから直接 10-100GbEの速度でアクセス可能な環境が整ってくることになります。先ほど例で挙げた映像編集の分野など、より高速なファイルサーバーが必要な分野では、このような構成がフィットする可能性は十分にあるのではないでしょうか?
この優れた機能を提供できるメラノックスのRDMA対応アダプタカードとして、以下の製品をご紹介いたします。
ConnectX-5 EN:(100Gb/s RDMA対応 Ethernetアダプタカード)
http://krmt.net/test/product/adaptor/ethernet-adaptor/127/
ConnectXR-4 Lx EN:(10/25/40/50Gb/s RDMA対応 Ethernetアダプタカード)
http://krmt.net/test/product/adaptor/ethernet-adaptor/132/
ConnectX-5 VPI:(100Gb/s RDMA対応 InfiniBand/Ethernetアダプタカード)
http://krmt.net/test/product/adaptor/infiniband-adaptor/103/
そして、外部通信だけでなく内部のI/Oを高速化に貢献する高速SSD製品は、以下を御覧ください。
http://krmt.net/test/product/nvmessd/
本内容は、弊社メルマガ9月末号に掲載したものを、一部改版し お送り致しました。
※ 2019年6月追記:
弊社エンジニアが導入手順を中心に実際に検証を行った、「“Windows 10 Pro for Workstations でのSMB Direct のサポート”の続き」も合わせてお読みください。なお、本編の継続となりますが、SMB Directへの対応は、Windows 10 Enterprise とWindows 10 Pro for Workstationsの2つのEditionのみとなり、通常のWindows 10 Proではサポートされません。そのため続編では、タイトルに「for Workstations」を追記させていただきました。
また修正前の冒頭で紹介した「ペイント」は、Windowsアップデートの紆余曲折の中、結果的に元の「ペイント」に戻り、別途、新たな「ペイント3D」も用意される形になっています。
※ Windows は米国 Microsoft Corporation の米国およびその他の国における登録商標です。
Blog(英語): Infiniband/RDMA on Windows – now on Windows 10 too