[論文レビュー] Open Tiled Manycore System-on-Chip
OpTiMSoC は、タイリングされたマルチコア SoC プラットフォームのプロトタイピングを可能にするオープンで拡張可能なハードウェア・ソフトウェアスタックを提案する。本研究では、モジュラーな Network-on-Chip (LISNoC)、複数のターゲットプラットフォーム(シミュレーション、FPGA)への対応、およびトレースベースで分散化されたインfra構造を用いた統合的デバッグにより、スケーラブルなマルチコアアーキテクチャに関する研究を促進する。主な貢献は、さまざまなメモリモデル、プログラミングインタフェース(MCAPI、MTAPI)、ランタイムシステムをサポートする統一的でオープンソースの環境を提供し、将来のマルチコアシステムのプロトタイピングと共同設計を加速することにある。
Manycore System-on-Chip include an increasing amount of processing elements and have become an important research topic for improvements of both hardware and software. While research can be conducted using system simulators, prototyping requires a variety of components and is very time consuming. With the Open Tiled Manycore System-on-Chip (OpTiMSoC) we aim at building such an environment for use in our and other research projects as prototyping platform. This paper describes the project goals and aspects of OpTiMSoC and summarizes the current status and ideas.
研究の動機と目的
- タイリングされたマルチコア SoC の研究における共通でオープンかつ拡張可能なプロトタイピングプラットフォームの欠如を解消すること。
- シミュレーションから FPGA ベースのエミュレーションに至るまで統一された環境を提供することで、ハードウェアとソフトウェアの共同設計を可能にすること。
- 複数のタイル組織にわたる、分散型、パーティショニングされたグローバル、共有メモリの多様なメモリモデルを効果的にサポートすること。
- 標準化されたプログラミングインタフェース(MCAPI、MTAPI)と軽量ランタイムシステムを統合し、アプリケーションの移植性を高めること。
- 複雑で複数のクロックドメインを持つマルチコアシステムにおける可視性を確保するため、スケーラブルで分散化され、トレースベースのデバッグインfraを構築すること。
提案手法
- パケットスイッチドでワームホール転送を行う Network-on-Chip (LISNoC) を備えた再利用可能なハードウェアコンポONENTの基礎ライブラリを構築し、仮想チャネルをサポートし、さまざまなトポロジーを対応可能にする。
- OpenRISC プロセッサを基本プロセッシングエレメントとして採用し、LEON3 などの代替品への拡張性を確保し、メモリ、I/O、ネットワークアダプタコンポonent を統合する。
- 各コンポonent(コア、ルータ、メモリ)にタイムスタンプ付きトレースを収集するデバッグモジュールを内蔵したモジュラーでトレースベースのデバッグシステムを実装する。
- すべてのトレースデータを、外部ホストでの解析を想定した専用の 16 ビットバッファ付きデバッグ NoC(リング構造)を介してルーティングし、liboptimsochost を介して抽象化する。
- RTL シミュレーション(EDA ツール)、Verilator ベースの C++ シミュレーション、ZTEX 1.15 ボードと ModelSim を用いた FPGA エミュレーションを含む、複数のターゲットプラットフォームをサポートする。
- スレッドスケジューリングと仮想メモリ管理を備えた最小限のランタイムシステムを実装し、MCAPI および MTAPI のベースライン実装を提供して、標準化された通信およびタスク管理を可能にする。
実験結果
リサーチクエスチョン
- RQ1シミュレーション、エミュレーション、FPGA デプロイにわたるタイリングマルチコア SoC のプロトタイピングを加速するため、統一的でオープンソースのプラットフォームをどのように設計できるか?
- RQ2パフォーマンスへの影響を最小限に抑えて、異種で複数のクロックドメインを持つマルチコアシステムにおけるデバッグと可視性を効果的に実現する方法は何か?
- RQ3分散型、パーティショニングされたグローバル、共有メモリの多様なメモリ組織モデルを、1 つの拡張可能なハードウェア・ソフトウェアスタック内で効率的にサポートするにはどうすればよいか?
- RQ4標準化された API スタック(MCAPI、MTAPI)は、異なるマルチコアプラットフォーム構成にわたる移植可能な並列プログラミングをどのように可能にするか?
- RQ5異種コンポonent からのトレースのクロストリガリングおよび時間的相関をサポートするため、モジュラーで分散化され、トレースベースのデバッグインfraをどのようにアーキテクチャ設計できるか?
主な発見
- OpTiMSoC は、シミュレーション、Verilator ベースの C++ シミュレーション、FPGA ベースのエミュレーションをサポートするモジュラーでオープンソースの基盤を効果的に提供している。
- LISNoC NoC 実装により、ワームホールルーティングと仮想チャネルを用いたスケーラブルでデッドロックのない通信が実現され、メッシュやリングを含むさまざまなトポロジーが対応可能である。
- トレースベースで分散化されたデバッグインfraにより、CPU コア、NoC ルータ、メモリモジュールからのトレースのクロストリガリングおよび時間的相関が、専用のデバッグ NoC を通じて可能である。
- ネットワークアダプタの構成可能設計により、3 つの主要なメモリモデル(分散型、パーティショニングされたグローバル、共有)がサポートされており、ライトスルーのスナッピングに加え、将来のライトバックキャッシュコherency のサポートも計画されている。
- MCAPI および MTAPI のベースライン実装が統合されており、組み込みマルチコアアプリケーション向けに移植可能なメッセージパス方式とタスク管理が可能である。
- ランタイムシステムにはスレッドスケジューラと仮想メモリマネージャが含まれており、マイクロカーネルやフルオペレーティングシステムの移植の基盤を形成しており、サイクルレベルの最適化よりも可読性と保守性に重点を置いている。
より良い研究を、今すぐ始めましょう
論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。