2022 Fiscal Year Final Research Report
Realizing massively parallel functional programming language by integrating parallel technologies into SML#, an ML-style functional language
Project/Area Number |
18K11233
|
Research Category |
Grant-in-Aid for Scientific Research (C)
|
Allocation Type | Multi-year Fund |
Section | 一般 |
Review Section |
Basic Section 60050:Software-related
|
Research Institution | Tohoku University |
Principal Investigator |
Ohori Atsushi 東北大学, 電気通信研究所, 名誉教授 (60252532)
|
Co-Investigator(Kenkyū-buntansha) |
上野 雄大 新潟大学, 自然科学系, 准教授 (60551554)
|
Project Period (FY) |
2018-04-01 – 2023-03-31
|
Keywords | 関数型プログラミング言語 / コンパイラ / SML# / 並行並列GC / マルチコアCPU / 軽量スレッド / 超並列技術 |
Outline of Final Research Achievements |
The major technical challenge in realizing a massively parallel functional language is to establish a parallel and concurrent garbage collection (GC) that supports a large number of light-weight system threads running on a multi-core CPU. Through this research, we have established novel parallel and concurrent garbage collection method and its implementation techniques, and have implemented the GC method in a full-scale ML-style functional language, SML#. The resulting SML# supports more than one million lightweight user threads running on multi-core CPU. The benchmark evaluation shows good scalability on a multi-core processor comparable to C, and it outperforms other GC-based compilers in most cases. In addition to this new GC method, we have extended SML# with various advanced features and have released the SML# compiler as open-source software through the GitHub repository.
|
Free Research Field |
計算機科学
|
Academic Significance and Societal Importance of the Research Achievements |
本研究が実現した並列・並行ゴミ集め方式は、従来ML系関数型言語においては困難であった細粒度スレッドのマルチコア上での並行並列実行を可能にした。これら研究成果を取り入れて拡張されたSML#言語は、マルチコア上の100万を超える軽量スレッドをサポートする世界的にも類を見ない関数型言語である。これら成果を実現したSML#言語コンパイラ4.00版はGitHubを通じてオープンソースソフトウェアとして提供され、世界の関数型言語コミュニティに貢献している。さらに我々は、本研究成果の社会への幅広い普及を目指しSML#に関するWEBページや教科書の出版等を行い、ML系言語の幅広い普及に貢献している。
|