ハイパースケールデータセンターを実現する次世代のサーバー&ストレージ 第2回
メニーコアプロセッサーで「手のひらスパコン」を実現!
ビッグデータを変える!Xeon Phi搭載サーバーの可能性
2013年09月03日 09時20分更新
Xeon Phiのフル活用でリアルタイムな超解像処理を実現
こうしたXeon Phiの実力をまざまざと見せつけたのが、Express5800/HR120a-1によって処理の大幅な高速化を実現したNECの「超解像処理」の事例だ。超解像処理とは、低解像度の映像を高解像度の映像に変換する処理を指す。おもに最新のハイビジョンTVでの視聴に耐えられるよう過去の映像データを高画質化するのに利用するもので、NECでも放送局向けの高度な超解像処理技術を長年に渡って研究・開発してきたという。
NECの超解像技術では複数のビデオフレームを映像内の動きに従って、位置あわせし、それを重ね合わせることで高画質のフレームを生成する。一般的なビデオコーデックで用いられるピクセルレベルではなく、より細かいサブピクセルレベルで推定を行なうため、高い精度の位置あわせが実現できる。一方で、サブピクセルレベルでの処理を実現するために、膨大な計算を必要とするのが大きな課題であった。実際、Xeonのみを搭載していた従来のサーバーでは、1時間の入力映像を超解像処理するのに5~6時間を要していたという。
この超解像処理をリアルタイムで実行できるようにしたのが、Express5800/HR120a-1だ。NECでは3人のエンジニアがXeon用に書かれたプログラムを、Xeon Phiを搭載したExpress5800/HR120a-1上で動くように書き換え、SD(標準画質)の映像をリアルタイムにHD(ハイビジョン映像)に変換するデモを公開した。
具体的には、フレーム間、フレームを分割したブロック間、ブロック内のピクセル間など、複数レベルで処理を並列化し、XeonおよびXeon Phiのコア/ベクトル演算器にそれぞれマッピングした。Xeonと2つのXeon Phiでは、それぞれ1つずつプロセスを実行しており、Xeonのプロセスにのみユーザーフェイスと各プロセスに処理を割り当てるディスパッチャーを搭載。このディスパッチャーがそれぞれのコア性能の違いや並列度を考慮し、最適に処理を割り当てている。データ転送に関しても、計算のバックグラウンドで行なえるようにし、全体の処理時間に影響を及ぼさないようにした。
こうしたチューニングにより、今まで数時間かかっていた高解像度映像への変換がリアルタイムで可能になった。1秒あたり30フレーム/秒で処理することで、1時間の低解像度映像をそのまま1時間で高解像度化できるようになったわけだ。
ここでのポイントは、Xeon Phiに最適化するための超解像プログラムも書き換えが、たったの1ヶ月/3人で済んだという点だ。これはNECの試算によると、GPGPUを使った同様の開発に比べて1/5の開発工数になるという。
開発期間が短縮された理由は、Xeon向けに並列化されたソフトウェアがそのままXeon Phi上でも動作するためだ。また、インテルのソフトウェア開発製品を活用することで、迅速にコードの最適化を図ることができたことも大きいという。「GPUは動かすまでに時間がかかりますが、今までのx86の開発を手がけたことがあるユーザーであればすぐに使えます。ですから、超並列処理を導入する障壁がとても低いんです」(多賀氏)という。
とはいえ、NECがXeon Phiで狙っているビッグデータの分野では、HPCのようなアプリケーションの超並列処理が必ずしも進んでいるわけではない。そのため、同社ではある程度並列化されたアプリケーションのジョブを複数実行し、Xeon Phiの演算装置に割り振るミドルウェアを開発中だ。これにより、ユーザーは既存のアプリケーションを効率よくXeon Phi対応にすることが可能となる。ハードウェアだけではなく、こうしたソフトウェア面での開発支援も、NECならではの特徴となる。
●
Xeon Phiをいち早く搭載し、ハイパースケール時代にふさわしいコンピューターパワーを実現したExpress5800/HR120a-1。その圧倒的な処理能力は既存のビジネスを大きく変える可能性を秘めているといえよう。
(提供:NEC)
この連載の記事
-
第3回
サーバー・ストレージ
性能と安定性でさくらが選んだNECの「iStorage M300」 -
第1回
サーバー・ストレージ
HPCとビッグデータは融合!ハイパースケールなインフラへ -
サーバー・ストレージ
ハイパースケールデータセンターを実現する次世代のサーバー&ストレージ - この連載の一覧へ