研究実績の概要 |
本研究では,メニーコアと大容量主記憶持つ計算機をターゲットとしたヒビッグデータ処理の高速処理手法の研究開発を行った。有用なビッグでータ処理の多くが,並列性を引き出しやすい 性質をもつ代数的構造(モノイド)と見なせることを利用し,データの分割と並列処理を行い,中間処理結果を,新開発したロック不要並列マージ処理を行うことによって結果を得られるようにした。 提案方式の詳細化と共に実装を進めた。実装言語としてScala言語を用い,Scala言語が提供するfuture,並列データ構造等のマルチスレッド並列化支援を機能を駆使して実装した。メニーコア計算機は,マルチコア計算ノードの集合体である。マルチコア計算ノード内はマルチスレッド内の提案並列計算を行い,マルチコアの計算結果を集めて結果をマージするために,高性能key-value storeであるRedisシステムを用いて情報集約を行うこととした。ビッグデータのデータとしてWikipediaの全英語データ(約38GB)を用いた。実装と実機を用いた実験によって,マルチコア環境,および,メニーコア環境の双方で,高速なビッグデータ並列処理を行えることを確認した。 ここで得られた研究成果により,クラスタ計算環境に比べてシステム構築・保守を圧倒的に楽に行えるメニーコア計算機において,ソフトウェアの生産性高く,ビッグデータ処理できる基礎技術を作った。実験による評価の過程で,負荷分散をさらに的確に行うことによって,更なる並列性の向上,同期制御の削除,およびメモリコピー回数の削減を行える可能性があることを見出した。
|