2009-07-03 7 views
3

ロングったらしい背景MPI I/Oはどのように実装されていますか?

私は、心臓電気生理学シミュレーションのためのいくつかのコードをparallelisingに取り組んでいます。ユーザーは組み込みのスクリプト言語を使用して独自のシミュレーションを指定できるため、通信と計算のトレードオフをどのように管理するかはわかりません。これに対処するために、私は一種のランタイムプロファイラを作っています。実行時プロファイラは、実行されるシミュレーションとそれが動作しなければならないハードウェア環境を見たら、ドメイン分解を処理する方法を決定します。

私の質問はこれです:MPI I/Oは、舞台裏で実装されてどのように

?各プロセスは実際には他のノード上の単一のファイルに書き込んでいるのですか、または各プロセスがファイルを閉じたときに再びつながっていくスパースなファイルに書き込んでいますか?これを知っ

は私が通信や計算などI/O操作を考慮するかどうかを決めるのに役立ち、それに応じてバランスを調整...あなたが提供することができます任意の洞察力を事前に

感謝します。

ロス

+0

明示してください:あなたはMPI IOについて話していますか、MPIアプリケーションでIOをやっているのですか? – powerrox

答えて

3

I/Oのメカニズムは実装によって異なります。さらに、単一のI/Oスタイルはありません。一部のI/Oは、リモートランクによってキャッシュされ、実行の最後にmpirunプロセスによって収集されます。必要に応じて、一部のI/Oがローカルスクラッチスペースに書き込まれます。一部のI/Oは、NAS/SANスタイルの高性能共有ファイルシステムに書き込まれます。

一部のMPIは、パラレルファイルシステムに対するI/Oをサポートするためにサードパーティのライブラリを使用していますが、その詳細は独自のものがあります。一部のファイルシステムはローカルディスクで、その他はSAN over FiberまたはInfinBandです。

実際にI/Oに費やされた時間をどのように測定する予定ですか? pMPIインターフェイスを使用してライブラリへのすべての呼び出しを傍受する予定ですか?

+0

私はいくつかのlongwinded関数ポインタスワップアウトを計画していましたが、このpMPIインターフェイスは非常に面白く聞こえます。私は調査します。 ありがとう! –

+0

「MPIを使用したパラレルプログラミング」という本には、pMPIプロファイリングインターフェイスを使用してMPI_Sendのタイミング情報を収集する例があります。 http://books.google.com/books?id=tCVkM1z2aOoC&pg=PA271&lpg=PA271&dq=mpi+standard+profiling+interface&source=bl&ots=yawtCPR8D9&sig=Rhe_iPI5eMR5PrZkVOzpfuxSlkc&hl=en&ei=ar9QSsj3EsuYtgfD66WkBA&sa=X&oi=book_result&ct=result&resnum:あなたはここにその例を見ることができます= 10 –

+0

Schuweeeeeet。それは美しいものです。ありがとうございました。 –

関連する問題