特別企画
最先端かつ枯れた技術? スパコンのネットワークで培った強みをEthernetへ生かすメラノックス
2017年3月17日 06:00
Mellanox Technologies(Mellanox)は、通信技術の1つ、InfiniBandの分野では広く知られる企業だ。近年ではInfiniBandだけでなく、10Gbps以上の高速Ethernet分野にも進出し、その製品は、ノード間の高速通信が必要な場面などで多く使われているという。
MellanoxがEthernet市場でどこを自社の強みとし、何を狙っているか、さらにこれからのMellanoxのビジョンについて、日本法人である、メラノックステクノロジーズジャパン株式会社の小宮崇博氏に話を聞いた。
ビッグデータや機械学習でInfiniBandが採用
MellanoxとInfiniBandについて、おさらいしておこう。
Mellanoxは、InfiniBandで大きなシェアを持つ機器メーカーだ。InfiniBandはEthernetに比べて広帯域かつ低遅延という特徴があり、スーパーコンピュータのような、HPC(High Performance Computing)分野のインターコネクト(ノード間通信)などで多く使われている。
MellanoxはこうしたInfiniBandの広帯域・低遅延という特徴を生かし、最新規格であるEDR(Enhanced Data Rate、1レーンで25Gbps、4レーンでは100Gbps)対応製品を含め、さまざまな製品を販売している。
HPCというと縁遠いと感じるかもしれないが、日本においても有名なサービスプロバイダーが、超高速な演算処理性能の必要な用途向けに提供するGPUコンピューティングサービスにおいて、InfiniBand接続による大規模GPUクラスタを提供している。
また最近ではHPC以外の分野でもInfiniBandが利用されるようになった。クラウドやビッグデータ、機械学習の分野でも、Hadoop/Sparkや Caffe等の多くのミドルウェアの環境がInfiniBandによる演算クラスタ上で利用されるようになっている。
例えばPayPalではリアルタイムの不正利用検出のために、InfiniBandを使ってリアルタイムのデータ分析クラスタを組んでいる。Deep Learning Summit 2017 における Preferred Networks(PFN)の発表によれば、ディープラーニングフレームワーク「Chainer」でも、InfiniBandによる分散マルチノードGPU処理に対応した「ChainerMN」で驚異的な高速化を果たしたとしている。
MellanoxのInfiniBandはこうしたさまざまな分野で活用されており、着実に実績を積み重ねてきた。そして6年前からは、InfiniBandでの基礎技術を基に、10Gbps以上のEthernet分野にも進出して、製品をリリースしている。
InfiniBandの技術を高速Ethernetに生かす
MellanoxがEthernet分野に進出した理由として、小宮氏はまず「市場が大きい」ことを挙げる。「Ethernetの市場は、InfiniBandとファイバチャネルを足したより1けた大きいのです。そこに、InfiniBandで培った技術を生かして参入しました」(小宮氏)。
「MellanoxはNASDAQに上場していますが、実はITではなく半導体の会社に分類されています」と小宮氏は語るように、Mellanoxはチップを自社で生産している。実は、InfiniBandとEthernetで多くの機能ブロックを共用しており、相互利用が可能なのだ。
さらに、HPCに向けてInfiniBand製品を作っていることが、Ethernet製品にも大きな強みになっているという。HPC分野では、高性能な最新の技術が一度に導入されるため、開発コストを短期間に償却しやすいそうで、「例えば100GbpsのEDRネットワークも、HPCのInfiniBandではかなり早く採用されています。100Gbps のEthernetに転用可能な共用技術で技術の開発コストも償却可能なため、Ethernetへこれを適用した場合、価格も競合に比べて低くおさえられ、ものによっては4分の1ぐらいになります」(小宮氏)というのだ。
加えて、HPCのInfiniBandで大規模な導入が行われたずっと後に提供されることから、「100GbpsのEthernetを出すころには、すでに技術的にも枯れたものになっているのです」と、小宮氏は説明する。
もちろん、Ethernet市場への参入した背景には、市場のニーズもあった。「InfiniBandでいえばFDR(Fourteen Data Rate、2011年に登場)のころから、Hadoopなどの大規模クラスタが立ち上がってきました」と小宮氏。「それらの中身はスーパーコンピュータと似ていて、インターコネクトやスイッチの性能にもスーパーコンピュータ並みのものを望む声がありました。そうしたニーズに向けて、Mellanoxの技術でEthernet製品を作ったのです」。
日本の大手Webサービスの事業者では、3000ノードを超えるような環境でもHadoopクラスタを構成していると発表しているが、「これを実現するには、サーバーだけでなくネットワークやストレージも要件を満たす必要があります」と小宮氏。「さらに、これから例えば4K動画からDNNでコンテキストを抽出するといった場合には、相当なデータをアドホックにリアルタイムで処理する必要があります。このようなことから、機械学習にはMellanoxの技術が必要だと最近では言っています」。
「上記のユーザーではInfiniBandも利用しています。同じ性能とはいかないまでも、Ethernetでも近い性能を提供できるのが、Mellanoxのソリューションです。InfiniBandで実績があり、枯れた製品であるだけでなく、さまざまな面で自信を持って提供できます。現在は高位合成技術が発達しているので、FPGAなどを利用し、Cに近い高水準言語でチップを作れるようになっています。しかしそれでネットワークチップを作ると、電力や発熱、サイズなどさまざまな問題が起き、25Gbpsレーン以上になるとメーカーが絞られます。そこがわれわれが半導体の会社に分類されるゆえんです」(小宮氏)。
その特長が生かされている製品が、1Uハーフワイドサイズの筐体に収められた10Gigabit Ethernetスイッチ「SX1012X」と、100Gigabit Ethernetスイッチ「SN2100」だ。「われわれのチップは小さく、消費電力も少ないため、このフォームファクタを実現できました。また、筐体を小さくしたぶん価格を下げられるのも、自社開発のチップを持っているおかげなのです。他社はほとんど、外部からチップを調達してスイッチを製品化しているので、こうしたことはまねできません」(小宮氏)。
なおMellanoxでは、光モジュール、アダプタカード(HCA/NIC)、NPU、スイッチ、ソフトウェア、さらにはケーブルまで、多岐にわたって製品をラインアップしている。こうして、ネットワーク接続の要素をトータルで提供するのが強みの1つだ。単純に、相性の面でも同一ベンダー製品である方が都合が良いし、サポートを受ける上でも一括して受けられるため、ユーザーにとってはメリットが大きいといえる。
実は、Mellanox製品はさまざまなベンダーにOEM提供されていることから、直接ブランドが見えない形でも、多くのユーザーに利用されている。「サーバーベンダーの純正NICにも当社製の製品は多く存在しますから、そうした場合はワンストップのサポートを提供できます。これも、お客さまにとってのメリットといえるでしょう」(小宮氏)。
ネットワークスイッチのオープン性を追求する「Open Ethernet」
Mellanoxでは昨今、こうしたEthernet製品をベースに「Open Ethernet」ソリューションを展開している。Ethernetスイッチ製品のネットワークOS(NOS)として、独自のMLNX-OSに加え、2016年から汎用NOSのCumulus Linuxなどをサポートしているのだ。
こうした戦略を採っている理由は明快だ。Mellanoxでは、広帯域低遅延なネットワークハードウェアと、それに近い物理レイヤを自社の強みとしているが、それより上位レイヤであるレイヤ2/3の機能や管理性については、標準化されたものをユーザーのニーズに合わせて選んでも構わない、と考えていることによる。
「ルーティングやIPファブリック、オーバーレイといった機能は、ベンダー固有のものである必要はなく、標準技術を使って実現できますので、ユーザーに使いたいものを使っていただくのが良いのです。そこで、Mellanoxが得意とするハードウェアに、Cumulus Linuxも載せて販売しています」と小宮氏は説明する。
Cumulus LinuxはLinuxベースの汎用NOSで、特定のベンダー機器ではなく主にホワイトボックススイッチに載せて使われており、NOSとしては実績のある製品だ。
「Cumulus LinuxはL3の機能は優れていますが、搭載するハードウェアがホワイトボックススイッチなので、サポートの問題で日本のお客さまにはなかなか入らない。メガクラウドのような大規模事業者なら自分たちでサポートできるからいいのですが、一般企業にはハードルが高いですね。そこでMellanoxでは、ワンストップソリューションとしてサポートできる体制を整えています」(小宮氏)。
MellanoxではOpen Ethernetの活動として、同社スイッチのC言語APIをGitHubで公開している。「マイクロソフトのSONiC(Software for Open Networking in the Cloud)や、Open Network Linuxなども搭載できます。原理的には、NOSインストール機構のONIE(Open Network Install Environment)をサポートしていれば理論的には動くはずです」と小宮氏は説明した。
RDMAでIn-Network Computingを実現する
また同社は、今後を見据えて「In-Network Computing」というコンセプトを進めている。
これは、HPCなどのクラスタで行われているように、単に計算ノードをネットワークで接続するのではなく、ネットワーク全体でコンピューティングを最適化する考え方だ。
そのIn-Network Computingの構成要素としてMellanoxが重要と考えている技術が、「RDMA(Remote Direct Memory Access)」である。同じコンピュータ内で、メモリとメモリ、またはメモリとI/Oデバイスの間で直接データをやり取りする「DMA」技術のリモート版といえるもので、非常に簡単に言ってしまえば、RDMAでは、ネットワーク越しにある別のコンピュータのメインメモリに対して、直接データを転送できるようにする。
これによって、データ転送が大幅に高速化されることに加え、CPUを介さないため、サーバーなどのコンピュータ側にかかる負担も減らすことができる。
「RDMAはもともとInfiniBandとともに使われる技術ですが、今はそれをEthernetでも実現しています。EthernetはInfiniBandよりも遅延が大きいものの、RDMAによるメモリ転送はCPUが介在しませんから、それでもかなり高速化されます。そして、CPUの処理能力をほかの処理に回せるようになるわけです。」と小宮氏。
これを現実に適用したソリューションとしては、「NVMe over Fabric」にも取り組んでいる。NVMeは、フラッシュストレージをSASなどのストレージ用インターフェイスではなく、PCI Expressに接続するものだ。「ストレージのインターフェイス、例えばSCSIでは、1つのI/Oのキューしか実行できないが、NVMeでは並列して処理できるので高速になる」と小宮氏は解説する。
NVMe over Fabricでは、このNVMeをノード間でインターコネクトする。通常のNVMeではコンピュータと1対1で接続されるNVMeストレージが、RDMAによって、ネットワーク経由でDMA転送できる。つまり、高速なNVMeをSANなどのネットワークストレージのように使えるわけだ。
また、ここでポイントになるのが、ユーザーにとっては負担がないということ。「こうしたソリューションが導入されても、アプリケーションからは見えないため、アプリケーションの開発・利用にあたって、その存在を意識する必要はありません。それにもかかわらず、処理が速くなる、より多くのワークロードを同時に動かせる、機械学習でより多くの学習パターンを投入できる、といったビジネスに直結する性能が、自動的にもたらされます」という。
NVMe over Fabricはまだ先端的な技術で、一部ですでに製品化されているものの、「多くは2017年後半ごろから出てくるでしょう。今まさにホットな段階です」と小宮氏は語る。現在、製品としてはすでにMangstor社やApeiron Data Systems社がNVMe over Fabricフラッシュストレージアレイを販売しており、そのネットワークアダプタはMellanox製だと公表されている。
今後も、InfiniBandなどで培った先進的な技術を、企業ユーザーが実際に手に取れるソリューションとして提供できるよう、Mellanoxではさまざまな取り組みを進めていく考えだ。