並列プログラムと明確に定義されたハードウェアが与えられた場合、その計算対通信比 (CCR) を決定する方法。これは、プログラムの粒度とその後の分析を決定するためのものです。文献はこの用語を説明し、プログラムの粒度に関連して使用していますが、CCR が高いか低いかを推定するものは見つかりませんでした。
1 に答える
コンピューティングと通信を比較するには、両方を共通の単位で測定する必要があります。一般的に、私は時間の尺度を使用します。次に、プログラムの比率が 80:20 (計算:通信) であることがわかる場合があります。
50:50 の比率はコミュニケーションにとって高い値であると主張する人もいるかもしれませんが、これらの数値は実際には、他の並列プログラムの同等の数値と比較してのみ意味を持ちます。したがって、プログラム A とプログラム B が同じ問題を解くが、A が 80:20 で B が 70:30 の比率である場合、クロックの各ティックで A が B よりも多くの計算を行うというステートメントを作成できます。同じ問題を解決していない場合は、リンゴとオレンジを比較していることに気付くかもしれません。
そして、計算は一般的にコミュニケーションよりも好まれますが、これらの要素は相対的なものです。プログラム A と B を考えると、確かに B は (比較的) より多くの通信を行いますが、B の方が全体的に A よりも時間がかからない可能性もあります。おそらく、B はプロセス間でより大きなメッセージの送信に時間を費やしているのに対し、A はより大きなメッセージの送信を避けるために重複した計算を行っています。メッセージ。好きな理由で好きなプログラムを選択してください。
これらの問題について十分な経験があれば、通常、プログラムの構造を調べて比率について知識に基づいた推測を行うことができますが、最終的にはそれを測定して、賢明な結論を導き出す必要があります。