[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 メーリングリストの案内