FPGA開発日記

カテゴリ別記事インデックス https://msyksphinz.github.io/github_pages , English Version https://fpgadevdiary.hatenadiary.com/

BOOM Explorerの論文を読む (4. 実験結果と結論)

BOOM Explorerという論文を読んでいる。ずいぶん時間が空いたが続き。VLSIの最適化された設計空間を探すのは時間がかかって大変。どうやって適切な探索空間を見つけだすかが問題となる。

難しそうな数式の部分はさておいて、とりあえず実験結果と結論まで一気に読み進んでみた。

前の記事はこちら。

msyksphinz.hatenablog.com

ieeexplore.ieee.org


実験結果

BOOM-Explorerを評価するためにChipyardフレームワークを使用して実験を行った。VLSI設計フローには7nm ASAP7 PDKを使用し、デザインの合成にはCadence Genus, 2GHzをターゲットとして合成した。シミュレーションにはSynopsys VCS, 電力測定にはPrimeTime PXを使用した。

A. ベンチマークとベースライン

すべてのマイクロアーキテクチャのコンフィグレーションを検証するのは時間がかかるため、まずはオフラインデータセットを構築する。オフラインデータセットは表Iの合法的なマイクロアーキテクチャのコンフィグレーションからランダムにサンプリングした994のコンフィグレーションのデータセットである。これらのデザインは電力と性能を測定するためにそれぞれVLSIのフローに流した。各デザインにおけるVLSIのデータフローは、約6~14時間かかっている。

使用したベンチマーク:median, mt-vvadd, whetstone, mm

4つのベンチマークの平均クロックサイクルと消費電力を、そのコンフィグレーションでの性能と消費電力値として表記している。

比較対象としては以下の既存技術である:

  • ANN-based method [18] (shorted as ASP-LOS'06)
    • ANNを積み重ねて、複雑なチップマルチプ ロセッサを含むデザインの性能を予測するものである。
  • 回帰に基づく手法 [19] (HPCA'07)
    • 非線形変換を伴う回帰モデルを活用して、 POWER4/POWER5 デザインの電力-性能パレートカーブを探索します。
  • AdaBoost-RT-based method [6] (abbreviated as DAC'16)
    • OAサンプリングと能動学習ベースのAdaBoost回帰木モデルを利用し、マイクロアーキテクチャの性能を探索するものである。

これらの技術は、それぞれマイクロアーキテクチャの探索において有効であることが証明されている。そこで、これらの手法とBOOM-Explorerを比較することが必要である。

  • HLS 予測モデルベース手法 [36] (DAC'19 と命名

出発点は異なるが、その方法はロバストで移植可能であることが証明された。さらに、BOOM-Explorer を従来の機械学習モデルと比較する。

  • すなわちサポートベクトル回帰(SVR
  • ランダムフォレスト
  • XGBoost [37]

Simulated Annealingは、従来の機械学習アルゴリズム、例えば、SVR、ランダムフォレスト、XGBoostに昇華される。

B. 実験設定

BOOM-Explorer の設定では,DKL-GP はそれぞれ 1000,500,50 の隠れニューロンを持つ 3 つの隠れ層を積層し,深層カーネル学習の非線形変換として ReLU を採用した.Adam optimizer [38]を使用し、初期学習率は0.001に等しい。DKL-GP は MicroAL に従ってサンプリングされた 5 つのマイクロアーキテクチャで初期化され、BOOM-Explorer は9回のベイズ探索を順次実行する。すべての実験はベースラインと合わせて10回繰り返し、その平均値を測定した。平均参照集合距離(ADRS)と全体実行時間(ORT)は性能比較のための2つの指標である。ADRSは式(8)に示すように、設計空間の探索問題で広く用いられており、学習されたパレート最適集合が設計空間の実際のパレート最適集合にどれだけ近いかを測定するためのものである。

C. 結果分析

図5はベースラインとBOOM-Explorerで得られたパレート最適集合の学習結果を示している。この結果から、BOOM-Explorerが学習したパレート最適集合は、実際のパレート最適集合に非常に近く、ベースラインを大きく上回っていることがわかる。

f:id:msyksphinz:20220323223239p:plain

MicroALでより大きな初期化セットをサンプリングすれば、BOOM-Explorerはより良い予測的パレート最適セットを得ることができるようになる。 最後に、消費電力と性能のバランスをうまくとるために、さまざまな設計を実現することができる。

D. 最適な BOOM マイクロアーキテクチャ設計

BOOM-Explorerが発見したパレート最適集合から我々のパレートデザインを選択し、シニアエンジニアが開発した2ワイドBOOMと比較した[1]。

f:id:msyksphinz:20220323223337p:plain

前述した 2 つの BOOM のマイクロアーキテクチャを表 IV に示す。表 IV の「設計パラメータ」で示されるように、我々の Pareto 設計は 2 幅の BOOM と比較して同じ DecodeWidth を有している。しかし、分岐予測器(RasEntry、BranchCountなど)、リオーダバッファのエントリなどのハードウェアコンポーネントは減少している。一方、命令発行幅、LDQ、STQなどは大きくなっている。さらに、異なるアソシエイト・セットなど、異なるキャッ シュ組織を持つ。セクション II-A で紹介した LSU がボトルネックになりやすいため、Pareto 設計では LDQ、STQ のハードウェア資源を増やし、一方で D-Cache のアソシエイトセットと MSHR エントリを増やしてより多くのデータ競合を克服するようにした。さらに、RASとBTBについては、分岐やジャンプ命令が少ないため、リソースを削減した。必要なコンポーネントを増やしながら、無駄なハードウェアリソースを削減することで、パレート設計は消費電力と性能のトレードオフをより良くしている。

f:id:msyksphinz:20220323223405p:plain

Pareto 設計の優位性を 2 ワイド BOOM と比較して実証するため、両者をより多くのベンチマークで評価し、表 IV にこれらすべてのベンチマークの平均消費電力とクロックサイクルを示した。これらのベンチマークは、例えば、add-int, add-fp などは ISA 基本命令から、iir, firdim などは DSP 向けアルゴリズム [39] から、 compress, duff などはリアルタイム計算アプリケーション [40] などから選ばれている。図6に両者の消費電力と性能の比較を示す。これらのベンチマークすべてにおいて、我々のPareto de-signは2-wide BOOMに比べて約2.11%高速に動作し、同時に3.45%少ない電力を消費していることがわかる。

結論

本論文では、マイクロアーキテクチャの設計空間におけるパレート最適性を短時間で探索するBOOM-Explorerを提案した。本論文は、RISC-Vコミュニティに設計空間の自動探索ソリューションを導入した最初の研究であり、我々の知る限りにおいて、本論文はRISC-Vコミュニティにおける最初の研究である。本コミュニティでは、プロセッサのマイクロアーキテクチャ設計空間の探索をさらに改善するために、多くの研究が行われることが期待される。