研究課題/領域番号 |
22K11984
|
研究種目 |
基盤研究(C)
|
配分区分 | 基金 |
応募区分 | 一般 |
審査区分 |
小区分60050:ソフトウェア関連
|
研究機関 | 京都橘大学 |
研究代表者 |
平石 拓 京都橘大学, 工学部, 専任講師 (60528222)
|
研究期間 (年度) |
2022-04-01 – 2026-03-31
|
研究課題ステータス |
交付 (2022年度)
|
配分額 *注記 |
4,030千円 (直接経費: 3,100千円、間接経費: 930千円)
2025年度: 910千円 (直接経費: 700千円、間接経費: 210千円)
2024年度: 910千円 (直接経費: 700千円、間接経費: 210千円)
2023年度: 910千円 (直接経費: 700千円、間接経費: 210千円)
2022年度: 1,300千円 (直接経費: 1,000千円、間接経費: 300千円)
|
キーワード | プログラミング言語 / 並列・分散処理 / 高性能計算 |
研究開始時の研究の概要 |
我々はこれまで,グラフ探索など不規則な構造を持つデータや計算を扱うアプリケーションを,スパコン等で効率良く並列化するためのプログラミング言語の開発に取り組んでいる.その成果として後戻り方式と呼ぶ独自の並列計算機構を提案し,それを取り入れて開発した並列言語は非常に優れた性能を実現している.しかし,この言語はCやFORTRAN言語等で開発された既存のプログラムを移植して用いたり,他の既存のプログラムの一部に組み込む形で使うのは非常に難しくなっている.この研究は,後戻り方式の並列計算機構の実装方式を改めることで,この機構をC言語ライブラリ等のより使いやすい形で提供することを主な目的とする.
|
研究実績の概要 |
これまで入れ子関数を用いたコードを変換先とするコード変換器としてして提供してきた「一時後戻りによる動的負荷分散」機能を,コード変換によらない方法で実装することに成功した.具体的には,簡単なテストプログラムにおいて,一時的バックトラックに必要な情報を,プログラマが明示的にヒープ領域に確保したスタックに保存するようにすることで従来のTascellと同等の振舞いをする並列プログラムが実現できることを実験的に確かめた.書かれたコードは従来のTascellコードよりも多少複雑であるものの,性能面ではほぼ同等であることが確認できた. また,Tascellの入れ子関数によらない他の実現方式として,C++の機能を利用した実現方法の検討・実装・予備評価を学外の研究者との共同研究により実施した. 加えて,Tascellの応用に関する研究として,階層型行列(密行列の近似圧縮表現)の生成処理のTascellによる実装および性能評価を行った.具体的には,従来は階層型行列の一部(区分け処理/フィル処理の段階により実現される生成処理のうち区分け処理のみ)までしかTascellでは実装されていなかったところ,フィル処理の実装も行うことで,生成処理全体のTascellによる実装を完成させた.九州大学のスーパーコンピュータITO上での性能評価により,動的負荷分散の効果により,従来の実装より優れた性能を実現できることが確認できた.この成果は査読つきの国際ワークショップで発表した.また,他の応用であるグラフマイニングに関する応用についても,そのアルゴリズムの改良に向けた研究の発表を国際会議のポスター発表として行った.
|
現在までの達成度 (区分) |
現在までの達成度 (区分)
2: おおむね順調に進展している
理由
研究の第一段階としていた「Tascellが提供する一時的後戻りに基づく動的負荷分散機構が,後戻りおよび後戻り後の状態復元に必要な処理をヒープ上で保存・管理することで,全てのTascell関数に入れ子関数を追加するという従来のコード変換方式によることなく実現可能であることを実証」することは達成されており,現時点でおおむね順調に進展しているといえる.
|
今後の研究の推進方策 |
現段階では,新たな動的負荷分散の実装方式を利用するためには,プログラマに多大なコーディングの労力を強いてしまうため,適切なライブラリやマクロを提供することで,実用的なプログラミング環境の実現を目指す(当初の計画通り).
|