「【ニコニコ事業】ハードウェア開発エンジニア (正社員) 日本最大級の動画サイトニコニコ動画を中心とした『niconico』を支える配信システムのハードウェアによる高速化を行っていただきます。」
ドワンゴは2014年11月、こんな職務内容で、ハードウエアエンジニアを募集した(エンジニア募集サイト)。実際、2015年4月時点で既に10数人のハードウエア技術者を採用。今後も採用数を増やすという。連載第4回は、ニコニコ動画やニコニコ生放送を運営するドワンゴのプラットフォーム事業本部の宮崎賢一氏らに、IT企業がハードウエア開発を手がけることの意義を聞いた(写真)。
なぜITサービス企業であるドワンゴが、ハードウエア開発に乗り出すのでしょうか。
PCサーバーの性能は今後も進化するでしょうが、プロセッサのコア単位でみれば、処理速度の向上は望めません。このため、並列処理が難しいワークロードでは、もう劇的な性能の向上は期待できないでしょう。新サービスの開発のためにも、「次」の打ち手を考えておく必要がありました。
これは一般論ですが、FPGA(内部の論理回路をプログラミングして再構成できるチップ)やASIC(特定用途向けに論理回路を設計したチップ)を使えば、用途によっては100倍、1000倍の速度を出せることもあります。
実際にやってみたら効率が10倍ほどだったとしても、ビジネス上は容易にくつがえせない優位になり得ます。こうした効果が出せる可能性があるのなら、突き進むべきじゃないか、と考えました。
クラウドインフラを「作る」から「使う」へ
今のニコニコ動画やニコニコ生放送のデータセンターは、どのような処理を行っているのでしょうか。
消費電力ベースでいえば、半分は配信、もう半分はエンコーディング(動画圧縮)です。
ニコニコ動画やニコニコ生放送では、パソコンからスマートフォン、WiFiから帯域制限がかかった携帯ネットワークまで、あらゆる環境で途切れなく映像を視聴できるよう、ビットレート(時間当たりデータ量)を細かく変えた複数の動画を用意する必要がありますから。
特にニコニコ生放送では、リアルタイムに複数の動画を生成することになり、ここに大きなCPUパワーを割り当てていますね。
GPU(グラフィックス処理プロセッサ)などのアクセラレータ(特定の演算を加速させるチップ)は使っていますか。