Microsoft Azureの東日本リージョンから、「NVIDIA Tesla M60」を搭載したGPUインスタンス「NVシリーズ」が5月にローンチされた。これを記念して、エヌビディアと日本マイクロソフトは6月2日、GPUクラウドの技術と活用方法を紹介するイベントを開催した。
GPUインスタンスのユーザー数は日本が第2位
AzureのGPUインスタンスには、「Tesla K80」を搭載する「NCシリーズ」、「Tesla M60」を搭載する「NVシリーズ」がある。また5月8日に、Pascalアーキテクチャを採用した「Tesla P40」を搭載する「NDシリーズ」、NCシリーズの第2世代としてTesla P100を搭載する「NCv2シリーズ」がアナウンスされている。
NCシリーズ、NVシリーズは2015年9月にアナウンスされ、2016年8月に米国中南米リージョンでプレビューリリースされた。そして今回、NVシリーズがGPUインスタンスとして初めてAzureの東日本リージョンに対応した。
日本マイクロソフトの斎藤泰行氏は、Azure GPUインスタンスの利用動向について、「NVシリーズは先月国内ローンチされたばかりだが、ユーザー数は米国に次いで日本が第2位。また、NCシリーズもまだ日本に来ていないにも関わらず、ユーザー数は日本が3位以下を大きく引き離しての2位」と説明した。
NVシリーズは米国リージョンで提供されてから日本上陸まで約9カ月かかったが、「日本法人としてはこのタイムラグを縮めていきたい。日本からNCシリーズをたくさんお使いいただくと日本リージョンでのローンチが早くなるので、積極的に使ってください」と呼びかけた。
NVシリーズの「Tesla M60」とは
エヌビディアの佐々木邦暢氏は、AzureのGPUインスタンスに搭載されているTesla M60、Tesla K80、およびこれから搭載予定のTesla P40、Tesla P100の違いと特徴について解説した。
NVシリーズのTesla M60は、Maxwellアーキテクチャを採用したグラフィックスアプリケーション処理用のGPUだ。NVIDIA GRID(グラフィックスアプリケーションの描画処理をクラウド上のGPUで行い、PCでストリーミングさせる技術)を使って優れたグラフィックス機能を実現する。
NCシリーズのTesla K80は、Keplerアーキテクチャを採用したCUDAやOpenCLを使うHPC(ハイパフィーマンスコンピューティング)ワークロード向けのGPUだ。深層学習(ディープラーニング)や、シミュレーションの計算などに活用できる。
NCv2シリーズに搭載される予定のTesla P100は、Pascalアーキテクチャを採用したGPUで、K80と同様、HPCワークロード向け。一方、NDシリーズに搭載される予定のTesla P40は、Tesla P100と同じPascalアーキテクチャを採用したGPUだが、深層学習の計算に特化した仕様になっている。
今回、日本リージョンでローンチされたNVシリーズは、グラフィックスアプリケーション向けのGPUインスタンスではあるが、佐々木氏は「NVシリーズは深層学習にも十分活用できる」と説明する。
NVIDIAは、深層学習のトレーニングのための「学習データの作成」、「モデルの作成」、「学習過程の可視化」、「モデルのテスト」といった機能を実装するアプリケーション「DIGITS」を提供しているが、NVシリーズはDIGITSを使った深層学習に対応している。「NVシリーズは、倍精度(64ビット)の計算が必要なHPCワークロードには適さないが、DIGITSを使った深層学習の計算は問題なくこなせる」(佐々木氏)。
AzureのVMからどのようにGPUを使うのか
Azure上の仮想マシン(VM)からGPUを使う仕組みについて、日本マイクロソフトの高添修氏が解説した。
AzureのVMからGPUへの接続には、DDA(Discrete Device Assignment)という技術を使っている。「DDAはWindows Server 2016 Hyper-Vに導入された技術だ。Hyper-VのVMから、PCIeデバイスパススルーで直接GPUをつつきにいく。非常に高速で、ベアメタルに近いパフォーマンスでGPUにアクセスできる」(高添氏)。
このようにしてVMに接続されたGPUは、Azure VMのデバイスマネージャーから見ると、PCにGPUカードを刺しているかのように表示される。
クラウドGPUをユーザーの手元で使う、Citrix CloudとNVシリーズの組み合わせ
NVシリーズは、前述の佐々木氏の説明のように、グラフィックアプリケーション向けのGPUインスタンスだ(深層学習用にも活用できるが)。NVシリーズと、仮想デスクトップ(VDI)、仮想アプリケーションのサービスを組み合わせることで、クラウド上のGPUによるグラフィックス機能を、CADユーザーやデザイナー、ゲーマーが手元のPCで利用できるようになる。
シトリックス・システムズ・ジャパンの竹内裕治氏は、Azureにホストする仮想デスクトップサービス「XenDesktop Essentials」と、仮想アプリケーションサービス「XenApp Essentials」を紹介。これらのサービスをNVシリーズのGPUインスタンスへのホストについて解説した。
同社は2月に、「Citrix Cloud」の国内提供を開始した。Citrix Cloudは、XenDesktopによる仮想デスクトップ環境、XenAppによる仮想アプリケーション環境を任意のIaaSやオンプレミス環境に展開する。エンドユーザーが直接アクセスするユーザー環境と、管理系機能を含む管理プレーンが分離されているのが特徴で、Citrix Cloudの管理プレーンはAzure上に構築されシトリックスが運用している。
Citrix Cloudで、ユーザー環境をAzure上にホストするサービスが「XenDesktop Essentials」および「XenApp Essentials」だ。ホストするVMインスタンスにNVシリーズを選択することで、GPU搭載のVDI環境、GPUでグラフィックス機能を強化した仮想アプリケーション環境を構築できる。
竹内氏は、「XenApp Essentials+NVシリーズは、Windows Server 2016/2012 R2環境上のGPUパワーを複数ユーザーでシェアする利用形態。XenDesktop Essentials+NVシリーズは、Windows 10環境のGPUをシングルユーザーで使う形態」と解説。3Dグラフィックスの処理などGPUを高負荷に使うユーザー向けにはXenDesktop Essential、ナレッジワーカーなどそれほどGPUパワーを必要としないユーザー向けにはXenApp Essentialsというように使い分けられると説明した。
いずれも、エンドユーザー側のOSや端末種類に制約はなく、「非力なモバイル端末からでも、グラフィックス系のアプリケーションが利用できるようになる」(竹内氏)。