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

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

Research Project

Project/Area Number 18K11233
Research Category

Grant-in-Aid for Scientific Research (C)

Allocation TypeMulti-year Fund
Section一般
Review Section Basic Section 60050:Software-related
Research InstitutionTohoku University

Principal Investigator

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

Co-Investigator(Kenkyū-buntansha) 上野 雄大  新潟大学, 自然科学系, 准教授 (60551554)
Project Period (FY) 2018-04-01 – 2023-03-31
Project Status Completed (Fiscal Year 2022)
Budget Amount *help
¥4,290,000 (Direct Cost: ¥3,300,000、Indirect Cost: ¥990,000)
Fiscal Year 2021: ¥1,300,000 (Direct Cost: ¥1,000,000、Indirect Cost: ¥300,000)
Fiscal Year 2020: ¥910,000 (Direct Cost: ¥700,000、Indirect Cost: ¥210,000)
Fiscal Year 2019: ¥1,170,000 (Direct Cost: ¥900,000、Indirect Cost: ¥270,000)
Fiscal Year 2018: ¥910,000 (Direct Cost: ¥700,000、Indirect Cost: ¥210,000)
Keywords関数型プログラミング言語 / コンパイラ / SML# / 並行並列GC / マルチコアCPU / 軽量スレッド / 超並列技術 / 関数型言語 / 並列並行ゴミ集め(GC) / 超並列処理 / 型主導コンパイル / 動的型付け機構 / SML#言語 / 高信頼言語 / プログラミング言語
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.

Academic Significance and Societal Importance of the Research Achievements

本研究が実現した並列・並行ゴミ集め方式は、従来ML系関数型言語においては困難であった細粒度スレッドのマルチコア上での並行並列実行を可能にした。これら研究成果を取り入れて拡張されたSML#言語は、マルチコア上の100万を超える軽量スレッドをサポートする世界的にも類を見ない関数型言語である。これら成果を実現したSML#言語コンパイラ4.00版はGitHubを通じてオープンソースソフトウェアとして提供され、世界の関数型言語コミュニティに貢献している。さらに我々は、本研究成果の社会への幅広い普及を目指しSML#に関するWEBページや教科書の出版等を行い、ML系言語の幅広い普及に貢献している。

Report

(6 results)
  • 2022 Annual Research Report   Final Research Report ( PDF )
  • 2021 Research-status Report
  • 2020 Research-status Report
  • 2019 Research-status Report
  • 2018 Research-status Report
  • Research Products

    (20 results)

All 2023 2022 2021 2020 2019 2018 Other

All Journal Article (3 results) (of which Peer Reviewed: 3 results,  Open Access: 2 results) Presentation (13 results) (of which Int'l Joint Research: 2 results) Book (2 results) Remarks (2 results)

  • [Journal Article] Typed template engine based on partially dynamic records2018

    • Author(s)
      逢坂美冬, 上野雄大, 大堀淳
    • Journal Title

      Computer Software

      Volume: 35 Issue: 3 Pages: 3_79-3_95

    • DOI

      10.11309/jssst.35.3_79

    • NAID

      130007488458

    • ISSN
      0289-6540
    • Year and Date
      2018-07-25
    • Related Report
      2018 Research-status Report
    • Peer Reviewed / Open Access
  • [Journal Article] Finitary polymorphism for optimizing type-directed compilation2018

    • Author(s)
      Atsushi Ohori, Katsuhiro Ueno, Hisayuki Mima
    • Journal Title

      Journal Proceedings of the ACM on Programming Languages (PACMPL)

      Volume: Volume 2 Issue ICFP Issue: ICFP Pages: 1-29

    • DOI

      10.1145/3236776

    • Related Report
      2018 Research-status Report
    • Peer Reviewed / Open Access
  • [Journal Article] 関数型言語SML#のためのコードレベルデバッグ環境の実現方式2018

    • Author(s)
      大野一樹, 上野雄大, 大堀淳
    • Journal Title

      情報処理学会論文誌プログラミング(PRO)

      Volume: vol. 11, no. 3 Pages: 1-13

    • Related Report
      2018 Research-status Report
    • Peer Reviewed
  • [Presentation] 主要な型判定をもつMLの型理論と型推論アルゴリズム2023

    • Author(s)
      大堀 淳
    • Organizer
      日本ソフトウェア科学会 第25回プログラミングおよびプログラミング言語ワークショップ PPL 2023
    • Related Report
      2022 Annual Research Report
  • [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
    • Related Report
      2022 Annual Research Report
    • Int'l Joint Research
  • [Presentation] A Compilation Method for Dynamic Typing in ML2021

    • Author(s)
      Atsushi Ohori, Katsuhiro Ueno
    • Organizer
      19th Asian Symposium on Programming Languages and Systems, APLAS 2021 - Chicago, 2021/10/17-2021/10/18
    • Related Report
      2021 Research-status Report
    • Int'l Joint Research
  • [Presentation] SML#の並列処理機能とその性能2020

    • Author(s)
      上野 雄大, 大堀 淳
    • Organizer
      日本ソフトウェア科学会 第37回大会講演論文集
    • Related Report
      2020 Research-status Report
  • [Presentation] 関係代数を基礎とするプログラムに現れる名前解析システム2020

    • Author(s)
      大堀 淳, 上野 雄大
    • Organizer
      日本ソフトウェア科学会第37回大会講演論文集
    • Related Report
      2020 Research-status Report
  • [Presentation] 外部データの解釈を文脈ごとに与える動的型付け機構2020

    • Author(s)
      大堀 淳, 上野 雄大, 高城 光平
    • Organizer
      日本ソフトウェア科学会第37回大会講演論文集
    • Related Report
      2020 Research-status Report
  • [Presentation] 自然なデータ表現を持つ多相型言語のLLVM IRへのコンパイル方式2020

    • Author(s)
      上野 雄大
    • Organizer
      日本ソフトウェア科学会第37回大会講演論文集
    • Related Report
      2020 Research-status Report
  • [Presentation] SML#とMassiveThreadsの統合による超並列言語の実現2019

    • Author(s)
      上野 雄大、大堀 淳、田浦 健次朗
    • Organizer
      日本ソフトウェア科学会第36回大会
    • Related Report
      2019 Research-status Report
  • [Presentation] SML#の動的型付け機構2019

    • Author(s)
      大堀 淳、上野 雄大
    • Organizer
      日本ソフトウェア科学会第36回大会
    • Related Report
      2019 Research-status Report
  • [Presentation] SML#の永続性拡張に向けて2019

    • Author(s)
      大堀 淳、上野 雄大、大塚 祐貴、高城 光平
    • Organizer
      日本ソフトウェア科学会第36回大
    • Related Report
      2019 Research-status Report
  • [Presentation] Java PathFinderによるMLプログラムの捕捉されない例外の検証2018

    • Author(s)
      魚谷孝太, 上野雄大, 大堀淳
    • Organizer
      The 2nd. cross-disciplinary Workshop on Computing Systems, Infrastructures, and Programming (xSIG 2018)
    • Related Report
      2018 Research-status Report
  • [Presentation] ML系言語とストリーミングデータベースの統合2018

    • Author(s)
      高城光平, 上野雄大, 大堀淳
    • Organizer
      The 2nd. cross-disciplinary Workshop on Computing Systems, Infrastructures, and Programming (xSIG 2018)
    • Related Report
      2018 Research-status Report
  • [Presentation] 高水準IoTプログラミング環境の実現に向けて2018

    • Author(s)
      大塚祐貴, Karim HAMDI, 上野雄大, 大堀淳
    • Organizer
      The 2nd. cross-disciplinary Workshop on Computing Systems, Infrastructures, and Programming (xSIG 2018) (ポスター発表)
    • Related Report
      2018 Research-status Report
  • [Book] コンパイラ―原理と構造―2021

    • Author(s)
      大堀 淳
    • Total Pages
      196
    • Publisher
      共立出版
    • ISBN
      9784320124783
    • Related Report
      2021 Research-status Report
  • [Book] SML#で始める実践MLプログラミング2021

    • Author(s)
      大堀 淳、上野 雄大
    • Total Pages
      242
    • Publisher
      共立出版
    • ISBN
      9784320124714
    • Related Report
      2021 Research-status Report 2020 Research-status Report
  • [Remarks] SML#プロジェクト

    • URL

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

    • Related Report
      2022 Annual Research Report 2020 Research-status Report
  • [Remarks] SML#プロジェクト

    • URL

      https://www.pllab.riec.tohoku.ac.jp/smlsharp/ja/

    • Related Report
      2019 Research-status Report

URL: 

Published: 2018-04-23   Modified: 2024-01-30  

Information User Guide FAQ News Terms of Use Attribution of KAKENHI

Powered by NII kakenhi