研究課題/領域番号 |
19K11893
|
研究種目 |
基盤研究(C)
|
配分区分 | 基金 |
応募区分 | 一般 |
審査区分 |
小区分60050:ソフトウェア関連
|
研究機関 | 新潟大学 (2021-2022) 東北大学 (2019-2020) |
研究代表者 |
上野 雄大 新潟大学, 自然科学系, 准教授 (60551554)
|
研究期間 (年度) |
2019-04-01 – 2024-03-31
|
研究課題ステータス |
交付 (2022年度)
|
配分額 *注記 |
4,290千円 (直接経費: 3,300千円、間接経費: 990千円)
2022年度: 650千円 (直接経費: 500千円、間接経費: 150千円)
2021年度: 910千円 (直接経費: 700千円、間接経費: 210千円)
2020年度: 650千円 (直接経費: 500千円、間接経費: 150千円)
2019年度: 2,080千円 (直接経費: 1,600千円、間接経費: 480千円)
|
キーワード | SML# / 並列計算 / コンパイラ / 関数型言語 / ガベージコレクション / プログラミング言語 |
研究開始時の研究の概要 |
関数型言語は並行・並列処理の記述に向いていると言われており,並行・並列計算モデルや自動並列化に関する研究が関数型言語を基盤として古くから行われている一方,今日広く普及しているマルチコアCPUを用いて並列計算の理論性能を引き出すことができる関数型言語処理系はいまだ現れていない.この原因のひとつは,関数型言語の意味論が想定する実行モデルと現実の並列計算機上での実行方式の間に,十分に解決されていない技術的課題が残っていることにある.本研究では,関数型言語の理論およびコンパイラの実装の両面からこの課題に取り組み,マルチコアCPUの性能を引き出すチューニングが可能な関数型言語処理系を実現する.
|
研究実績の概要 |
本研究の一般的な目的は,C言語やFORTRANに匹敵する並列計算性能を安定して発揮できる関数型言語処理系を実現することである.この実現に向けて,本研究では,主に関数型言語のコードが行うメモリの使い方に着目し,(1)暗黙的なメモリ操作や大域的同期を含まないコードを生成するコンパイル方式の開発,および(2)関数型言語の高いメモリ要求に耐える性能を発揮する並行・並列メモリ管理方式の構築を目指した研究を実施している. 本年度は,研究代表者の所属機関異動に伴う本研究以外のエフォートの急激な増大に伴い,本研究を推進する時間を確保できなかったため,目的とする研究項目に対する研究活動を推進することができなかったことが悔やまれる.その一方で,当初の研究期間では最終年度に当たる本年度は,本研究の成果の公表に取り組み,本研究で開発した並行並列ガベージコレクションアルゴリズムに関する論文が国際会議(ISMM)に採択され,さらに国際会議(MoreVMs)における招待講演において本研究の成果を含む発表を行った.結果として,本研究が掲げた2つの目的のうちの1つが,実装の完成と成果の公表の両面において完了したと言える. もうひとつの研究項目である,暗黙的なメモリ操作や大域的同期を含まないコード生成方式の設計およびSML#コンパイラの研究開発については,本研究の研究機関を一年延長した上で,当初は本年度に計画していた内容を次年度に取り組む予定である.
|
現在までの達成度 (区分) |
現在までの達成度 (区分)
2: おおむね順調に進展している
理由
本研究が掲げた2つの研究項目のうちの1つである並行並列ガベージコレクションアルゴリズムについて,実装としての完成と国際会議論文としての公表が共に完了したことが,本年度の主要な進捗である.もう1つの研究項目である暗黙的なメモリ操作を含まないコード生成方式については,研究代表者の異動に伴う多忙のため,本年度での進展がほとんど得られなかったものの,当初に予定していた本項目に関する研究活動は,本研究の期間を1年延長した上で,次年度に持ち越す見込みである.この持ち越される項目を除けば,2つの研究項目のうち1つを完了することができたという点において,本研究はおおむね順調に推移していると言える.
|
今後の研究の推進方策 |
暗黙的なメモリ操作や大域的同期を含まないコード生成方式の完成を目指す.ソース言語および中間言語の設計,生成が期待されるコードの定性的評価などを通じた基礎固めを継続し,方式を完成させた後,SML#コンパイラに実装し,従前のSML#コンパイラのコンパイル方式とのベンチマークによる比較を行う.並行して,並行並列ガベージコレクションアルゴリズムが達成したマルチスレッド機能を活用した種々の応用研究の可能性を模索するとともに,実用コンパイラを構築する基礎技術としてのプログラム最適化技術や言語設計の研究を継続し,SML#コンパイラの研究開発を行い,本研究成果の幅広い分野への普及を目指す.
|