• Search Research Projects
  • Search Researchers
  • How to Use
  1. Back to project page

2014 Fiscal Year Research-status Report

GPGPUプログラミング容易化のためのMapReduceアルゴリズム処理系の開発

Research Project

Project/Area Number 26330088
Research InstitutionOsaka Prefecture University

Principal Investigator

藤本 典幸  大阪府立大学, 理学(系)研究科(研究院), 教授 (90294165)

Project Period (FY) 2014-04-01 – 2017-03-31
Keywords超高速情報処理 / 並列処理 / GPGPU / MapReduce
Outline of Annual Research Achievements

本研究の目的は,並列処理やGPGPUに関する知識が無い一般的なプログラマでもGPUの高性能を容易に利用可能とするために,逐次C言語で記述されたMapReduceプログラムを効率の良いGPGPUプログラムに自動変換するコンパイラを開発することである.この目的の達成のために,(1)逐次C言語によるMapReduceプログラム記述のためのAPIの設計,(2)(1)で設計したAPIを用いて記述されたMapReduceプログラムをそのまま逐次Cプログラムとして実行するためのライブラリの開発,(3) MapReduceプログラムをソースプログラムの修正無しにそのままマルチコアCPU上で並列実行するためのライブラリの開発,をまず行い,いくつかのアプリケーションを用いて評価実験を行いつつ,GPGPUに関するこれまでの研究経験を活かしてこれらを徐々に発展させる形で, (4)単一GPU用コンパイラの開発,(5)単一PC上の複数GPU用コンパイラの開発,(6)GPUクラスタ用コンパイラの開発,を行う.
そこで平成26年度は,まず,逐次C言語でMapReduceプログラムを記述するための簡潔で使いやすいMapReduce APIの設計を行った.さらに設計したAPIに基づいた逐次C言語用トランスレータ,OpenMP用トランスレータと単一GPU用トランスレータの試作を行った.

Current Status of Research Progress
Current Status of Research Progress

2: Research has progressed on the whole more than it was originally planned.

Reason

まず,逐次C言語でMapReduceプログラムを記述するための簡潔で使いやすいMapReduce APIの設計を行った.設計したAPIは下記の特徴を持つ:APIユーザはアプリケーション・プログラム全体を逐次C言語のみで記述する.複数ファイルに分けての分割コンパイルにも対応する;ユーザ定義のkey1型,key2型,key3型,value1型,value2型,value3型,map関数,reduce関数,およびcompare関数を記述するだけで簡単にMapReduce処理を定義できるようにする;(key1, value1)はmap関数の入力ペアの型であり,(key2, value2)はmap関数の出力ペア(=reduce関数の入力ペア)の型であり,(key3, value3)はreduce関数の出力ペアの型である;map関数とreduce関数は,アプリケーション・プログラムのmap処理とreduce処理を逐次C言語の関数として記述したものである.map処理とreduce処理の出力はそれぞれcwrite2関数とcwrite3関数を呼び出すことにより行う.cwrite2関数とcwrite3関数はAPIが用意するライブラリ関数である;compare関数は,mapフェーズの出力結果を各reduce処理にキー値毎に分類して渡すために内部でソートを行う(いわゆるshuffleフェーズ)ために,キーの値の大小関係を判定する方法を逐次C言語で記述したものである;アプリケーション・プログラムの中でmapフェーズ(+shuffleフェーズ)とreduceフェーズの実行をいつ行うかの指定は,それぞれMAP関数呼び出しとREDUCE関数呼び出しで行う.MAP関数とREDUCE関数はAPIが用意するライブラリ関数である.複数ラウンドのMapReduceアルゴリズムに対応するため,MAP関数呼び出しとREDUCE関数呼び出しは繰り返すことができる.
さらにユーザに見えない形で内部的にOpenMPを用いてマルチコアCPU上で並列動作するライブラリと,APIを用いて逐次C言語で記述されたMapReduceプログラムをCUDA C/C++で記述されたGPUプログラムに変換するトランスレータの第1版を開発した.

Strategy for Future Research Activity

まず,試作したAPIを用いて記述されたMapReduceアプリケーションプログラムを複数開発する.次に試作した第1版の単一GPU用トランスレータを開発したMapReduceアプリケーションを用いて評価し,その評価結果に基づいてトランスレータが生成するGPUプログラムの性能を向上するようにトランスレータおよびAPIを改善する.必要に応じて,評価実験とそれに基づく改善のプロセスを繰り返す.
さらにこれらの経験を活かして,複数GPU搭載の単一PC用トランスレータを開発する.そのために,まず,MapReduceの処理の対象となるkey-valueデータを複数のGPUのVRAMに分割して記憶するための分散KVS(Key Value Store)を開発する.次に開発した分散KVSに対応するようにMapReduce APIを拡張することにより,GPUクラスタを含む複数GPU対応コンパイラを開発する.

Causes of Carryover

他の予算により物品購入費が抑えられたため

Expenditure Plan for Carryover Budget

研究発表のための旅費の一部に充当する予定

  • Research Products

    (6 results)

All 2015 2014

All Journal Article (4 results) (of which Peer Reviewed: 4 results) Presentation (2 results)

  • [Journal Article] A GPU Implementation of a Bit-Parallel Algorithm for Computing the Longest Common Subsequence2014

    • Author(s)
      Katsuya Kawanami, Noriyuki Fujimoto
    • Journal Title

      情報処理学会論文誌, 数理モデル化と応用

      Volume: 7(2) Pages: 36-44

    • DOI

      10.2197/ipsjtrans.7.139

    • Peer Reviewed
  • [Journal Article] Parallelizing Solution Construction in ACO for GPUs2014

    • Author(s)
      Noriyuki Fujimoto, Shigeyoshi Tsutsui
    • Journal Title

      Lecture Notes in Computer Science

      Volume: 8667 Pages: 288-289

    • Peer Reviewed
  • [Journal Article] Multiple Precision Integer Multiplication on GPUs2014

    • Author(s)
      Koji Kitano, Noriyuki Fujimoto
    • Journal Title

      Proc. of International Conference on Parallel and Distributed Processing Techniques and Applications (PDPTA)

      Volume: 2 Pages: 236-242

    • Peer Reviewed
  • [Journal Article] First Results of Performance Comparisons on Many-core Processors in Solving QAP with ACO: Kepler GPU versus Xeon PHI2014

    • Author(s)
      Mikiko Sato, Shigeyoshi Tsutsui, Noriyuki Fujimoto, Yuji Sato, Mitaro Namiki
    • Journal Title

      Proc. of the Genetic and Evolutionary Computation Conference (GECCO)

      Volume: なし Pages: 1477-1478

    • DOI

      10.1145/2598394.2602274

    • Peer Reviewed
  • [Presentation] GPUによるナップサック問題に対する高速近似解法の試み2015

    • Author(s)
      浦部峻紀, 藤本典幸
    • Organizer
      電子情報通信学会2015総合大会
    • Place of Presentation
      立命館大学びわこ・くさつキャンパス(滋賀県草津市)
    • Year and Date
      2015-03-10 – 2015-03-13
  • [Presentation] ストリームクラスタリングアルゴリズムのGPUを用いた高速化2014

    • Author(s)
      奥田徹, 藤本典幸
    • Organizer
      情報処理学会第146回ハイパフォーマンスコンピューティング研究会
    • Place of Presentation
      沖縄産業支援センター(沖縄県那覇市)
    • Year and Date
      2014-10-02 – 2014-10-03

URL: 

Published: 2016-05-27  

Information User Guide FAQ News Terms of Use Attribution of KAKENHI

Powered by NII kakenhi