マルチコア並列計算に対応した関数型言語処理系の実現
Project/Area Number |
19K11893
|
Research Category |
Grant-in-Aid for Scientific Research (C)
|
Allocation Type | Multi-year Fund |
Section | 一般 |
Review Section |
Basic Section 60050:Software-related
|
Research Institution | Niigata University (2021-2023) Tohoku University (2019-2020) |
Principal Investigator |
上野 雄大 新潟大学, 自然科学系, 准教授 (60551554)
|
Project Period (FY) |
2019-04-01 – 2024-03-31
|
Project Status |
Completed (Fiscal Year 2023)
|
Budget Amount *help |
¥4,290,000 (Direct Cost: ¥3,300,000、Indirect Cost: ¥990,000)
Fiscal Year 2022: ¥650,000 (Direct Cost: ¥500,000、Indirect Cost: ¥150,000)
Fiscal Year 2021: ¥910,000 (Direct Cost: ¥700,000、Indirect Cost: ¥210,000)
Fiscal Year 2020: ¥650,000 (Direct Cost: ¥500,000、Indirect Cost: ¥150,000)
Fiscal Year 2019: ¥2,080,000 (Direct Cost: ¥1,600,000、Indirect Cost: ¥480,000)
|
Keywords | SML# / 並列計算 / コンパイラ / 関数型言語 / ガベージコレクション / プログラミング言語 |
Outline of Research at the Start |
関数型言語は並行・並列処理の記述に向いていると言われており,並行・並列計算モデルや自動並列化に関する研究が関数型言語を基盤として古くから行われている一方,今日広く普及しているマルチコアCPUを用いて並列計算の理論性能を引き出すことができる関数型言語処理系はいまだ現れていない.この原因のひとつは,関数型言語の意味論が想定する実行モデルと現実の並列計算機上での実行方式の間に,十分に解決されていない技術的課題が残っていることにある.本研究では,関数型言語の理論およびコンパイラの実装の両面からこの課題に取り組み,マルチコアCPUの性能を引き出すチューニングが可能な関数型言語処理系を実現する.
|
Outline of Annual Research Achievements |
本研究の一般的な目的は,C言語やFORTRANに匹敵する並列計算性能を安定して発揮できる関数型言語処理系を実現することである.そのために本研究では,主に関数型言語のコードが行うメモリの使い方に着目し,暗黙的なメモリ操作や大域的同期を含まないコードを生成するコンパイル方式の構築,および関数型言語の高いメモリ要求に耐える性能を発揮する並行・並列メモリ管理方式の確立を目指した研究を実施した. 最終年度は,本研究成果を含む情報公開のためのWebサイトを制作する過程において,従来とは異なるWebサイト構築方法の着想を得たため,それに基づく新たな静的サイトジェネレータMinissgを開発し,ソフトウェアとして公表するとともに,この開発成果について口頭発表を行った.本発表は第40回日本ソフトウェア科学会大会優秀発表賞を受賞した. 研究期間全体を通じて,本研究では,関数型言語が高い並列計算性能を発揮するためのボトルネックとなる自動的なメモリ管理に関して,投入されたコア数と同じ並列度でかつ世界を止めずにガベージコレクション(GC)を行う並行・並列GCアルゴリズムを開発し,その正しさを形式モデルを通じて証明したとともに,その最適化された実装をSML#コンパイラに搭載し全世界に無償で公開した.また,本研究の学術的研究成果は1本の国際会議論文および1回の国際会議招待講演として公表することができた.もうひとつの課題であった暗黙的メモリ操作や大域的同期を含まないコードを生成するコンパイル方式については,残念ながら研究期間中での実装には至らなかったものの,その研究にメモリやレジスタの使い方が明らかな操作的意味論が必要であることが判明し,その構成や今後の展開に関する着想を得ることができた.この着想は,関数型言語のためのGCに代わる新たなメモリ管理の研究と統合して,研究期間後も引き続き展開・推進する予定である.
|
Report
(5 results)
Research Products
(16 results)