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

Shinji Sumimoto s-sumi @ flab.fujitsu.co.jp
2004年 2月 26日 (木) 11:59:11 JST


富士通研の住元です。

Itanium2とMyrinetの組合せあれば、コピーしたほうが速いです。Zero-copy通
信が純粋にCPUの演算に影響を与えるとすれば、堀さんが指摘しているとおり、
キャッシュが無効化されて通信のたびに再ロードが発生していると思われます。

CPUの持っているパフォーマンスカウンタを使えば、これの発生について調べ
ることが出来ますが、CPUの内部に関してとても詳しい知識が必要です。

現状では、Zero-copy通信を使って効果があるのは、プロセッサのコピー性能
以上の通信バンド幅が必要な場合(10Gbpsクラス)に限られるでしょう。。

共有メモリ(1x4)で効果があるのは、2コピーが1コピーになるためでしょう。

From: Atsushi HORI <hori @ swimmy-soft.com>
Subject: Re: [SCore-users-jp] PM/Myrinet及びPM/S hmem におけるゼロコピー機能のメカニズム
Date: Thu, 26 Feb 2004 10:02:17 +0900
Message-ID: <3160634537.hori0000 @ swimmy-soft.com>

hori> 堀@スイミー・ソフトウェアです.
hori> 
hori> >書いたところまででも結構なので、是非、回答を頂けないでしょうか。
hori> >お手数ですが、よろしくお願い致します。
hori> 
hori> ということなので若干加筆訂正してお送りします.
hori> 
hori> >SCoreのゼロコピー機能に関して、下記質問に対する回答をお願い致します。
hori> 
hori> あくまで推測の域を出ませんし,計測方法の詳細も不明なのですが,
hori> 
hori> >-----以下、質問
hori> >
hori> >通信部と演算部がオーバーラップしていないMPIを使用したプログラム(参考(1))
hori> >において、ゼロコピー機能を用いて性能測定を実施しました。
hori> >
hori> >その結果、ノード内MPI並列の性能測定(参考(2))ではゼロコピー機能をONにした
hori> >場合、ゼロコピー機能をOFFにした場合と比較して演算部の性能が向上しました。
hori> >
hori> >しかし、ノード間及びノード内MPI並列の性能測定(参考(3))ではゼロコピー機能
hori> >をONにした場合、ゼロコピー機能をOFFにした場合と比較して演算部の性能が劣
hori> >化しました。
hori> 
hori> 非ゼロコピー通信では,CPU が通信に介在するため通信時間の一部は計算処理
hori> を行うことができません.一方,Myrinet のように NIC にプロセッサを用い
hori> るゼロコピー通信では,通信は NIC のプロセッサが処理をするため,CPU は
hori> 計算処理が可能です.
hori> 
hori> というのがゼロコピー通信の謳い文句で,多くの人が「ゼロコピーの方が速い
hori> 」と思いこんでいますが,これが常に正しいとは限りません.
hori> 
hori> #というのが言いたかっただけなのです.すいません.
hori> 
hori> ひとつの問題はメモリバスのバンド幅の問題があります.ゼロコピー通信時に
hori> は,プロセッサがその計算コードやデータの load/store のためにメモリにア
hori> クセスする一方で,NIC が DMA でメモリにアクセスします.PCI のバンド幅
hori> とプロセッサがメモリにアクセスするバンド幅が実際のメモリのバンド幅を超
hori> えるような場合,性能低下が生じることがあります.
hori> 
hori> 実はもう一つ問題があります.NIC からの DMA でメモリに直接書き込むと,
hori> プロセッサのキャッシュに載っている DMA と同じアドレスのキャッシュが無
hori> 効になってしまうことです.このための速度低下*も*考えられます.逆に非ゼ
hori> ロコピー通信ではプロセッサが通信データをコピーすることで通信データがキ
hori> ャッシュに載るようになり,結果として高速になる「可能性」も考えられます.
hori> 
hori> 最も多いのが,MPI で「普通に」プログラムを書くと通信と計算がオーバーラ
hori> ップしないので,ゼロコピーにしたからといって性能向上しないことです(こ
hori> れが一番悲しい!).
hori> 
hori> ----
hori> と,ここまで書いて気が付きました.1x4 と 2x4 の比較なのですね.1x4 の
hori> 時は「ゼロコピー」にはなりません.同一 PC 内の通信なのでコピーは不可避
hori> です.
hori> 
hori> 蛇足ついでですが,最近のプロセッサはメモリコピーが速いので,ゼロコピー
hori> の優位性は数年前に比べ低くなっているのではないか(逆転している場合もあ
hori> る?)と感じています.ゼロコピーはオーバーヘッドが大きいですから.
hori> 
hori> 私の経験に基づいてもう一言.並列計算では性能に影響する要因は何か,とい
hori> うことが頻繁に問われますが,詳しく調べると仮説(思惑?)とは異なる原因
hori> だったということが本当に多いです(クラスタ固有?).ですので,上の内容
hori> をそのまま「信じない」ようお願いいたします.プロセッサのカウンターやバ
hori> スアナライザーを使って「ちゃんと」調べるのが一番確かと思います.
hori> 
hori> 以上,ご参考になれば幸いです.
hori> 
hori> ----
hori> 堀 敦史(ほり あつし)
hori> スイミー・ソフトウェア株式会社
hori> 
hori> _______________________________________________
hori> SCore-users-jp mailing list
hori> SCore-users-jp @ pccluster.org
hori> http://www.pccluster.org/mailman/listinfo/score-users-jp
hori> 
hori> 
------
Shinji Sumimoto, Fujitsu Labs



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