1

50 ノードのクラスターがあり、各ノードには計算用に 8 つのコアがあります。200 個のレデューサーを課す予定のジョブがある場合、パフォーマンスを向上させるための適切な計算リソース割り当て戦略は何でしょうか?

つまり、それぞれに 50 ノードと 4 コアを割り当てるのと、それぞれに 25 ノードと 8 コアを割り当てるのとではどちらがよいのでしょうか? どのような場合にどちらが良いですか?

4

2 に答える 2

1

あなたの質問に答えるために、それはいくつかのことに依存します。私の意見では、一般的には 50 ノードの方が優れています。

  • ディスクから大量のデータを読み取る場合は、ディスクからの読み込みを 2 倍に並列化するため、50 ノードの方が適しています。
  • 大量のデータを計算して処理している場合、コア数は処理によって 1:1 にスケーリングされないため、50 ノードの方が適しています (つまり、コア数が 2 倍であっても 2 倍の速度にはなりません... 一方、より多くのプロセッサは 1:1 近くまでスケーリングします)。
  • Hadoop は、これらのノードで TaskTracker や DataNode プロセスなどを実行する必要があり、OS レイヤーのものも実行する必要があります。それらの「テイクアップ」コアも同様です。

ただし、主な関心事がネットワークである場合は、50 ノードを使用することのいくつかの欠点を次に示します。

  • おそらく、50 ノードは 2 つのラックを超えることになります。それらはフラットなネットワーク上にありますか、それとも iter-rack 通信に対処する必要がありますか? それに応じて Hadoop をセットアップする必要があります。
  • 50 ノードをサポートするネットワーク スイッチは、25 ノードをサポートするネットワーク スイッチよりも高価になります。
  • map と reduce の間のネットワーク シャッフルにより、50 ノード クラスターの場合、スイッチの作業が少し増えますが、それでもほぼ同じ量のデータがネットワークを介して渡されます。

これらのネットワークの問題があっても、ノードの価値はコアの数だけではないという理由だけで、50 ノードの方が優れていることがわかると思います。ほとんどの場合、ディスクの数を考慮する必要があります。

于 2011-10-10T14:23:47.183 に答える
1

言うのは難しいですが、通常は常に「高ければ高いほど良い」です。障害を防ぐためには、より多くのマシンが必要です。

通常、Hadoop はコモディティ ハードウェアで問題なく、サーバーごとに 50 個の 4 コアを選択できます。

しかし、優れたハードウェア、より高い CPU 周波数、DDR3 RAM、または 10k rpm ディスクを備えている場合は、8 コアを選択します。

于 2011-10-10T14:01:06.477 に答える