[SCore-users-jp] PM/Myrinet及びPM/S hmem におけるゼロコピー機能のメカニズム

kameyama @ pccluster.org kameyama @ pccluster.org
2004年 2月 25日 (水) 16:31:44 JST


亀山です.

In article <200402250622.PAA16758 @ smgw01.itg.hitachi.co.jp.> hi-morita @ itg.hitachi.co.jp wrotes:
> 通信部と演算部がオーバーラップしていないMPIを使用したプログラム(参考(1))
> において、ゼロコピー機能を用いて性能測定を実施しました。
> 
> その結果、ノード内MPI並列の性能測定(参考(2))ではゼロコピー機能をONにした
> 場合、ゼロコピー機能をOFFにした場合と比較して演算部の性能が向上しました。
> 
> しかし、ノード間及びノード内MPI並列の性能測定(参考(3))ではゼロコピー機能
> をONにした場合、ゼロコピー機能をOFFにした場合と比較して演算部の性能が劣
> 化しました。
> 
> 上記の現象の原因を下記の点を考慮してご教授頂きたく、よろしくお願い致します。
> 
> ・ゼロコピー機能がどのような動作をするのか。(動作の仕様を詳細にお願いします。)

MPI の zerocopy 機能は, PM の pmRead()
  http://www.pccluster.org/score/dist/score/html/ja/man/man3/pmRead.html
を使用して実現しています.

zerocopy を off にした場合, プロセス間のデータは, 一旦 PM で確保したバッファに
保存して, CPU がそのバッファからコピーします.

zerocopy を on にした場合は, データはバッファを経由せず, 直接必要なところに
コピーされます.
(ノード内だと, 1 回のメモリーコピーが行なわれます.
Myrinet だと, NIC が受信したら, DMA によってコピーされます.)

このため, 余分なバッファからのコピーを省くことができるため, バンド幅の
向上が期待されますが, その領域を lock したり unlock したり,
(Myrinet の場合はその領域を NIC に記録したり)
remote と local でアドレスを交換したりする必要があるため,
オーバヘッドがあります.

このため, zerocopy が有効であるかどうかは一回に転送するデータのサイズ,
ネットワークの種類などに依存します.

> ・動作の仕様を考慮して、ゼロコピー機能が演算に対してどのような影響を与えるの
> か。

これは演算部で何を行なっているか不明のため,
よくわかりません.

                       from Kameyama Toyohisa



SCore-users-jp メーリングリストの案内