研究課題/領域番号 |
20K11751
|
研究種目 |
基盤研究(C)
|
配分区分 | 基金 |
応募区分 | 一般 |
審査区分 |
小区分60050:ソフトウェア関連
|
研究機関 | 東京都立産業技術大学院大学 |
研究代表者 |
追川 修一 東京都立産業技術大学院大学, 産業技術研究科, 教授 (00271271)
|
研究期間 (年度) |
2020-04-01 – 2024-03-31
|
研究課題ステータス |
交付 (2022年度)
|
配分額 *注記 |
4,290千円 (直接経費: 3,300千円、間接経費: 990千円)
2022年度: 1,300千円 (直接経費: 1,000千円、間接経費: 300千円)
2021年度: 1,690千円 (直接経費: 1,300千円、間接経費: 390千円)
2020年度: 1,300千円 (直接経費: 1,000千円、間接経費: 300千円)
|
キーワード | ソフトウェア / オペレーティングシステム / 計算機システム |
研究開始時の研究の概要 |
FPGAを用いるアプリケーションにソフトウェアと同等の利便性を提供するオペレーティングシステム基盤を実現する。ある入力に対応する出力を返すプログラムは、原理的にはCPU, FPGAのどちらでも実行可能である、ということを前提とし、FPGAが他プログラムで使用され、利用可能でない場合には、CPUをFPGAの補助的な計算資源とみなし、CPUで処理を継続することで、FPGAを含む計算資源の透過的な多重化を実現する。
|
研究実績の概要 |
2022年度は、FPGAを含む計算資源の多重化を実現する開発環境の開発ならびに評価についての研究を行った。 本研究では、FPGAは1つのプロセスが占有して使用するものであり、他のFPGAを使用するプロセスは実行を開始することができないという問題点を解決するため、計算資源としてはCPUはFPGAを代替する、またその逆も成り立つという、CPUとFPGAを並列に考えるという概念を取り入れることで、必要とする計算資源が占有されている場合は、他の利用可能な計算資源を用いて実行するという選択肢を得ることで、計算資源全体での多重化を可能にしている。そのための開発環境として、単一のプログラムから複数の利用可能な計算資源で実行可能なバイナリ等を生成できる環境が必要となる。そのプログラムから、CPUについてはコンパイルして実行可能バイナリを生成し、FPGAについては高位合成(HLS)によりFPGA回路に変換してIPを生成する開発環境の開発を行った。 開発環境は、複数のオペレーティングシステム間でのポータビリティを考慮し、Dockerを用いて開発を行った。評価には汎用性を重視し、Windowsを用いて行った。WindowsではDocker for WindowsとWSL2上のDockerの2通りの方法を用いることができるため、それら両方に開発環境を構築し、比較を行った。プログラムのソースコードをどこに配置するかが開発効率に影響するため、ホスト環境にソースコードを配置するかたちで生成時間を計測したところ、Windows上にソースコードを配置するDocker for Windowsよりも、WSL2上のUbuntuにソースコードを配置するWSL2上のDockerの方が約3倍高速であり、開発環境としてはWSL2を用いる方が有効であることを明らかにした。
|
現在までの達成度 (区分) |
現在までの達成度 (区分)
2: おおむね順調に進展している
理由
本研究において中心的な機構となる、FPGAを含む計算資源の多重化を実現する機構の開発を行い、その開発環境を構築し、実験を行うことができている。
|
今後の研究の推進方策 |
本研究の対象は主に組込みシステムとなることから、プログラムの軽量な実行環境が求められる。そこで、軽量な実行環境として近年注目が集まっているUnikernelについての調査を行い、従来はユーザレベルのプログラムとして実現されていたものを、そのままのかたちでカーネル内のプログラムとすることで、プログラムの実行環境として軽量化する方法についての研究に取り組む。
|