• 研究課題をさがす
  • 研究者をさがす
  • KAKENの使い方
  1. 前のページに戻る

計算機能を備えたメモリを活用できるマネージド言語と実行時システムの研究

研究課題

研究課題/領域番号 23K24822
補助金の研究課題番号 22H03566 (2022-2023)
研究種目

基盤研究(B)

配分区分基金 (2024)
補助金 (2022-2023)
応募区分一般
審査区分 小区分60050:ソフトウェア関連
研究機関東京大学

研究代表者

鵜川 始陽  東京大学, 大学院情報理工学系研究科, 准教授 (50423017)

研究分担者 塩谷 亮太  東京大学, 大学院情報理工学系研究科, 准教授 (10619191)
穐山 空道  立命館大学, 情報理工学部, 准教授 (80775289)
佐藤 重幸  電気通信大学, 大学院情報理工学研究科, 准教授 (90779464)
研究期間 (年度) 2022-04-01 – 2027-03-31
研究課題ステータス 交付 (2024年度)
配分額 *注記
17,030千円 (直接経費: 13,100千円、間接経費: 3,930千円)
2026年度: 2,860千円 (直接経費: 2,200千円、間接経費: 660千円)
2025年度: 3,250千円 (直接経費: 2,500千円、間接経費: 750千円)
2024年度: 4,290千円 (直接経費: 3,300千円、間接経費: 990千円)
2023年度: 3,380千円 (直接経費: 2,600千円、間接経費: 780千円)
2022年度: 3,250千円 (直接経費: 2,500千円、間接経費: 750千円)
キーワードprocessing in memory / 並列計算 / 仮想機械 / ガーベージコレクション / シミューレーター / 省電力計算 / 並列処理 / マネージドランタイム
研究開始時の研究の概要

Processing-in-memory (PIM)は計算機能を持ったメモリデバイスである.CPUへのデータ転送を省くことで高速化と省電力化を同時に実現し,現在一般的なプロセッサ中心の計算機システムの限界を打破するものとして期待されている.本研究では,Javaのようなメモリが抽象化されたプログラミング言語(マネージド言語)でPIMを活用できるようにすることを目標とする.そのために,(1)マネージド言語でPIMを活用するためのプログラミングモデルや言語拡張,(2)ランタイムシステムの実装技術,(3)マネージド言語に適したPIMのハードウェアを研究する.

研究実績の概要

本年度は計画に従い1)PIMを利用できるJava処理系の試作,2)ユースケースの研究によるPIMのアプリケーションの構成法の調査,3)シミュレーションによる性能評価のための調査を行った.また,今後計画しているPIMに適したプログラミング言語機能の設計や,実装の高性能化のための基礎研究として,4)メモリアロケータの研究と5)データ構造の自動変換の研究を行った.さらに,本研究を進める中で6)PIMをセキュリテーの強化に応用するアイデアの着想を得たため,その研究も行った.
1)では,「データのあるところで計算する」,「マネージド言語によりシームレスに計算する場所を変える」という概念の検証のために,メモリ内のプロセッサ(メモリプロセッサ)上で動作する簡易なJavaインタプリタと,CPU上で動作するJavaプログラムのオブジェクトのメソッドの実行を,そのオブジェクトを格納するメモリのメモリプロセッサ上で実行する仕組みを試作した.2)では,B-木を応用した探索木のプログラムをPIM向けに開発した.3)では本研究で利用しているPIMであるUPMEMの開発元が公開しているソースコードを調査し,メモリモジュールとメモリアドレスの対応関係をどのように扱うか検討した.また,他の研究グループで開発されたシミュレータを調査した.4)では,通常のDRAM,メモリプロセッサが搭載されたメモリ,スワップ対象のメモリのように,物理的または論理的に特徴の異なるメモリを混載するシステムに向けメモリアロケータの研究を行い,部分領域とサブアロケータを対応させる方法を提案した.5)では,オブジェクトを要素とする配列を選択的に自動的にStructure of Array形式に変換する研究を行った.6)では,これまで研究されていたGPUを使ったホストメモリの監視による信頼性の向上をメモリプロセッサを使っても行えることを示した.

現在までの達成度 (区分)
現在までの達成度 (区分)

1: 当初の計画以上に進展している

理由

本年度に計画していた1)UPMEMを利用できる仮想機械の試作とその性能の検証は計画通り完了し,翌年度に向けての課題が明らかになった.2)ユースケースの研究では,木構造のアプリケーションと正規表現マッチとを計画していたが,木構造のアプリケーションに集中して深く研究した.その結果,UPMEMの性能特性が明らかになり,UPMEM上で高い性能が得られるプログラミングの指針を得ることができた.3)シミュレーションによる性能評価手法の研究では,独自にシミュレータを開発すべく調査を進めていたが,他の研究グループにより単一のメモリプロセッサのシミュレータが発表された.そのため,それを利用する方針に変更して,発表されたシミュレータを調査し,本研究で必要な性能評価手法の一部として利用できそうであると判明した.4)開発環境の研究は,ユースケースの研究と同時にすすめている.成果をまとめるには至っていないが,研究で得られた知見は計画1)にフィードバックして開発効率を向上した.以上より,計画していた研究はおおむね計画通り進展している.
これに加え,今後計画しているPIMに適したプログラミング言語機能の設計や,実装の高性能化のための基礎研究として,メモリアロケータの研究とデータ構造の自動変換の研究を行った.さらに,本研究を進める中でPIMをセキュリテーの強化に応用するアイデアの着想を得たため,その研究も行った.
以上より,当初の計画以上に進展していると判断した.

今後の研究の推進方策

当初の計画に基き,UPMEMを利用できるプログラミング言語の機能およびその実行系の開発を行う.ただし,UPMEMアプリケーションの開発のためのSDKが提供する抽象度が当初の想定よりも高い抽象度であり,また,性能特性も当初の想定とは異なることが分かったため,マネージド言語にとらわれず,UPMEMに適したソフトウェア実行系の構成となるように研究を進める.
UPMEMアプリケーションの実装や性能評価で利用しているUPMEMの実機は海外事業者から時間単位でレンタルしており,費用を抑えるために利用時間を抑える必要がある.そのため,シミュレータを利用する工程を増やす.
プログラミング言語と処理系の研究を担当する研究代表者・分担者とシミュレータと評価環境を担当する研究分担者で月1回以上のミーティングを持ち,情報共有を行う.

報告書

(2件)
  • 2023 実績報告書
  • 2022 実績報告書
  • 研究成果

    (10件)

すべて 2024 2023 2022

すべて 雑誌論文 (1件) (うち査読あり 1件、 オープンアクセス 1件) 学会発表 (9件)

  • [雑誌論文] Collective Allocator Abstraction to Control Object Spatial Locality in C++2024

    • 著者名/発表者名
      Hideshima Takato、Sato Shigeyuki、Ugawa Tomoharu
    • 雑誌名

      The Art, Science, and Engineering of Programming

      巻: 8 号: 3

    • DOI

      10.22152/programming-journal.org/2024/8/15

    • 関連する報告書
      2023 実績報告書
    • 査読あり / オープンアクセス
  • [学会発表] PIM アーキテクチャ上の探索木 B+-forest におけるデータの動的な再配置2024

    • 著者名/発表者名
      奥田 光, 秀島 宇音, 鵜川 始陽
    • 学会等名
      第26回プログラミングおよびプログラミング言語ワークショップ (PPL2024)
    • 関連する報告書
      2023 実績報告書
  • [学会発表] GPU によるメモリ書き換え監視を用いた高信頼アンチチートシステムの提案2023

    • 著者名/発表者名
      橋本 直樹, 穐山 空道
    • 学会等名
      第35回 コンピュータシステム・シンポジウム (ComSys2023)
    • 関連する報告書
      2023 実績報告書
  • [学会発表] Processing-in-Memory 上の探索木に対するバッチクエリの負荷分散に向けて2023

    • 著者名/発表者名
      奥田光, 鵜川始陽
    • 学会等名
      日本ソフトウェア科学会第40回大会
    • 関連する報告書
      2023 実績報告書
  • [学会発表] An Object-Oriented Programming Model for Processing-in-Memory Computing in Java Language2023

    • 著者名/発表者名
      Wanhong Huang, Tomoharu Ugawa
    • 学会等名
      日本ソフトウェア科学会第40回大会
    • 関連する報告書
      2023 実績報告書
  • [学会発表] ストレージストラテジーによる JavaScript オブジェクト配列のメモリ使用量の削減2023

    • 著者名/発表者名
      永谷龍彦, 鵜川始陽
    • 学会等名
      日本ソフトウェア科学会第40回大会
    • 関連する報告書
      2023 実績報告書
  • [学会発表] Processing-in-MemoryアーキテクチャUPMEMに適した探索木に向けての予備調査2023

    • 著者名/発表者名
      奥田光,鵜川始陽
    • 学会等名
      第25回プログラミングおよびプログラミング言語ワークショップ
    • 関連する報告書
      2022 実績報告書
  • [学会発表] 自己書き換え的な InfiniBand Verbs コードを生成するEDSL2023

    • 著者名/発表者名
      利根悠司, 佐藤重幸, 田浦健次朗
    • 学会等名
      第25回プログラミングおよびプログラミング言語ワークショップ
    • 関連する報告書
      2022 実績報告書
  • [学会発表] C++におけるfar-memoryデータ構造のためのアロケータ抽象化2023

    • 著者名/発表者名
      秀島宇音, 佐藤重幸, 田浦健次朗
    • 学会等名
      第25回プログラミングおよびプログラミング言語ワークショップ
    • 関連する報告書
      2022 実績報告書
  • [学会発表] FPGA グラフ処理のための頂点アクセス並列化によるプログラマビリティの高い HLS フレームワーク2022

    • 著者名/発表者名
      三冨秀和, 穐山空道, 山崎徹郎, 千葉滋
    • 学会等名
      Hot Spring Annual Meeting (HotSPA 2022)
    • 関連する報告書
      2022 実績報告書

URL: 

公開日: 2022-04-19   更新日: 2024-12-25  

サービス概要 検索マニュアル よくある質問 お知らせ 利用規程 科研費による研究の帰属

Powered by NII kakenhi