研究課題/領域番号 |
19K11893
|
研究種目 |
基盤研究(C)
|
配分区分 | 基金 |
応募区分 | 一般 |
審査区分 |
小区分60050:ソフトウェア関連
|
研究機関 | 新潟大学 (2021-2023) 東北大学 (2019-2020) |
研究代表者 |
上野 雄大 新潟大学, 自然科学系, 准教授 (60551554)
|
研究期間 (年度) |
2019-04-01 – 2024-03-31
|
研究課題ステータス |
完了 (2023年度)
|
配分額 *注記 |
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に匹敵する並列計算性能を安定して発揮できる関数型言語処理系を実現することを目指して研究を行い、以下2点の主要な成果を得た。 (1)投入されたCPUコア数と同じ並列度を持つ自動的メモリ管理アルゴリズムを開発した。また、その正しさを形式モデルを通じて証明した。 (2)そのアルゴリズムの最適化された実装をSML#コンパイラに搭載し、全世界に無償で公開した。研究代表者の知る限り、SML#は、実用的なフルスケールのStandard ML処理系の中では、世界で初めてマルチコアCPUの理論上の並列計算性能を引き出すことに成功したコンパイラである。
|
研究成果の学術的意義や社会的意義 |
本研究成果の学術的な意義は, 自動的メモリ管理方式の改善により、今日広く普及しているマルチコアCPUを用いて高性能な並列計算を行うことができる、フルスケールの関数型言語コンパイラを実現できたことにある。関数型言語は並行・並列処理の記述に向いていると言われており、並行・並列計算モデルや自動並列化に関する研究が古くから行われている一方で、理論上の並列計算性能を実現することができる関数型言語処理系は、いくつかの実証実験的な処理系を除いて、これまで存在しなかった。本研究成果により、高性能な並列計算が可能な関数型言語処理系が日本発で全世界に無償で提供されたことの社会的意義は大きい。
|