Research on Managed Languages and Runtime Systems to Utilize Memory with Computational Capabilities
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 |
2022年度は,UPMEMをマネージド言語から活用するシステムの構築のための基本的な調査を行い,以下の課題を明らかにした.UPMEMは研究開始時点で唯一利用可能な汎用のPIMであり,世界的にもPIMを活用したソフトウェアの研究に用いられている. (1) CPU向けに開発されたTinyGo処理系をUPMEMに移植した.また,PIMプロセッサ用の簡易なインタプリタと,CPU上のインタプリタで実行しているプログラムの一部の関数をUPMEMで実行できる仕組みを試作した.複数のPIMプロセッサに自然に異なる処理を指示できるプログラミングモデルの構築と,個々のPIMプロセッサが持つメモリを有効利用することが課題と分かった. (2) UPMEMを活用した木構造と,それを利用したインメモリデータベースを試作し,UPMEMのプログラミングの知見を得た.試作したデータベースを用い,理想的な状況ではCPUだけで処理する場合に比べて最大4.7倍高速になることが確認できた.一方で,一部のPIMプロセッサに処理が集中しないよう負荷分散することが課題になった.また,UPMEMのような超並列な計算コアが独立に動作するシステムでは,プログラムのデバッグにも課題が有ることが分かった. (3) UPMEM上で与えられたプログラムを実行する際の消費電力見積りの方法を調査し,既存研究では不十分であることが分かった.特に,DRAMの状態の変化を考慮した詳細な評価手法が必要である. さらに, UPMEMに適したワークロードを調査し,木構造の検索の他にも分割統治型の文字列処理が有望であるという結論を得た.また,UPMEMに留まらず,ヘテロジニアスなメモリを持つシステムでデータを適切に配置したり転送したりする研究を行い,DRAMとネットワークを介してアクセスするリモートメモリを活用するシステムについての知見を得た.
|
Current Status of Research Progress |
Current Status of Research Progress
2: Research has progressed on the whole more than it was originally planned.
Reason
2022年度は本研究の初年度である.本年度は(1)CPUとPIMプロセッサを併用するマネージド言語の処理系の設計(2)UPMEMを利用したプログラミングモデル(3)CPUとPIMプロセッサ間のデータ転送(4)消費電力を含めた性能評価の方法について基本的な調査を行い,課題を明らかにする計画だった.このうち,(1),(2),(4)については,期間内で調査を行い,課題が明らかになった.(3)については,PIMプロセッサ上で連続したアドレスのメモリがCPU上では連続していないことが課題と考えていたが,UPMEMのSDKが当初想定していたよりも抽象度の高いデータ転送APIを提供していたため,(3)の調査が不要になった. さらに,一般にヘテロジニアスなメモリを持つシステムにスコープを広げて研究している.
|
Strategy for Future Research Activity |
2022年度の調査で明らかになった課題の解決を試みる. 複数のPIMプロセッサに自然に異なる処理を指示できるプログラミングモデルの構築と,個々のPIMプロセッサが持つメモリを有効利用するという課題に対しては,GPUプログラミングのように1回の実行毎に計算対象のデータを送るのではなく,PIMプロセッサ内にデータを蓄えておく.オブジェクト指向言語を対象として,PIMプロセッサのメモリにオブジェクトを配置し,そのプロキシをCPUに作ることで,プロキシ経由でPIMプロセッサ上のオブジェクトのメソッドを呼び出すことで,PIMプロセッサで計算を行う.このような実行モデルの処理系を試作し,実現可能性や性能を調査する. それと同時に,そのような実行モデルに合ったアプリケーションの調査や開発を行う.2022年度の調査で木構造の探索や分割統治型の文字列処理が有望と分かったので,UPMEMを活用して,それらを高速に行うプログラムをUPMEMのネイティブアプリケーションとして開発する.これにより,翌年度以降に評価で用いるベンチマークプログラムの開発の準備をする. 消費電力の見積りを含む性能評価手法の確立のためには,既存のシミュレータであるSMCSimを参考に,計算コアの命令セットやメモリ階層のアーキテクチャなどの UPMEM 独自の環境を再現する方法を研究する.
|
Report
(1 results)
Research Products
(4 results)