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

Development of Functional Language Capable of Parallel Computation on Multicore Processors

Research Project

Project/Area Number 19K11893
Research Category

Grant-in-Aid for Scientific Research (C)

Allocation TypeMulti-year Fund
Section一般
Review Section Basic Section 60050:Software-related
Research InstitutionNiigata University (2021-2023)
Tohoku University (2019-2020)

Principal Investigator

Katsuhiro Ueno  新潟大学, 自然科学系, 准教授 (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 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を用いて高性能な並列計算を行うことができる、フルスケールの関数型言語コンパイラを実現できたことにある。関数型言語は並行・並列処理の記述に向いていると言われており、並行・並列計算モデルや自動並列化に関する研究が古くから行われている一方で、理論上の並列計算性能を実現することができる関数型言語処理系は、いくつかの実証実験的な処理系を除いて、これまで存在しなかった。本研究成果により、高性能な並列計算が可能な関数型言語処理系が日本発で全世界に無償で提供されたことの社会的意義は大きい。

Report

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

    (16 results)

All 2024 2023 2022 2021 2020 Other

All Presentation (12 results) (of which Int'l Joint Research: 3 results,  Invited: 1 results) Book (1 results) Remarks (3 results)

  • [Presentation] 型別名を保存する型推論アルゴリズム2024

    • Author(s)
      佐藤 季樹, 上野 雄大
    • Organizer
      第26回プログラミングおよびプログラミング言語ワークショップ(PPL 2024)
    • Related Report
      2023 Annual Research Report
  • [Presentation] Minissg: 小さく軽量で規約のない静的Webサイトジェネレータ2023

    • Author(s)
      上野雄大
    • Organizer
      日本ソフトウェア科学会第40回大会
    • Related Report
      2023 Annual Research Report
  • [Presentation] SML#: Toward the ideal interoperability between languages and systems2023

    • Author(s)
      Katsuhiro Ueno
    • Organizer
      MoreVMs'23
    • Related Report
      2022 Research-status Report
    • Int'l Joint Research / Invited
  • [Presentation] プラレールによるプログラミングの可能性2023

    • Author(s)
      上野雄大, 石垣凌
    • Organizer
      第25回プログラミングおよびプログラミング言語ワークショップ PPL 2023
    • Related Report
      2022 Research-status Report
  • [Presentation] プログラムの意味解析技術の音楽の意味解析への応用に向けて2023

    • Author(s)
      藤野遼河, 上野雄大
    • Organizer
      第25回プログラミングおよびプログラミング言語ワークショップ PPL 2023
    • Related Report
      2022 Research-status Report
  • [Presentation] Concurrent and parallel garbage collection for lightweight threads on multicore processors2022

    • Author(s)
      Katsuhiro Ueno, Atsushi Ohori
    • Organizer
      ISMM '22: ACM SIGPLAN International Symposium on Memory Management
    • Related Report
      2022 Research-status Report
    • Int'l Joint Research
  • [Presentation] アトム変数を用いた名目単一化の実装2021

    • Author(s)
      山上隼司, 菊池健太郎, 上野雄大, 大堀淳
    • Organizer
      日本ソフトウェア科学会第38回大会
    • Related Report
      2021 Research-status Report
  • [Presentation] A compilation method for dynamic typing in ML2021

    • Author(s)
      Atsushi Ohori, Katsuhiro Ueno
    • Organizer
      The 19th Asian Symposium on Programming Languages and Systems
    • Related Report
      2021 Research-status Report
    • Int'l Joint Research
  • [Presentation] 自然なデータ表現を持つ多相型言語のLLVM IRへのコンパイル方式2020

    • Author(s)
      上野雄大
    • Organizer
      日本ソフトウェア科学会第37回大会
    • Related Report
      2020 Research-status Report
  • [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
  • [Book] SML#で始める実践MLプログラミング2021

    • Author(s)
      大堀淳,上野雄大
    • Total Pages
      242
    • Publisher
      共立出版
    • ISBN
      9784320124714
    • Related Report
      2021 Research-status Report
  • [Remarks] SML# Project

    • URL

      https://smlsharp.github.io

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

    • URL

      https://smlsharp.github.io

    • Related Report
      2021 Research-status Report
  • [Remarks] SML# Project

    • URL

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

    • Related Report
      2020 Research-status Report 2019 Research-status Report

URL: 

Published: 2019-04-18   Modified: 2025-01-30  

Information User Guide FAQ News Terms of Use Attribution of KAKENHI

Powered by NII kakenhi