AR# 68049

DMA Subsystem for PCI Express (Vivado 2016.3) - パフォーマンスの数値

説明

このアンサーでは、MA Subsystem for PCI Express のパフォーマンスの数値を示します。これらの数値は、ハードウェア パフォーマンスとソフトウェア パフォーマンスの 2 つのセクションに分かれて表示されています。



このアンサーは、PCI Express ソリューション センターの一部です。

(Xilinx Answer 34536)ザイリンクス PCI Express ソリューション センター

ソリューション

ハードウェア パフォーマンス:

これは、純粋な DMA ハードウェア データ レートを表しています。ユーザー ソフトウェアおよびカーネル ドライバーの関与は考慮されていません。 

ユーザー アプリケーションによって転送をセットアップし、ある一定時間の後にレジスタをいくつか読み出してパフォーマンスの数値をチェックしました。実験はすべて、 VCU108 ボードで Gen3x8、256 ビット、および H2C と C2H の 4 チャネルをイネーブルにした状態で行われました。

グラフの数値は H2C および C2H の 1 チャネルが同時に実行されているときの数値です。システム構成:

Z77、MPS 256 バイトと MRRS 512 バイト、OS: CentOS 6.2

}



ソフトウェア パフォーマンス:

これは、転送されるバイト数と合計転送時間の比率として測定されました。この例では、合計時間に、ユーザー アプリケーションとカーネルでの処理時間、およびハードウェアでの遅延時間が含まれています。

データ レート、割り込み処理、アプリケーションが実行されているシステム、OS など、影響を与える要素はいくつもあります。良い MPS のシステムほど、パフォーマンスも良くなります。一般的なシステムの MPS は 128 バイトです。

データ スループットに影響を及ぼす主な要因の 1 つは、割り込み処理です。データ転送が完了すると、DMA では割り込みをホストに送信し、ISR によってステータスが処理されるのを待機します。

ただし、この待ち時間は予測できないため、合計データ転送時間も全体的に遅くなって予測不可能になります。


これを回避するために試すことのできるオプションが 2 つあります。


1) MSI-X 割り込み: MSI またはレガシ割り込みの代わりに MSI-X 割り込みを使用してみる。MSI-X 割り込みを使用すると、MSI またはレガシ割り込みベースのデザインの場合よりもデータ レートが良くなります。

2) ポーリング モード: データ レートが最高になるポーリング モードを使用してみる。ポーリング モードを使用すると、プロセスへの割り込みがありません。ただし、ドライバーでは、データ完了プロセスを常に監視する必要があります。

下の図は、ポーリング モードのデザインと割り込み (MSI) ベースのデザインを比較してソフトウェアの数値を示しています。H2C (ホストからカード) および C2H (カードからホスト) の両方がプロット表示されています。 

システム構成: MPS 256 バイトと MRRS 512 バイト、OS: CentOS 6.2


 


 


 


 


ポーリング モードの転送と割り込みモードの転送を比較した場合、ポーリング モードのデータ レートの方がよいことがわかります。


 



改訂履歴

2016/10/13初版
2016/10/21グラフを追加。
AR# 68049
日付 11/04/2016
ステータス アクティブ
種類 一般
IP