2

ネットワーク経由で計算されたデータを送受信することの影響を最小限に抑える必要があるプロジェクトがあります。

私の構成では、コンピューターの (小さな) グリッドが多数の値を計算します (matrix_i^n、各マシンには多数の i が割り当てられています)。これらの値は、計算された値のプロパティに応じて、ネットワーク経由で別のコンピューターに送信されます (平均して、すべてのコンピューターは同じ数の値を受け取ります)。

これらの値を計算するのに必要な時間を最適化したいと思います (事前に決められた m 乗まで)。これを行うには、中間結果を転送するための最良の方法を選択する必要があります。

  • すべてを事前計算してから、すべての値を適切なコンピューターに交換します
  • すべての値が利用可能になり次第、適切なコンピュータに送信します
  • 計算中にデータの小さなパックが交換されるハイブリッド ソリューション

ネットワーク転送は非常に遅いため、できるだけ早くデータ転送を開始する必要があると感じていますが、CPU のオーバーヘッド (より多くの例外を処理するため、スケジューラの作業が増える) が計算のパフォーマンスを低下させないかどうかはわかりません。 .

私が信頼できるドキュメント、または自分でテストを行うために使用できる優れたベンチマーク スイート (C で記述) を知っていますか?

ありがとうございました

4

1 に答える 1

0

一般に、ネットワークの CPU 使用率は、実行する I/O 呼び出しの量によって決まります。可能であれば、バッファ サイズを簡単に調整してテストできるようにアプリを設計してください。十分なバッファリングを使用すると、10gb/s は問題ありません。

どのOSを使用していますか?必要になるとは思えませんが、Windows 8 には登録済み I/Oがあり、遅延と CPU 使用率が非常に低くなるように設計されています。

于 2012-12-03T16:33:13.253 に答える