Improving Performance and Versatility of Backtracking-Based Load Balancing by a New Implementation Model
Project/Area Number |
22K11984
|
Research Category |
Grant-in-Aid for Scientific Research (C)
|
Allocation Type | Multi-year Fund |
Section | 一般 |
Review Section |
Basic Section 60050:Software-related
|
Research Institution | Kyoto Tachibana University |
Principal Investigator |
平石 拓 京都橘大学, 工学部, 専任講師 (60528222)
|
Project Period (FY) |
2022-04-01 – 2026-03-31
|
Project Status |
Granted (Fiscal Year 2022)
|
Budget Amount *help |
¥4,030,000 (Direct Cost: ¥3,100,000、Indirect Cost: ¥930,000)
Fiscal Year 2025: ¥910,000 (Direct Cost: ¥700,000、Indirect Cost: ¥210,000)
Fiscal Year 2024: ¥910,000 (Direct Cost: ¥700,000、Indirect Cost: ¥210,000)
Fiscal Year 2023: ¥910,000 (Direct Cost: ¥700,000、Indirect Cost: ¥210,000)
Fiscal Year 2022: ¥1,300,000 (Direct Cost: ¥1,000,000、Indirect Cost: ¥300,000)
|
Keywords | プログラミング言語 / 並列・分散処理 / 高性能計算 |
Outline of Research at the Start |
我々はこれまで,グラフ探索など不規則な構造を持つデータや計算を扱うアプリケーションを,スパコン等で効率良く並列化するためのプログラミング言語の開発に取り組んでいる.その成果として後戻り方式と呼ぶ独自の並列計算機構を提案し,それを取り入れて開発した並列言語は非常に優れた性能を実現している.しかし,この言語はCやFORTRAN言語等で開発された既存のプログラムを移植して用いたり,他の既存のプログラムの一部に組み込む形で使うのは非常に難しくなっている.この研究は,後戻り方式の並列計算機構の実装方式を改めることで,この機構をC言語ライブラリ等のより使いやすい形で提供することを主な目的とする.
|
Outline of Annual Research Achievements |
これまで入れ子関数を用いたコードを変換先とするコード変換器としてして提供してきた「一時後戻りによる動的負荷分散」機能を,コード変換によらない方法で実装することに成功した.具体的には,簡単なテストプログラムにおいて,一時的バックトラックに必要な情報を,プログラマが明示的にヒープ領域に確保したスタックに保存するようにすることで従来のTascellと同等の振舞いをする並列プログラムが実現できることを実験的に確かめた.書かれたコードは従来のTascellコードよりも多少複雑であるものの,性能面ではほぼ同等であることが確認できた. また,Tascellの入れ子関数によらない他の実現方式として,C++の機能を利用した実現方法の検討・実装・予備評価を学外の研究者との共同研究により実施した. 加えて,Tascellの応用に関する研究として,階層型行列(密行列の近似圧縮表現)の生成処理のTascellによる実装および性能評価を行った.具体的には,従来は階層型行列の一部(区分け処理/フィル処理の段階により実現される生成処理のうち区分け処理のみ)までしかTascellでは実装されていなかったところ,フィル処理の実装も行うことで,生成処理全体のTascellによる実装を完成させた.九州大学のスーパーコンピュータITO上での性能評価により,動的負荷分散の効果により,従来の実装より優れた性能を実現できることが確認できた.この成果は査読つきの国際ワークショップで発表した.また,他の応用であるグラフマイニングに関する応用についても,そのアルゴリズムの改良に向けた研究の発表を国際会議のポスター発表として行った.
|
Current Status of Research Progress |
Current Status of Research Progress
2: Research has progressed on the whole more than it was originally planned.
Reason
研究の第一段階としていた「Tascellが提供する一時的後戻りに基づく動的負荷分散機構が,後戻りおよび後戻り後の状態復元に必要な処理をヒープ上で保存・管理することで,全てのTascell関数に入れ子関数を追加するという従来のコード変換方式によることなく実現可能であることを実証」することは達成されており,現時点でおおむね順調に進展しているといえる.
|
Strategy for Future Research Activity |
現段階では,新たな動的負荷分散の実装方式を利用するためには,プログラマに多大なコーディングの労力を強いてしまうため,適切なライブラリやマクロを提供することで,実用的なプログラミング環境の実現を目指す(当初の計画通り).
|
Report
(1 results)
Research Products
(8 results)