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

2021 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 – 2023-03-31
Keywordsコンパイラ / 関数型言語 / 超並列処理 / 型主導コンパイル / 動的型付け機構 / SML#言語
Outline of Annual Research Achievements

本研究の目的は、マルチコアプロセッサにスケールする超並列技術を、研究代表者等によって開発された高信頼関数型言語SML#に統合し、大規模分散計算や超並列計算をサポートする関数型言語を実現することである。この実現のため、(1)高水準言語処理系とOSライブラリとの直接連携による高水準超並列言語の実現と最適化、(2)方程式集合の並列変換を基礎とする大規模分散データ並列言語機能の設計と実現、(3)データベース問い合わせ言語との統合を基礎とする超並列入出力処理方式の研究、さらに、(4)以上の成果を統合した超並列SML#言語の実現を目指した研究を実施する計画である。
本年度は、昨年度に引き続き(1)の基盤となる並行ゴミ集め方式のさらなる改良、新たに(3)の基盤となる動的な型付け機構の研究の完成、さらに、(4)の実現を目指し以上の成果を統合したSML#言語の開発を行いgithubにてソース共に広く世界にリリースした。これらの成果の概要は以下のとおりである。(1) 本年度は、昨年度に開発した並行ゴミ集め方式のアルゴリズムと実装の最適化とチューニングを行い、システムの性能評価を通じて、他の関数型言語を凌駕する性能を確認した。(3)本年度は、昨年度に構築した動的型付け機構を多相型言語に系統的に導入する方式の完全な実装を行い、SML#4.0.0版に組み込リリースした。(4)これら成果を統合し拡張したSML#言語を開発した。
さらに、それらの成果のコミュニティ・社会への幅広い貢献・還元を目指し、並列・並行プログラミング技術を含むSML#のプログラミングの教科書、および、SML#言語を用いたML系関数型言語のコンパイラ構築方に関する教科書を執筆し共立出版社より出版した。

Current Status of Research Progress
Current Status of Research Progress

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

Reason

昨年開発した、軽量スレッドに対応し数百万以上の軽量スレッドの対応する並行かつ並列ゴミ集め方式の徹底した最適化とチューニングを行い、関数型言語でありながらC言語と比肩する並列化性能を確認した。この成果は、現在の主要な関数型言語をほぼすべて凌駕する世界的にみても最高水準のGC方式と実装であると自負する。これら成果を、ICFPに投稿するも採録にいたらず、現在ISMMに投稿中である。論文の採録は予断を許さないが、実装をともなうものであり、それら機能を含んだSML#言語のGithubでの公開等を通じて、最終的には、世界にみとめられると確信している。さらに本年度は、昨年度開発した外部データのより柔軟な扱いを可能にする動的型付け機構に関する理論をAPLAS国際会議にて発表した。
これら基礎研究成果に加え、それらの成果の社会的な貢献を目指し、SML#言語をベースとするプログラミングおよびコンパイラの教科書を出版した。
以上の状況から、研究はおおむね順調に推移していると言える。

Strategy for Future Research Activity

開発した並行・並列ゴミ集め方式がメニーコア時代の関数型言語のゴミ集め方式の決定版としての認知されることを目指しGC・メモリー管理に関する主要な国際会議での発表を目指す。動的型付け機構に関しては、引き続き、種々の外部資源の扱いを可能にする応用研究を行い、幅広い分野への並列関数型言語処理機能の適用の可能性を拓く研究を行う予定である。さらに、それら成果を統合したSML#言語の開発を継続するとともに、SML#の幅広い普及を目指し、Githubを通じた開発コミュニティ形成の努力を行う。

Causes of Carryover

予算額に比べて支出額が少なかったこの主な要因は、COVID19の状況下で,参加した学会がオンラインとなり,また予定していた調査・研究やSML#言語の普及等のための出張ができず,旅費の執行がゼロとなったことである。現在メモリー管理に関する主要な国際会議へ論文を投稿中であり,また,本研究の総仕上げを目的とした研究代表者・分担者間での研究打ち合わせを複数回計画している.さらに,研究成果の普及とコミュニティへの貢献を目的としたSML#言語および関数型超並列処理等に関する研究会なども計画している.次年度は,COVID19の状況の改善を期待し,これらの活動に活用できる予定である。

  • Research Products

    (3 results)

All 2021

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

  • [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
    • Int'l Joint Research
  • [Book] コンパイラ―原理と構造―2021

    • Author(s)
      大堀 淳
    • Total Pages
      196
    • Publisher
      共立出版
    • ISBN
      978-4-320-12478-3
  • [Book] SML#で始める実践MLプログラミング2021

    • Author(s)
      大堀 淳、上野 雄大
    • Total Pages
      242
    • Publisher
      共立出版
    • ISBN
      978-4-320-12471-4

URL: 

Published: 2022-12-28  

Information User Guide FAQ News Terms of Use Attribution of KAKENHI

Powered by NII kakenhi