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

2018 Fiscal Year Research-status Report

超並列技術をML系高信頼言語SML#に統合した超並列関数型言語の実現と最適化

Research Project

Project/Area Number 18K11233
Research InstitutionTohoku University

Principal Investigator

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

Co-Investigator(Kenkyū-buntansha) 上野 雄大  東北大学, 電気通信研究所, 准教授 (60551554)
Project Period (FY) 2018-04-01 – 2022-03-31
Keywordsコンパイラ / 関数型言語 / 超並列処理 / SML#
Outline of Annual Research Achievements

本研究の目的は、マルチコアプロセッサにスケールする超並列技術を、研究代表者等によって開発された高信頼関数型言語SML#に統合し、大規模分散計算や超並列計算をサポートする関数型言語を実現することである。この実現のため、(1)高水準言語処理系とOSライブラリとの直接連携による高水準超並列言語の実現と最適化、(2)方程式集合の並列変換を基礎とする大規模分散データ並列言語機能の設計と実現、(3)データベース問い合わせ言語との統合を基礎とする超並列入出力処理方式の研究、さらに、(4)以上の成果を統合した超並列SML#言語の実現を目指した研究を実施する計画である。本年度は、主に(1)と(2)の項目の基盤となる研究を行い以下の成果を上げた。(i) 軽量超並列スレッドライブラリMassiveThreadsをSML#実行時処理系に結合し、関数型言語からシステムの軽量スレッドを直接使用可能なプロトタイプ言語の実現、(ii)並行ゴミ集め方式に新たに「allocator」の概念を導入し、軽量超並列スレッドをサポートする並行ゴミ集め方式を開発しそのプロトタイプを実装、(iii)等式集合の並行変換による並列処理を行うforeach構文の型理論を構築し軽量超並列スレッドを用いた実装方式を開発、(iv)以上の複雑な並列処理機能を含む関数型言語を効率よいコードにコンパイルするために、不要な型抽象を出来る限り抑止する型主導最適化コンパイル方式の理論と実装方式を構築し、SML#コンパイラへ統合、(v)さらに、超並列機能を統合したSML#言語の完成度を高めるための研究開発を継続し、デバッグ、テンプレート処理、ストリーミングデータベース機能統合等の研究開発を行った。

Current Status of Research Progress
Current Status of Research Progress

2: Research has progressed on the whole more than it was originally planned.

Reason

当初の目標であった軽量スレッドライブラリとSML#の実行時処理系の統合、それらを関数型言語からシームレスに利用するための軽量超並列スレッドのための並列ゴミ集め(GC)方式を実現でき、さらに、当初の計画を超えて最適化コンパイル方式の理論と実装技術を開発できた。軽量スレッドライブラリの統合および軽量超並列スレッドのための並列ゴミ集め方式は、いまだ出版論文としての成果はないが、ソフトウェアとして実現されており、今後近いうちに論文が出版されると期待される。最適化コンパイル方式の理論と実装技術は、関数型言語のトップコンファレンスであるACM ICFP 2018にて発表された。以上から、概ね順調に推移していると判断できる。

Strategy for Future Research Activity

軽量スレッドライブラリの統合および軽量超並列スレッドのための並列ゴミ集め方式のさらなる改良や性能評価を行い、トップコンファレンス等での発表を目指すとともに、それら成果を実装したSML#言語のリリースを目指す。それらと並行して、宣言的な並列処理の方式や言語設計の研究を継続し、超並列処理をサポートする関数型言語、超並列SML#の実現を目指す。

Causes of Carryover

執行額は、予算額700,000円に対して、611,851円と87%に達し、概ね予定通り執行できたと言える。繰越分の88,149円は、翌年の成果発表等に有効に活用する予定である。

  • Research Products

    (6 results)

All 2018

All Journal Article (3 results) (of which Peer Reviewed: 3 results,  Open Access: 2 results) Presentation (3 results)

  • [Journal Article] 部分動的レコードを活用した型付きテンプレートエンジンの実現2018

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

      コンピュータソフトウェア

      Volume: vol. 35, no. 3 Pages: 3_79 - 3_95

    • DOI

      https://doi.org/10.11309/jssst.35.3_79

    • 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 Pages: Article No. 81

    • DOI

      https://doi.org/10.1145/3236776

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

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

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

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

    • Peer Reviewed
  • [Presentation] Java PathFinderによるMLプログラムの捕捉されない例外の検証2018

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

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

    • Author(s)
      大塚祐貴, Karim HAMDI, 上野雄大, 大堀淳
    • Organizer
      The 2nd. cross-disciplinary Workshop on Computing Systems, Infrastructures, and Programming (xSIG 2018) (ポスター発表)

URL: 

Published: 2019-12-27  

Information User Guide FAQ News Terms of Use Attribution of KAKENHI

Powered by NII kakenhi