Skip to main content
QUICK REVIEW

[論文レビュー] Streaming Message Interface: High-Performance Distributed Memory Programming on Reconfigurable Hardware

Tiziano De Matteis, Johannes de Fine Licht|arXiv (Cornell University)|Sep 7, 2019
Parallel Computing and Optimization Techniques参考文献 18被引用数 12
ひとこと要約

本稿では、再構成可能ハードウェア上の分散メモリプログラミングを対象とした、高性能で低オーバーヘッドな通信モデル「ストリーミング・メッセージ・インターフェース(SMI)」を提案する。SMIは、ストリーミング・メッセージを介してFPGA間を直接、パイプライン化された通信を可能にする。SMIは、メッセージを一時的でサイクル単位のチャネルとして扱うことで、ハイレベル合成(HLS)とシームレスに統合され、ホストの介入を回避し、専用のFPGAインターコネクト上で高い帯域幅と低遅延を達成する。

ABSTRACT

Distributed memory programming is the established paradigm used in high-performance computing (HPC) systems, requiring explicit communication between nodes and devices. When FPGAs are deployed in distributed settings, communication is typically handled either by going through the host machine, sacrificing performance, or by streaming across fixed device-to-device connections, sacrificing flexibility. We present Streaming Message Interface (SMI), a communication model and API that unifies explicit message passing with a hardware-oriented programming model, facilitating minimal-overhead, flexible, and productive inter-FPGA communication. Instead of bulk transmission, messages are streamed across the network during computation, allowing communication to be seamlessly integrated into pipelined designs. We present a high-level synthesis implementation of SMI targeting a dedicated FPGA interconnect, exposing runtime-configurable routing with support for arbitrary network topologies, and implement a set of distributed memory benchmarks. Using SMI, programmers can implement distributed, scalable HPC programs on reconfigurable hardware, without deviating from best practices for hardware design.

研究の動機と目的

  • ハイレベル合成(HLS)プログラミングにおける分散FPGAシステムのための統一的で高性能な通信モデルの欠如に対処すること。
  • 専用のFPGAインターコネクトを介して直接、低遅延なFPGA間メッセージングを可能にすることで、ホストを介した通信のオーバーヘッドを排除すること。
  • メッセージパッシングのセマンティクスをハードウェア・ストリーミング・モデルと統合し、パイプライン化されたHLS設計へのシームレスな統合を可能にすること。
  • HPC開発者になじみのある、MPIを模したAPIを提供し、マルチFPGAシステムにおける動的ルーティングと任意のネットワークトポロジーをサポートすること。
  • OpenCL対応のインテルFPGA上で、参照実装と分散メモリベンチマークを通じて、SMIの実現可能性と性能を実証すること。

提案手法

  • SMIは、メッセージをバルク転送するのではなく、サイクル単位でストリーミングする通信モデルを導入し、パイプライン化されたHLS設計への統合を可能にする。
  • このモデルは、データ転送前に確立される一時的でランタイム設定可能なチャネルを用い、MPIのセマンティクスに類似しているが、ハードウェア・ストリーミングに最適化されている。
  • ハイレベル合成の実装は、専用のFPGAインターコネクトをターゲットとし、任意のネットワークトポロジーと動的ルーティングのサポートを提供する。
  • APIはHPC開発者になじみやすく、MPIを基盤としつつ、ストリーミングおよびハードウェアに配慮したプログラミングに適応されている。
  • ホストメモリやPCIeのボトルネックを回避するため、高速シリアルリンク(例:30–40 Gbps)を介してFPGA間を直接データルーティングする。
  • 参照実装はオープンソースとして公開され、OpenCL対応のインテルFPGAをターゲットとしており、ポイントツーポイント通信および集合的通信パターンをサポートする。

実験結果

リサーチクエスチョン

  • RQ1ホストメモリやPCIeに依存せずに、パイプライン化されたハイレベル合成されたFPGA設計にメッセージパッシングを効率的に統合する方法は何か?
  • RQ2分散メモリシステムにおける低遅延、高帯域幅、かつ柔軟なFPGA間通信を実現する通信モデルは何か?
  • RQ3ストリーミングベースのインターフェースは、メッセージパッシングのセマンティクスとハードウェア・ストリーミング・モデルを統合できるか? また、HPC開発者の生産性を維持できるか?
  • RQ4SMIのランタイム設定可能なルーティングと任意のトポロジーへの対応は、マルチFPGAシステムにおけるスケーラビリティと柔軟性をどのように向上させるか?
  • RQ5HLSプログラミングにおけるホストを介したアプローチやRTLベースのアプローチと比較して、SMIは通信オーバーヘッドをどの程度低減できるか?

主な発見

  • SMIは、専用の高速シリアルリンクを介してホストを介さないFPGA間通信を可能にし、PCIeやホストメモリのボトルネックを排除する。
  • ストリーミング・モデルにより、データがサイクル単位で送受信可能となり、パイプライン化されたHLS設計にシームレスに統合され、バッファリングのオーバーヘッドが低減される。
  • インターフェースは動的でランタイム設定可能なルーティングと任意のネットワークトポロジーをサポートし、分散FPGAシステムにおける柔軟性が向上する。
  • 参照実装は、SMIがOpenCL対応のインテルFPGAに効率的に合成・デプロイ可能であることを示しており、スケーラブルなHPCワークロードをサポートする。
  • SMIは、HPC開発者がハードウェア設計のベストプラクティスを逸脱せずに、分散FPGAプログラムを記述できる、なじみやすいMPIを模したAPIを提供する。
  • SMIのオープンソース公開により、HPCおよびハードウェアコミュニティにおける採用と拡張が促進され、高性能コンピューティングにおけるFPGAの広範な活用が促進される。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。