• Search Research Projects
  • Search Researchers
  • How to Use
  1. Back to project page

2022 Fiscal Year Annual Research Report

Realizing massively parallel functional programming language by integrating parallel technologies into SML#, an ML-style functional language

Research Project

Project/Area Number 18K11233
Research InstitutionTohoku University

Principal Investigator

大堀 淳  東北大学, 電気通信研究所, 名誉教授 (60252532)

Co-Investigator(Kenkyū-buntansha) 上野 雄大  新潟大学, 自然科学系, 准教授 (60551554)
Project Period (FY) 2018-04-01 – 2023-03-31
Keywordsコンパイラ / 関数型言語 / 並列並行ゴミ集め(GC) / 超並列処理 / SML#
Outline of Annual Research Achievements

本研究の目的は、マルチコアプロセッサにスケールする超並列技術を、研究代表者等によって開発された関数型言語SML#に統合し、大規模分散計算や超並列計算をサポートする関数型言語を実現することである。この実現のため、高水準言語処理系とOSライブラリとの直接連携による高水準超並列言語の実現と最適化等に関する研究を行い、その成果を統合した超並列SML#言語の実現を目指す。
最終年度である本年度は、本研究の目的である超並列技術を統合したML系関数型言語を実現する上で最大の挑戦的な技術課題であった並列・並行ゴミ集め(GC)方式とその実装技術に関する4年間に及ぶ研究を完成させ、その成果をメモリー管理に関する国際フォーラムISMM2022にて発表した。本方式を実装し拡張されたSML#言語の並列実行性能は、発表時点で、ML系関数型言語はもとより、ゴミ集め方式のメモリー管理を採用する種々の主要な言語を凌駕するものであることが示されている。本年度は、これに加え、主要な型判定をもつMLの型推論理論を構築した。この理論は、SML#を含むML系関数型言語全般の型推論に関する従来の未解決な問題を解明し、ML系言語の型推論に新たな知見を与えるものである。
本年度に完成を見た並行並列ゴミ集め方式を含む本課題の研究を通じて、従来ML系関数型言語においては困難であった細粒度スレッドのマルチコア上での効率よい並行実行方式を確立し、それらをOSレベルの軽量スレッドライブラリと連携する実装技術を確立した。さらに、これらの方式をフルスケールの関数型言語であるSML#に統合したコンパイラの実装を行い、100万を超える軽量スレッドの並列実行が可能な関数型言語の実現に成功した。その成果であるSML#コンパイラ4.00版はGitHubを通じてオープンソースソフトウェアとして提供され、世界の関数型言語コミュニティに貢献している。

Remarks

本研究成果である並列並行GC機能を取り入れて拡張されたML系多相型プログラミング言語コンパイラのページ

  • Research Products

    (3 results)

All 2023 2022 Other

All Presentation (2 results) (of which Int'l Joint Research: 1 results) Remarks (1 results)

  • [Presentation] 主要な型判定をもつMLの型理論と型推論アルゴリズム2023

    • Author(s)
      大堀 淳
    • Organizer
      日本ソフトウェア科学会 第25回プログラミングおよびプログラミング言語ワークショップ PPL 2023
  • [Presentation] Concurrent and parallel garbage collection for lightweight threads on multicore processors2022

    • Author(s)
      Katsuhiro Ueno, Atsushi Ohori
    • Organizer
      Proceedings of the 2022 ACM SIGPLAN International Symposium on Memory Management (ISMM 2022), pp 29-42, DOI:https://doi.org/10.1145/3520263.3534652
    • Int'l Joint Research
  • [Remarks] SML#プロジェクト

    • URL

      https://smlsharp.github.io/ja/

URL: 

Published: 2023-12-25  

Information User Guide FAQ News Terms of Use Attribution of KAKENHI

Powered by NII kakenhi