マイクロソフトは火曜日、特殊な再プログラム可能チップを搭載した新型「カタパルト」ボードがBing検索エンジンのパフォーマンスを劇的に向上させたため、2015年にデータセンターにこの技術を導入する計画だと発表した。中国最大級のウェブ企業、百度も同様の結果を報告している。
両社は、マイクロプロセッサと関連技術の改良について説明するクパチーノでの学術会議「Hot Chips」で論文を発表しました。
グラフィックチップは、今ではPCやゲーム機の定番コンポーネントとなっています。数年前には、専用のオーディオアクセラレータも同様でした。どちらのチップも、特定の機能を非常に効率的に繰り返し実行していました。一方、IntelのCoreプロセッサ、AMDのAシリーズAPU、ARMのCortexプロセッサなどのマイクロプロセッサは、汎用チップと呼ばれ、様々なタスク向けにプログラムされています。
FPGA(フィールドプログラマブルゲートアレイ)は、その中間に位置し、固定機能チップよりも低い性能で、限定的なプログラミングが可能です。マイクロソフトのシニアリサーチデザインエンジニア、アンドリュー・パトナム氏によると、そのアイデアは「柔軟性を重視しつつ」古いマシンにFPGAを使って寿命を延ばすことでした。「データセンター用にマシンを購入したら、ほとんどそのまま使い続けることになるのです。」
CPUが十分ではないとき
柔軟性は、検索のようなソフトウェアアルゴリズムを高速化するために不可欠です。検索アルゴリズムは常に調整と改良が続けられています。パトナム氏は、固定機能のアクセラレータは時間の経過とともに効率が悪くなり、スペースと電力を無駄にしてしまうだけだと述べています。
パトナム氏のチームは、6個のXilinx FPGAを搭載した専用ボード(上)を試用しましたが、サーバー設計が複雑になり、単一障害点(SPOF)が発生し、過剰な発熱を招いたため、却下しました。これらの問題は、Bingやその他のMicrosoftクラウドサービスを支えるデータセンターの管理者を不安にさせました。Microsoftは代わりに、Altera Stratix V G5 D5、8GBのメモリ、32MBのフラッシュメモリ、PCI Gen 3 x8コネクタを搭載したボード「Catapult」を採用しました。

Microsoft の「Catapult」ボード。
Catapultは、Facebookによって普及したMicrosoftのOpen Computeサーバーに適合します。この設計は、HPやDellのようなOEMによる開発サービスを必ずしも必要としません。Microsoftのサーバーは、2.1GHz、8コアのXeonチップ2基、64GBのDRAM、2TBハードドライブ4基、そして512GB SSD2基を搭載しています。Microsoftは各サーバーにFPGAボードを1枚ずつ搭載し、ハーフラック(48台)にサーバーを収容しました。FPGAボードはケーブルで6×8のトーラスネットワークに接続されていました。
その後、マイクロソフトはこれらのカードをデータセンター内の1,632台のサーバーに実装し、実稼働テストを行いました。パトナム氏によると、FPGAカードによってBingがユーザーの検索パラメータと比較した文書の関連性スコアリングを高速化できることが分かりました。マイクロソフトは検索スループットを2倍向上させ、検索処理の遅延を29%削減しました。この節約により、必要なサーバー数を半分に削減することができました。

テストは非常に成功したため、2015年には同じデータセンター内のすべてのBingサーバーに展開される予定だとパトナム氏は述べた。「今後の課題は、FPGA技術を次にどこに適用するかを決めることだ」と同氏は付け加えた。
中国に数万台のサーバーを保有する百度(Baidu)は、FPGAを活用してディープニューラルネットワーク(従来の検索から音声認識、画像検索・認識まで、あらゆる用途に用いられるアルゴリズム)を高速化しました。百度は、あらゆる1Uまたは2Uサーバーに搭載可能なザイリンクスK7 480t-2l FPGAボードを採用しました。様々なワークロードにおいて、百度はFPGAボードがCPUやGPUよりも数倍効率的であることを発見しました。
エンドユーザーが最も気にするのは、BingやBaiduの検索結果の品質です。検索アルゴリズムの効率性とパフォーマンスの向上は、誰にとっても朗報です。
この記事は修正され、2015 年に Catapult ボードが 1 つの Microsoft データ センター内のすべてのサーバーに追加され、Bing が稼働する予定であることが記載されました。