2011年5月10日火曜日

第2回助教の会




第二回目は数理第三研究室の江本健斗さんに「準同型に基づくスケルトン並列プログラミング」という題で話していただきました.今回からブログのタイトルが“数理助教「の」会”になりました.

プログラミングの研究とはそもそも,「正しくかつ効率的なプログラムを作る」ことをいろいろな意味で容易にさせることを目的としますが,江本さんはその中でも並列計算プログラミングを支援する枠組みを,データ構造の代数的な側面,特に「準同型」に注目して研究を進めています.逐次的な処理はプログラムが容易でも,時にそれを効率的に並列化させることは自明ではありません.そこで,並列化プログラミングを支援する構造の一つとして「スケルトン」という考え方があります.スケルトンとは並列計算の基本パタンのようなもので,スケルトンを組み合わせることで効率的な並列計算アルゴリズムの設計が容易になります.例えばGoogleのMapReduceが有名です.しかし,ある問題が与えられたときにそれにどうスケルトンを適用すれば良いかという統一的なルールや枠組みがあるわけではありません.江本さんの研究のアイディアは,データ構造を代数系とみなし,オペレータに備わっている準同型性を利用することで,構成的に並列化を実現するというところにあります.準同型性を利用することにより,バッチ処理を並列分散化させる過程があくまで代数的・機械的になされます.これより,対象となるデータ構造とそれに対する処理を書くだけで自動的に並列化させることが可能になります.江本さんはリストのような1次元のデータ構造だけでなく,二次元の代数系に対していかに準同型性を利用した並列化ができるかという研究もされているそうです.一連の研究は,C++のExpression Templateを利用し,SkeToというライブラリとして実装・公開されています.




0 件のコメント:

コメントを投稿