研究課題/領域番号 |
18K02916
|
研究機関 | 大阪工業大学 |
研究代表者 |
水谷 泰治 大阪工業大学, 情報科学部, 准教授 (10411414)
|
研究期間 (年度) |
2018-04-01 – 2022-03-31
|
キーワード | 並列プログラミング / プログラミング教育 / マルチスレッド |
研究実績の概要 |
本研究は視覚効果を体感できる図形アニメーションに着目し,並列プログラミングの学習意欲を高く維持できる学習環境と学習教材を構築することを目的としている. 令和元年度は,Processing言語を用いた並列描画処理のフレームワークの開発に取り組んだ.Processing言語はJavaをベースとしているため,Javaのクラスを定義できる.そこで,並列処理のための基盤となるクラスを予め定義しておき,並列処理を行いたいユーザにそのクラスを継承させ,並列処理を行いたい処理を書かせる方式としたフレームワークを開発した.基盤となるクラスでは,マルチスレッド処理や各スレッドが描画した画像の統合などを行い,ユーザからは隠蔽されている. また,開発したフレームワークを用いて,プランクトンの生態をシミュレートする並列プログラムを実装した.その結果,本フレームワークを用いてProcessing言語上で並列プログラムを記述および実行が可能であることがわかった.一方,この並列プログラムをスレッド数1,2,4,8で実行したところ,スレッド数2の実行時間がスレッド数1のものよりもわずかに高速であり,スレッド数4,8の場合はスレッド数1のものよりも遅いことがわかった.これは画像の合成に時間がかかっているためであった.画像の結合は,平成30年度に開発した,Processingで使用できるblend関数を利用した方法から,合成方法を自作したものに変更し,blend関数を用いたものよりも高速にはなったものの,未だ高速ではないことがわかった.以上の研究成は2020年2月に開催された学会(教育システム情報学会)において発表した.
|
現在までの達成度 (区分) |
現在までの達成度 (区分)
3: やや遅れている
理由
令和元年度の取り組みにより,Processing言語上で並列処理に関する複雑な操作を隠蔽し,並列処理したい本質部分を記述させることで並列処理が可能となるフレームワークを実現した.しかし,そのフレームワークを用いて記述した並列プログラムの性能はまだ高いとは言えない.また,当初の計画では令和元年度に実施する予定であった並列プログラミングの実行状況の可視化とステップ実行の機能の開発については,現在のところほとんど進めることができていない.そのため,現状では予定通りに研究が進んでいるとはいえない状況である.
|
今後の研究の推進方策 |
令和元年度の取り組みで解決できなかった,Processing言語における画像合成の高速化に取り組み,並列プログラミングのフレームワークの有用性を高める.また,当初の計画に従い,Processing言語による並列プログラミングをPCクラスタ上で可能とする手法の検討,およびProcessing言語による並列プログラミング環境を用いた学習教材の開発にも着手する.
|
次年度使用額が生じた理由 |
購入したPC類が当初の想定額よりも安価に購入できたことと,新型コロナウィルスの影響により聴講を予定していた学会がオンライン開催されたことで旅費が発生しなかったことなどにより,次年度使用額が生じた.これらについては,次年度の学会参加費や研究設備の拡充に割り当てる予定である.
|