WEKO3
アイテム
ハードウェア抽象化記述SHIMのためのLLVM-IR命令列実行サイクル数推定手法
http://hdl.handle.net/2237/0002014126
http://hdl.handle.net/2237/0002014126c67dd802-36c4-4e08-a715-5bae0104432a
| 名前 / ファイル | ライセンス | アクション |
|---|---|---|
|
|
|
| アイテムタイプ | itemtype_ver1(1) | |||||||
|---|---|---|---|---|---|---|---|---|
| 公開日 | 2026-03-31 | |||||||
| タイトル | ||||||||
| タイトル | ハードウェア抽象化記述SHIMのためのLLVM-IR命令列実行サイクル数推定手法 | |||||||
| 言語 | ja | |||||||
| 著者 |
荒島, 聡太
× 荒島, 聡太
|
|||||||
| アクセス権 | ||||||||
| アクセス権 | open access | |||||||
| アクセス権URI | http://purl.org/coar/access_right/c_abf2 | |||||||
| 内容記述 | ||||||||
| 内容記述タイプ | Abstract | |||||||
| 内容記述 | 近年,組込みシステムの大規模化や複雑化により,シングルコアプロセッサでは消費電力,発熱量などの問題があり,マルチ・メニーコアプロセッサによる性能向上が期待されている.また,制御設計効率化のため,制御を抽象的なモデルで表現し,モデル上で設計を行うモデルベース開発が普及している.このような背景から,モデルベース開発を用いたマルチ・メニーコアプロセッサ向け並列化ソフトウェア設計が求められている.モデルベース開発によるマルチ・メニーコアプロセッサ向けソフトウェア設計手法の一つにモデルベース並列化という手法がある.モデルベース並列化ではモデル設計段階でタスク分散を考慮した設計を行う.並列度の高いモデルを設計するためにはモデル設計段階で各ブロックの処理時間を把握し,各プロセッサに均等になるように処理を割り当てることが重要である.そのためには,各ブロックの処理時間を推測する性能見積手法が必要となる.そのための性能見積手法として,SHIM 性能見積手法が研究されている.SHIM とは,ハードウェアの特徴をソフトウェア向けに表現したデータ構造で,各命令に対して Best,Typical, Worst の 3 値で性能値を表現する.SHIM を用いて見積を行うことで,ハードウェアの特徴を考慮した性能見積を行うことができる.SHIM では汎用性のため命令セットを LLVM-IR としているが,LLVM-IR の1命令からターゲットアセンブラ命令列への変換が一意ではないため実行時間にばらつきがあり,見積精度の目標は± 20% 程度と言われている.SHIM では LLVM-IR 命令セットを用いてソフトウェア性能を見積ることより,SHIMを作成する際には各 LLVM-IR 命令の実行性能見積が必要である.LLVM-IR 命令性能見積に対しては様々な手法が研究されており,対象ハードウェアごとにハードウェアの特徴を考慮した測定プログラムを作成する方法や回帰分析を用いる方法等が提案されてきた.近年では機械学習によって LLVM-IR 命令の実行性能を推定する研究が進められている.しかし,従来の 3 値分類による推定では,実行時間の動的な変動を十分に捉えきれず,積算誤差が大きくなる課題がある.そこで本研究では,LLVM-IR 命令の実行サイクル数を 5 段階の性能クラスに分類して推定する機械学習モデルを提案する.具体的には,統計的な分布に基づき「中間値」ラベルを導入することで実機の複雑な挙動を精緻にモデル化し,命令変換時のサイクル数合算処理やライブラリ呼び出しの抽象化を考慮した特徴量を構成した.ルネサスエレクトロニクス社 RH850 を用いた評価の結果,3 値分類と比較して,ソフトウェア全体の性能見積誤差を 27.67% から 23.95% へと低減し,モデル設計段階における高精度なタスク分散設計が可能となることを示した. | |||||||
| 言語 | ja | |||||||
| 内容記述 | ||||||||
| 内容記述タイプ | Abstract | |||||||
| 内容記述 | In recent years, the increasing scale and complexity of embedded systems have led to significant challenges in single-core processors, such as high power consumption and heat generation. Consequently, performance enhancements through multi-core and many-core processors are highly anticipated. Furthermore, Model-Based Development (MBD), which represents control logic through abstract models to improve design efficiency, has become widely adopted. Given this context, there is a strong demand for parallel software design techniques for multi-core and many-core processors using MBD. One such approach is model-based parallelization, where task distribution is considered during the model design phase. To achieve high parallelism, it is crucial to accurately grasp the execution time of each functional block and distribute processing loads equally across processors. This necessitates a performance estimation method that can predict the execution time of each block. The Software-Hardware Interface for Multi-many-core (SHIM) performance estimation method has been studied for this purpose. SHIM is a data structure that describes hardware characteristics for software, representing the performance of each instruction using three values: Best, Typical, and Worst. By utilizing SHIM, performance can be estimated while accounting for hardware-specific features. Although SHIM adopts LLVM-IR as its instruction set for versatility, the mapping from a single LLVM-IR instruction to a sequence of target assembly instructions is not unique. This lack of one-to-one correspondence leads to variations in execution time, and the target estimation accuracy is generally considered to be around ± 20%. To develop a SHIM, it is essential to estimate the execution performance of each LLVM-IR instruction. Various approaches have been explored, including the creation of hardware- specific measurement programs and the use of regression analysis. More recently, research has progressed toward estimating LLVM-IR instruction performance using machine learning. However, conventional estimation based on three-class classification fails to sufficiently capture the dynamic fluctuations in execution time, resulting in significant cumulative errors. To address this issue, this research proposes a machine learning model that classifies and estimates the execution cycles of LLVM-IR instructions into five performance classes. Specifically, by introducing ”intermediate” labels based on statistical distributions, we pre- cisely modeled the complex behavior of the actual hardware. Furthermore, we constructed features that account for the summation of cycles during instruction conversion and the abstrac- tion of library calls. Experimental evaluations with RH850 processor of Renesas Electronics demonstrate that the proposed method reduced the performance estimation error for the entire software from 27.67% to 23.95% compared to the three-class classification. These results indicate that high-precision task distribution design is achievable during the model design phase. | |||||||
| 言語 | en | |||||||
| 内容記述 | ||||||||
| 内容記述タイプ | Other | |||||||
| 内容記述 | 大学院情報学研究科 情報システム学専攻 情報プラットフォーム論講座 枝廣正人研究室 | |||||||
| 言語 | ja | |||||||
| 言語 | ||||||||
| 言語 | jpn | |||||||
| 資源タイプ | ||||||||
| 資源タイプresource | http://purl.org/coar/resource_type/c_bdcc | |||||||
| タイプ | master thesis | |||||||
| 書誌情報 |
発行日 2026-03 |
|||||||
| 学位名 | ||||||||
| 学位名 | 修士(情報学) | |||||||
| 言語 | ja | |||||||
| 学位授与機関 | ||||||||
| 学位授与機関識別子Scheme | kakenhi | |||||||
| 学位授与機関識別子 | 13901 | |||||||
| 学位授与機関名 | 名古屋大学 | |||||||
| 言語 | ja | |||||||
| 学位授与機関名 | Nagoya University | |||||||
| 言語 | en | |||||||
| 学位授与年度 | ||||||||
| 学位授与年度 | 2025 | |||||||
| 学位授与年月日 | ||||||||
| 学位授与年月日 | 2026-03 | |||||||