Project/Area Number |
23K24822
|
Project/Area Number (Other) |
22H03566 (2022-2023)
|
Research Category |
Grant-in-Aid for Scientific Research (B)
|
Allocation Type | Multi-year Fund (2024) Single-year Grants (2022-2023) |
Section | 一般 |
Review Section |
Basic Section 60050:Software-related
|
Research Institution | The University of Tokyo |
Principal Investigator |
鵜川 始陽 東京大学, 大学院情報理工学系研究科, 准教授 (50423017)
|
Co-Investigator(Kenkyū-buntansha) |
塩谷 亮太 東京大学, 大学院情報理工学系研究科, 准教授 (10619191)
穐山 空道 立命館大学, 情報理工学部, 准教授 (80775289)
佐藤 重幸 電気通信大学, 大学院情報理工学研究科, 准教授 (90779464)
|
Project Period (FY) |
2022-04-01 – 2027-03-31
|
Project Status |
Granted (Fiscal Year 2024)
|
Budget Amount *help |
¥17,030,000 (Direct Cost: ¥13,100,000、Indirect Cost: ¥3,930,000)
Fiscal Year 2026: ¥2,860,000 (Direct Cost: ¥2,200,000、Indirect Cost: ¥660,000)
Fiscal Year 2025: ¥3,250,000 (Direct Cost: ¥2,500,000、Indirect Cost: ¥750,000)
Fiscal Year 2024: ¥4,290,000 (Direct Cost: ¥3,300,000、Indirect Cost: ¥990,000)
Fiscal Year 2023: ¥3,380,000 (Direct Cost: ¥2,600,000、Indirect Cost: ¥780,000)
Fiscal Year 2022: ¥3,250,000 (Direct Cost: ¥2,500,000、Indirect Cost: ¥750,000)
|
Keywords | processing in memory / 並列計算 / 仮想機械 / ガーベージコレクション / シミューレーター / 省電力計算 / 並列処理 / マネージドランタイム |
Outline of Research at the Start |
Processing-in-memory (PIM)は計算機能を持ったメモリデバイスである.CPUへのデータ転送を省くことで高速化と省電力化を同時に実現し,現在一般的なプロセッサ中心の計算機システムの限界を打破するものとして期待されている.本研究では,Javaのようなメモリが抽象化されたプログラミング言語(マネージド言語)でPIMを活用できるようにすることを目標とする.そのために,(1)マネージド言語でPIMを活用するためのプログラミングモデルや言語拡張,(2)ランタイムシステムの実装技術,(3)マネージド言語に適したPIMのハードウェアを研究する.
|
Outline of Annual Research Achievements |
本年度は計画に従い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を使ったホストメモリの監視による信頼性の向上をメモリプロセッサを使っても行えることを示した.
|
Current Status of Research Progress |
Current Status of Research Progress
1: Research has progressed more than it was originally planned.
Reason
本年度に計画していた1)UPMEMを利用できる仮想機械の試作とその性能の検証は計画通り完了し,翌年度に向けての課題が明らかになった.2)ユースケースの研究では,木構造のアプリケーションと正規表現マッチとを計画していたが,木構造のアプリケーションに集中して深く研究した.その結果,UPMEMの性能特性が明らかになり,UPMEM上で高い性能が得られるプログラミングの指針を得ることができた.3)シミュレーションによる性能評価手法の研究では,独自にシミュレータを開発すべく調査を進めていたが,他の研究グループにより単一のメモリプロセッサのシミュレータが発表された.そのため,それを利用する方針に変更して,発表されたシミュレータを調査し,本研究で必要な性能評価手法の一部として利用できそうであると判明した.4)開発環境の研究は,ユースケースの研究と同時にすすめている.成果をまとめるには至っていないが,研究で得られた知見は計画1)にフィードバックして開発効率を向上した.以上より,計画していた研究はおおむね計画通り進展している. これに加え,今後計画しているPIMに適したプログラミング言語機能の設計や,実装の高性能化のための基礎研究として,メモリアロケータの研究とデータ構造の自動変換の研究を行った.さらに,本研究を進める中でPIMをセキュリテーの強化に応用するアイデアの着想を得たため,その研究も行った. 以上より,当初の計画以上に進展していると判断した.
|
Strategy for Future Research Activity |
当初の計画に基き,UPMEMを利用できるプログラミング言語の機能およびその実行系の開発を行う.ただし,UPMEMアプリケーションの開発のためのSDKが提供する抽象度が当初の想定よりも高い抽象度であり,また,性能特性も当初の想定とは異なることが分かったため,マネージド言語にとらわれず,UPMEMに適したソフトウェア実行系の構成となるように研究を進める. UPMEMアプリケーションの実装や性能評価で利用しているUPMEMの実機は海外事業者から時間単位でレンタルしており,費用を抑えるために利用時間を抑える必要がある.そのため,シミュレータを利用する工程を増やす. プログラミング言語と処理系の研究を担当する研究代表者・分担者とシミュレータと評価環境を担当する研究分担者で月1回以上のミーティングを持ち,情報共有を行う.
|