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 |
|
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 Final Research Achievements |
We conducted research on theory and implementation of a functional programming language that is capable to parallel computation on multicore processors similarly to C and FORTRAN. Major achievements includes the following: (1) We have developed a fully concurrent and parallel garbage collection (GC) algorithm that does not stop any thread. Its amount of parallelism is automatically increases when the number of threads increases. We proved the correctness of the algorithm through a formal model. (2) We have optimized and implemented the GC algorithm and equip the SML# compiler with it. The implementation is widely available on Internet as an open-source software. To the best of our knowledge, SML# is a world first practical full-scale Standard ML compiler that achieves full-scale parallel performance of multicore processors.
|
Academic Significance and Societal Importance of the Research Achievements |
本研究成果の学術的な意義は, 自動的メモリ管理方式の改善により、今日広く普及しているマルチコアCPUを用いて高性能な並列計算を行うことができる、フルスケールの関数型言語コンパイラを実現できたことにある。関数型言語は並行・並列処理の記述に向いていると言われており、並行・並列計算モデルや自動並列化に関する研究が古くから行われている一方で、理論上の並列計算性能を実現することができる関数型言語処理系は、いくつかの実証実験的な処理系を除いて、これまで存在しなかった。本研究成果により、高性能な並列計算が可能な関数型言語処理系が日本発で全世界に無償で提供されたことの社会的意義は大きい。
|