1

基本的に私は単一のマスターシステムと3つのスレーブシステムを持っています。データ分割の問題を本質的に解決するため、要求/応答フェーズを使用してコンテンツを3つのクライアントシステムに送信しました。3つのクライアントシステムにコンテンツを送信した後、REQ / REPトポージーを担当するソケットを閉じ、3つのシステムすべてからコンテンツを受信するために、個々のスレーブシステムとペアになる別のソケットの束を作成しました。コード全体をローカルホストで実行しましたが、問題はなく、クライアントシステムの1つからマスターシステムに40MBのデータセットを送信しようとしても、すべてがスムーズに進みました。

問題は、ラボでこれをLAN経由で実装しようとしたときです。

  1. REQ / REPフェーズはスムーズに実行されるため、基本的にすべてのクライアントシステムがデータセットをフェッチして処理します。

  2. 大量のデータセットを処理しようとすると、クライアントとの個別のPAIRが失敗します(40MBのように、コンテンツを辞書にロードし、辞書オブジェクトのサイズが24MBになっているため、大きくは考えていません)。理由は処理されません。

LAN上での動作とシステム上での動作が異なる理由がわかりません。

私がLANで使用しているシステムは、2GBのRAMを搭載したAMDデュアルコア64ビットです(4つのシステムすべて)

コードを実行することに興味がある場合:

マスターシステムコード:http ://codepad.org/5uVCEb42

Salve1:http ://codepad.org/LNmi9vu2

Slave2:http ://codepad.org/0vmEAJYc (これはファイルから40MBのコンテンツを取り込み、最終的にマスターシステムに渡します)

Slave3:http ://codepad.org/d565lgiv

4

1 に答える 1

2

PAIRソケットは自動的に再接続されないため、LANでの使用はお勧めしません。

于 2011-03-29T08:46:26.220 に答える