研究課題/領域番号 |
18K11233
|
研究機関 | 東北大学 |
研究代表者 |
大堀 淳 東北大学, 電気通信研究所, 名誉教授 (60252532)
|
研究分担者 |
上野 雄大 新潟大学, 自然科学系, 准教授 (60551554)
|
研究期間 (年度) |
2018-04-01 – 2023-03-31
|
キーワード | コンパイラ / 関数型言語 / 並列並行ゴミ集め(GC) / 超並列処理 / SML# |
研究実績の概要 |
本研究の目的は、マルチコアプロセッサにスケールする超並列技術を、研究代表者等によって開発された関数型言語SML#に統合し、大規模分散計算や超並列計算をサポートする関数型言語を実現することである。この実現のため、高水準言語処理系とOSライブラリとの直接連携による高水準超並列言語の実現と最適化等に関する研究を行い、その成果を統合した超並列SML#言語の実現を目指す。 最終年度である本年度は、本研究の目的である超並列技術を統合したML系関数型言語を実現する上で最大の挑戦的な技術課題であった並列・並行ゴミ集め(GC)方式とその実装技術に関する4年間に及ぶ研究を完成させ、その成果をメモリー管理に関する国際フォーラムISMM2022にて発表した。本方式を実装し拡張されたSML#言語の並列実行性能は、発表時点で、ML系関数型言語はもとより、ゴミ集め方式のメモリー管理を採用する種々の主要な言語を凌駕するものであることが示されている。本年度は、これに加え、主要な型判定をもつMLの型推論理論を構築した。この理論は、SML#を含むML系関数型言語全般の型推論に関する従来の未解決な問題を解明し、ML系言語の型推論に新たな知見を与えるものである。 本年度に完成を見た並行並列ゴミ集め方式を含む本課題の研究を通じて、従来ML系関数型言語においては困難であった細粒度スレッドのマルチコア上での効率よい並行実行方式を確立し、それらをOSレベルの軽量スレッドライブラリと連携する実装技術を確立した。さらに、これらの方式をフルスケールの関数型言語であるSML#に統合したコンパイラの実装を行い、100万を超える軽量スレッドの並列実行が可能な関数型言語の実現に成功した。その成果であるSML#コンパイラ4.00版はGitHubを通じてオープンソースソフトウェアとして提供され、世界の関数型言語コミュニティに貢献している。
|
備考 |
本研究成果である並列並行GC機能を取り入れて拡張されたML系多相型プログラミング言語コンパイラのページ
|