宇都宮大学 大学院地域創生科学研究科 工農総合科学専攻 横田・大津研究室

PearLab, Utsunomiya Univ.

Japanese/ English

Android端末による無線接続型クラスタ計算機システム

Androidとは

近年、スマートフォンやタブレット端末といった携帯端末が広く普及しています。右のグラフが示すように、Android OSは全体の70パーセント以上と圧倒的なシェアを誇っています。
また、Androidは仕様が公開されているオープンソースであり、無償で提供されています。そのため誰でもソースコードの入手が可能であり、ある程度の知識があれば簡単に独自機能の追加ができるのです。iphoneなどに搭載されているiOSよりも、アプリケーションを作りやすい・利用しやすい環境が整っているのです。

Android Cluster

最近ではマルチコアプロセッサを搭載したAndroid OS製品が登場し、パソコンのように、とまではいきませんが非常に高度な処理を行わせることが可能になりました。
Android鋼プロジェクトでは、Android Clusterによる高性能なシステムについて研究しています。複数のAndroid端末を相互接続し協力して処理を行い、さながらスーパーコンピュータのように、本来であれば困難な処理を可能にします。
携帯端末には通常Wi-FiやBluetoothなどの無線通信機能が備わっています。これを利用し、近くの端末を自動的に識別して協力して処理を行います。無線接続のため、端末同士をケーブルで繋ぐ必要はありません。

本システムの大きな利点として、

  • root化などの一般的では無い複雑な設定をせずとも、クラスタ計算機のシステムを構築することができること
  • 特殊な設備が無くてもシステムを構築できること

が挙げられます。
利用例としては、インフラ設備が整っていない状況下での運用が挙げられます。例えば、地震が発生すると、故障や停電などが原因で平時に利用してい るサーバが利用不可能になるかもしれません。そのような状況であっても、Android端末を持ち寄りAndroid Clusterを構築することで、本来のシステムが復旧するまでの代替装置として利用することが可能となります。

複数のAndroid端末間での並列処理環境の構築

Android端末を用いてクラスタ計算機システムを構築するには、無線通信で接続された複数のAndroid端末間での並列実行環境を構築する必要があります。そのような環境を構築するうえで具体的に必要なものとして、

  • Android OS上で動作する並列処理環境
  • 無線通信を介した並列プロセスの受け渡し方法

が挙げられます。
まずAndroid OS上で動作する並列処理ですが、こちらには「Message Passing Interface (MPI)」と呼ばれるものを用います。MPIとは、並列コンピューティングを利用するための標準化された規格です。MPIを利用することでネットワークで繋がれた複数の計算機上での並列処理が可能になります。これをAndroid OS上で動作させることで、Android端末上での並列処理が可能となります。しかし、ただAndroid端末上でMPIを動作させるようにしただけではネットワークで繋がれた複数のAndroid端末上での並列処理はできません。そこで必要となるのが2つめの無線通信を介した並列プロセスの受け渡し方法です。

本システムでは並列処理を行うためのデータや並列プロセスのやり取りが無線通信を介して行われます。ある端末で並列プロセスが起動すると、並列処理を行う他の端末へと無線通信を介して並列プロセスが受け渡されます。このような手法を開発することで、初めて無線接続型のクラスタ計算機システムが実現できます。