[論文レビュー] MemPool: A Scalable Manycore Architecture With a Low-Latency Shared L1 Memory
MemPoolは、256個の独立してプログラマブルなSnitchコアが低遅延で1 MiBのマルチバンクL1スクラッチパッドメモリ(SPM)を共有するスケーラブルな多数コアRISC-Vアーキテクチャを提示する。180 GOPS/Wの効率で最大229 GOPSの性能を達成する。階層的インターコネクト、最適化された命令パス、カスタムDMAを活用し、グローバルメモリアクセスを≤5サイクルで実現し、スタールを最小限に抑え、大規模なスケーラビリティと高いパフォーマンスを実現する。
Shared L1 memory clusters are a common architectural pattern (e.g., in GPGPUs) for building efficient and flexible multi-processing-element (PE) engines. However, it is a common belief that these tightly-coupled clusters would not scale beyond a few tens of PEs. In this work, we tackle scaling shared L1 clusters to hundreds of PEs while supporting a flexible and productive programming model and maintaining high efficiency. We present MemPool, a manycore system with 256 RV32IMAXpulpimg "Snitch" cores featuring application-tunable functional units. We designed and implemented an efficient low-latency PE to L1-memory interconnect, an optimized instruction path to ensure each PE's independent execution, and a powerful DMA engine and system interconnect to stream data in and out. MemPool is easy to program, with all the cores sharing a global view of a large, multi-banked, L1 scratchpad memory, accessible within at most five cycles in the absence of conflicts. We provide multiple runtimes to program MemPool at different abstraction levels and illustrate its versatility with a wide set of applications. MemPool runs at 600 MHz (60 gate delays) in typical conditions (TT/0.80 V/25 °C) in 22 nm FDX technology and achieves a performance of up to 229 GOPS or 180 GOPS/W with less than 2% of execution stalls.
研究の動機と目的
- 数十コアを超える共有L1メモリクラスタのスケーラビリティ課題に取り組み、低遅延と高い効率を維持する。
- SIMTおよびマルチクラスタ設計の制限を克服し、数百コアを独立して柔軟にプログラミング可能にし、グローバルメモリアクセスを可能にする。
- 一般用途ワークロードを最小限のアーキテクチャ的複雑性で高い利用度を実現できる、スケーラブルでエネルギー効率の良い多数コアシステムを設計する。
- 不規則なデータ並列ワークロードに対する効率的なデータ移動と同期を、カスタムDMAと低遅延インターコネクトで実現する。
提案手法
- 256コアすべてでL1 SPMアクセスを≤5サイクルで保証する階層的で低遅延のインターコネクトを実装する。
- キャッシュベースでスケーラブルな命令パスを設計し、各コアに独立して命令を供給することで、パイプラインスタールを最小限に抑える。
- 分散型DMAエンジンを統合し、共有L1 SPMへのデータストリーミングを効率的に行い、CPUのオーバーヘッドを低減する。
- ハイブリッドアドレッシング方式とDSP拡張子を活用し、RISC-Vコアにおける計算スループットを向上させる。
- メモリ遅延耐性を高めるためにSnitchコアを最適化し、インターコネクト遅延を効果的に隠蔽する。
- コンパイラおよびランタイム統合(例:OpenMP、Halide)による複数のプログラミング抽象化をサポートし、生産性を高める。
実験結果
リサーチクエスチョン
- RQ1共有L1メモリクラスタを256個の独立してプログラマブルなRISC-Vコアにスケーリング可能であり、低遅延アクセスやエネルギー効率を損なわないか?
- RQ2大規模な多数コアクラスタにおいても≤5サイクルのアクセス遅延を維持できる低遅延インターコネクトをどのように設計できるか?
- RQ3高コア数を有する共有メモリ多数コアシステムにおいて、アーキテクチャ的スタールとメモリアクセスのオーバーヘッドをどの程度まで低減できるか?
- RQ4カスタムDMAおよび命令パス設計が、スケーラブルな多数コアシステムにおいて高い利用度と低いオーバーヘッドを実現するのにどの程度効果的か?
- RQ5一般用途で不規則なワークロードを、最小限のパフォーマンス損失で効率的にプログラミングおよび実行できるか?
主な発見
- MemPoolは22 nm FDXプロセス技術を用いて、ピーク性能229 GOPS、エネルギー効率180 GOPS/Wを達成した。
- システムは600 MHz(60ゲート遅延)で動作し、実行スタールがわずか2%にとどまり、高い利用度と低いアーキテクチャ的オーバーヘッドを示している。
- 競合が発生しない場合には、共有メモリアクセス遅延が≤5サイクルに制限されており、256コアすべてで効率的なデータ共有が可能である。
- 平均コア当たりIPCは0.96に達し、理論的最大値1.0に近づいており、高い命令レベル並列性と最小限のパイプラインスタールを示している。
- ベンチマーク結果から、パフォーマンス損失の主な要因はロードストアアーキテクチャの固有の制限と同期処理に起因し、アーキテクチャ的非効率性ではないことが判明した。
- HalideおよびOpenMPツールチェーンの統合により、ヒストограм等化、レイトレイシング、BFSなどの複雑なカーネルを高パフォーマンスで簡易に実装できるようになった。
より良い研究を、今すぐ始めましょう
論文設計から論文執筆まで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。