GPGPU 技術による高性能クラウドコンピューティング
High-performance cloud computing with GPGPU technology

能が高性能計算を必要とする。
近年の高性能計算では、GPU を汎用計算に用いる
GPGPU 技術が導入され、飛躍的な性能向上が達成されているが、GPGPU に代表される並列計算デバイスは、消費電力がボトルネックとなり、スマートフォンや IoT 機器での利用は困難な状況になった。そこで本研究は、GPU をクラウド側のサーバシステムに搭載

加藤 真平 (Shinpei KATO, Ph. D.)

し、それをスマートフォンや IoT 機器のようなクライ東京大学 大学院情報理工学系研究科 准教授

アント端末からアクセスすることで、GPGPU 計算を(Associate Professor, Graduate School of Information Science andEngineering, The University of Tokyo)利用できる仕組みを構築した。

情報処理学会 IEEE ACM
研究専門分野：サイバーフィジカルシステム オペレーティングシステム
クラウドコンピューティング 高性能計算

２．研究の背景と動向
GPU をクラウド環境のサーバシステム側でサポートする研究は存在する。例えば、GPU を仮想化し、画像処理専用プロセッサ（GPU）を画像処

複数クライアント端末から GPU にアクセスできるよ理以外の汎用目的（General-Purpose）の計算処理にうにするような研究がある。この場合、クライアント応用する GPGPU（General-Purpose computing on

端末側のプログラムは、サーバシステムに問い合わせGPU）技術の発展が目覚ましい。スーパーコンピューを行い、サーバシステム側で用意された GPGPU プロ

タでの人工知能（AI）や車載コンピュータでの自動運グラムを実行し、その結果をクライアント端末に返す転なども、GPGPU 技術を用いるようになった。本研という仕組みになる。よって、クライアント端末のプ究では、この GPGPU 技術をクラウドコンピューティログラムを構築する際に、逐一サーバシステム側のプングにおいても利用可能にするための研究開発を行っログラムも用意しないといけない。このプログラミンた。高性能な GPU を搭載できない非力なスマートフ

グの手間は、開発効率を著しく低下させ、広く汎用的ォンやその他の IoT（Internet of Things）機器でも、に使える仕組みとはならない。

あらましクラウド上にある GPU にアクセスでき、あたかも自本研究の特徴は、サーバシステム側は GPU にアク分のコンピュータ上で GPGPU 実行をしているかのよセスするための共通フレームワークがあるだけで、プうに見せる仕組みを構築し、性能評価を行った。そのログラムそのものはクライアント端末のみが用意すれ結果、インターネットを通じたクラウドアクセスの遅ばよいという仕組みを実現した点にある。具体的には、

延を加味しても、GPU を持たないスマートフォンでリモートプロシージャコール（RPC）を利用して、クの処理に対して、最大 10 倍程度の処理時間短縮を実ライアント端末で呼び出す関数をそのままサーバシス現した。

テムに転送し、実行するというものである。RPC の概念は古典的だが、それを GPGPU 技術に適用した事例

１．研究の目的は本研究が初めてある。

スマートフォンや IoT 機器は普及の一途を辿っている。今後のトレンドは省電力化であり、少量のバッテ３．研究の方法と結果リー駆動で長時間稼働できる製品が市場に出回ると予本 研 究 で は 、 RPC の 実 装 に オ ー プ ン ソ ー ス の想される。省電力化は CO2 削減にもつながり、社会的GPGPU ドライバソフトウェアである Gdev を用いた。

価値の高い取り組みである一方、機能性という点ではGdev のアーキテクチャを図 1 に示す。Gdev はデバイ性能不足による制約を受ける。特に、昨今の AI や自スドライバを提供するだけではなく、GPU プログラ

動運転という新しいアプリケーションでは、多くの機ミングに不可欠となるランタイムエンジンも提供する。
1

TELECOM FRONTIER No.97 2017 AUTUMNGPGPU 技術による高性能クラウドコンピューティング
High-performance cloud computing with GPGPU technology

ユーザ空間とオペレーティングシステム（OS）空間のを使うことでドライバソフトウェアの内部に RPC 機両方にこのランタイムエンジンを備えることで、多様構を設けることが可能になり、追加のソフトウェアラなアプリケーションからの GPGPU 技術の利用を可能

イブラリが必要ないことから、GPGPU プログラムがにしている。Gdev は筆者の成果のひとつでもあり、利用するプログラミングインタフェースは変わらない

GPGPU ドライバソフトウェアとしては世界で唯一ので済む。つまり、既存の GPGPU プログラムがそのまオープンソースソフトウェアである。

ま動くことになる。

通常の GPGPU ドライバソフトウェアは、ソースコ

これは非常に画期的な仕組みである。実際のクライードが公開されていないため、RPC を構築しようとす

アント端末に GPU が搭載していなくても、クラウドると、GPGPU ドライバソフトウェアとは別のソフト

環境に GPU を搭載した RPC サーバシステムを用意す

ウェアライブラリ層が必要になり、クライアント端末

れば、GPGPU プログラムがクライアント端末で通常側で既存の GPGPU プログラムを使う場合は、プログどおりに動作するということになる。
図 2 に、本研究で改良した Gdev の構造を示す。

ラムに修正が必要となる。一方、本研究では、Gdev

図１

オープンソースの GPGPU ドライバソフトウェア「Gdev」

図２

本研究成果を用いた自動運転システム構築の例

2

TELECOM FRONTIER No.97 2017 AUTUMNGPGPU 技術による高性能クラウドコンピューティング
High-performance cloud computing with GPGPU technology

従来の Gdev では、ユーザ空間のランタイムエンジン自動運転システムを構築できるようになるかもしれなやライブラリから OS 空間内のランタイムにコマンドい。今後は、こういった本研究成果の応用を探っていく。

を送信していた。一方、本研究で改良した Gdev では、ユーザ空間のランタイムエンジンやライブラリが一度インターネットを介した RPC を行い、リモートにあるサーバシステムのランタイムエンジンやライブラリにコマンドを通知し、そのサーバシステム上の GPUにそのコマンドを送るようにした。
この構造により、呼び出し元のアプリケーションからは、あたかも GPU がクライアント端末にあるかのように見える。すなわち、クライアント端末に GPUが搭載されていなくても、インターネットを介してリモートのサーバシステム上にある GPU を利用できる
図３

ようになる。
実際に本研究成果を既製品であるスマートフォンに本研究成果を用いた自動運転システム構築の例導入し、いくつかのベンチマーク評価を取ってみたと
ころ、GPU を使わないでスマートフォン単体で動作させる場合に比べて、本研究成果を導入し、クラウド環境にある GPU に RPC で遠隔利用した時の方が 2～10 倍ほどの高速化を達成できた。LTE や WiFi による通信遅延を加味したうえでの 2～10 倍という高速化であるため、本研究成果の有効性は高いと考えらえる。
４．今後の展望
技術的な面では、本研究では、複数のクライアント端末が同時に RPC 接続するようなシナリオを想定していないため、サーバシステム側のタイムシェアリン
グ、マルチタスキング対応が急務となる。応用的な面でみれば、自動運転などは非常に興味深いアプリケーションである。
現在、研究開発段階にある多くの自動運転システム
では、GPU を搭載した車載コンピュータを想定しているが、これは消費電力の観点から、必ずしもデプロイできるとは限らない。それに対して、本研究成果を利用すれば、車載コンピュータ側には GPU が必要なくなるので、自動運転の普及形態によっては、本研究成果を有効活用できると考えられる。例えば、図 3 に示す通り、自動車側にはカメラとレーザーといった基この研究は、平成２５年度ＳＣＡＴ研究助成の対象と本的なセンサーのみを搭載させ、計算環境はクラウドして採用され、平成２６～２７年度に実施されたもの側に配置することによって、低消費電力かつ高性能なです。
3TELECOM FRONTIER No.97 2017 AUTUMN