研究紹介 Introduction


学部生にもできる最先端人工知能研究

人工知能関連の技術は秒進分歩,驚くべき速度で進化しています.本研究室では,学部生もそのような最新の技術利用した研究を行っています.

右の図これまで学部生が実施した卒業課題の成果の一部です.


並列計算機用高速通信シミュレータ Message Flow Simulator の開発

超並列計算機の効率よい設計やその性能を最大限活用するためのノード間通信手法の開発を支援します.

超並列計算機は多数の計算ノードを相互結合網(ネットワーク)で接続したものです.最新の超並列計算機は数十万の計算ノードが複雑な相互結合網で結合された構造をしています.複雑化する超並列計算機を効率良く設計するため,また,製造された超並列計算機の性能を100%活用するためには,計算ノード間の通信を最適化する必要があります.通信の最適化に欠かせないのが通信シミュレータです.

従来のシミュレータは現実の並列計算機をより 忠実に再現することを第1の目的としているため,非常に精度が 高い反面,シミュレーションの実行には長い時間と個人で買えな いような大規模なコンピュータが必要です.このようなシミュレー タは自分が開発した仕組みを少し試してみたい時などにはとても 不便です.この問題を解決するため,石畑研究室では超並列計算機向け通信シミュレータ Message Flow Simulator (MFS) を開発しました.従来のシミュレーションはデータを粒に例え,これを1粒づつ再現していました.MFS はデータの通信を水のような流体の流れ(Flow)として扱います.これにより,MFS はシミュレーションの精密さを選択的に低下させる一方で,家庭用パソコン程度の性能のコンピュータを使って,従来のシミュレータの数十分の1の実行時間で超並列計算機のシミュレーションを実行できます.

右の図は並列計算機上で信号処理等を行う場合によく発生する通信のシミュレーションを MFS で実行したものです.


超並列計算機向け全対全通信アルゴリズムの研究

MeshやTorusトポロジの通信ネットワークを持つ超並列計算機上での効率よい全対全通信アルゴリズムを開発します.

全対全通信とは,全てのノードが他の全てのノードに対して,それぞれ異なった内容のメッセージを送信する通信パターンです.行列の転置,FFT など多くのアプリケーションで頻繁に使用されます.全対全通信は,通信ネットワークへの通信負荷が高いので,ネットワークの持つバンド幅を最大限に引き出す通信アルゴリズムの実現が重要となります.

石畑研究室では,2 次元の Mesh および Torus ネットワークにおいて,複数のメッセージを同時送信可能な通信 コントローラをもつシステム向けに,全対全通信を最適に実行す るアルゴリズム A2AT (All-to-all for Torus) を開発しました.既存のアルゴリズムを使用した場合に比べて通信時間を短縮する事が可能です.

従来のアルゴリズムでは,同一方向への通信が連続するため,その方向の通信路がネックとなって全体のバンド幅を有効に利用できない状況が起きていました.A2AT では,ノードに接続された通信路のバンド幅を最大限利用することを考え,図の様に,1 つのノードから行われる通信を同一方向に連続しないよう,通信をスケジューリングします.


超並列計算機用通信アルゴリズム可視化の研究

高性能の通信アルゴリズムを開発のために通信アルゴリズムの振る舞いを可視化するツールを開発します.

超並列計算機を有効に利用する上で高性能な 通信アルゴリズムは欠かせません.石畑研究室では,アルゴリ ズムの振る舞いを種々の方法で可視化し,高性能のアルゴリズム開発を効率化しようとしています.

右の映像は,上に述べたA2ATアルゴリズム(上)と従来のアルゴリズム(下)による全対全通信を17x17構成の2次元メッシュネットワーク上で実行した時のネットワーク上の様子を可視化したものです.各リンクの使用率が青(0%)〜緑(100%)で表示されています.青〜赤方向の色づけは,そのリンクの待ち時間の割合を示しています.つまり,赤色のリンクは,データの中継点のバッファが不足しているため,データを送りたいのだけれどバッファが空くまで待っていたため,リンクの使用率が0%であることを示しています.


修士研究 Master Projects

QR コード使用した PC 向けの認証システム

本研究では,中国の地方の小中学校で情報処理関連の教育を行う教員のための PC ログインシステムを開発した.本システムでは,この研究は,教員が持っているスマートフォンを使用して,入力されたパスワードから暗号化された長いパスワードを生成し,QR コードに変換する.生成された QR コードを PC 付属のカメラから入力し,読み取ったデータを使用して認証するものである.本研究で提案したシステムを使用することにより情報処理を教える教員の負荷を下げることが期待できる.

大規模並列計算機の動作結果可視化ツールの開発

現在,大規模並列計算機は多次元のMeshやTorusを用いて構築されている.これらのネットワークトポロジは,直径が大きいため,同時に多数の通信を行うとネットワーク中で輻輳が発生しやすい.そのためAlltoAllなどの通信量の多い通信パターンを実現する通信ライブラリは,リンクを均等に使用するようなネットワークトポロジを意識した通信アルゴリズムを考案する必要がある.通信アルゴリズムの開発では,動作ログを使用してトポロジ上でのふるまいを確認したり,問題があった場合はその原因を解析する.従来の解析は,通信ネットワークは理想的なものとして,ノード間通信の情報を確認するだけでも充分であった.しかしトポロジを意識した通信アルゴリズムの評価と解析には,ノード側のイベント情報とネットワーク側の統計情報の両方を確認する必要がある.本研究では,ネットワークトポロジを意識した通信アルゴリズムの開発,解析,評価を助けるツールとして,通信ログの可視化ツールを開発した.本可視化ツールは,ノード側のイベント情報やネットワーク側の統計情報を対比させた解析を行うことが可能である.

並列計算機用通信アルゴリズムの可視化ツールの設計

高い処理性能が求められる分野では,多数の計算機を接続し演算を行う並列計算機が用いられる.近年では処理性能の向上に伴いシステムの大規模化が進んでいる.大規模な並列計算機ではネットワークトポロジにMeshやTorus型が採用される.これらのトポロジはノード間通信の際に輻輳が発生しやすい問題点がある.輻輳が発生すると通信待ち時間が伸びシステム全体の性能低下に繋がる.アルゴリズム開発を効率化するには,ネットワーク中の輻輳状況を直観的に観測可能な可視化ツールが必要である.本研究では3次元表示したネットワークトポロジ上にリンクの使用率や輻輳の状況を関連付けて表示する手法を提案する.輻輳発生箇所を直観的に特定可能にし,輻輳発生の原因特定に必要な情報を表示することでアルゴリズム設計者の負担を軽減させ通信アルゴリズムの設計に役立てる.

GPU処理による拡張現実感の高速化

カメラから得られた画像情報に,コンピュータ内部の情報(仮想オブジェクト)を合成してディスプレイに出力する,拡張現実感(AR)という技術がある. Parallel Tracking and Mapping(PTAM) は,拡張現実感を行うソフトで必須であった,マーカーという目印を必要としないために注目されている.一方で,マーカーを使った場合よりも動作速度が低下することが問題になっている.最近のCPUは,マルチコア化が進んでいる.グラフィックスプロセッサ(GPU)も, CPU以上にコア数を増やし,計算速度を上げている. PTAMの動作速度を向上させる方法として,これらの複数コアを利用する方法が考えられる.本研究では, PTAMの実行に,最も時間のかかる部分をGPUの複数のコアを使用して並列処理をすることにより高速化する.

大規模並列計算機向け通信アルゴリズム開発環境の構築

ネットワークへの通信負荷が高い通信パターンとして全対全通信がある.全対全通信とは,全てのノードが他の全てのノードに対して,それぞれ異なった内容のメッセージを送信する通信パターンである.この通信パターンは,行列の転置,FFTをはじめとする多くのアプリケーションで頻繁に使用される.近年の大規模並列計算機は,ノード数の増加に伴い,Mesh・Torusなどのネットワークトポロジが用いられる事が多くなってきた.このようなネットワークを持つシステムでは,ネットワークのバンド幅を最大限に引き出す通信アルゴリズムの実現が重要となる.本研究では,2次元のMesh・Torusネットワークにおいて,複数のメッセージを同時送信可能な通信コントローラをもつシステム向けに,全対全通信を最適に実行するアルゴリズムA2ATを提案・評価する.A2ATでは,従来方式のように各ノードが通信Phase毎に同期をとる必要はない.各ノードの各Phaseでの通信は,負荷バランスが均一となるようにスケジューリングを行っており,個々のノードは複数のメッセージを並行して送信するだけでよい.

大規模並列計算機上での最適全対全通信アルゴリズムの研究

並列計算機ではアプリケーションはノード間通信を繰り返しながら処理を進める.通信の競合などでノード間通信が遅延するとシステムの実効性能が低下するため,通信競合の発生を抑える通信アルゴリズムが必要である.通信アルゴリズムの評価はシミュレーションや実機での測定で行われる.現在はフリットやパケットレベルでハードウェアの挙動を模倣するシミュレータが使用されている.高精度だが処理負荷が大きいため,長い時間と計算資源が必要である.大規模システム上での通信シミュレーションを高速に行う方法が求められる.通信アルゴリズムの分析に使用されているツールは,元はハードウェアのシミュレーションを目的に作られたものである.通信アルゴリズムの分析が目的の場合には,それに向いた表示方法が必要である.効率的に通信アルゴリズムを開発するためには各手順にかかる時間を減らし,本質的なアルゴリズムの分析・修正作業に取り組める環境が必要である.本研究では大規模並列計算機向けの通信アルゴリズムを効率的に開発できる環境を提案し,それの構成要素の開発を行う.提案環境は高速なネットワークシミュレータと,通信アルゴリズムの分析を効率的に行える支援ツール,メッセージファイルを生成するツールを持ち,これらツールを連携して動作させる.