0

約 10 ~ 20 台のコンピューターを使用するバッチ分散コンピューティング システムを作成する予定です。システムの特定の部分でのデータ フローは約 50 GB であり、他の部分ではかなり小さく 1 GB です。

Hadoop の使用を考えています。スケーラビリティは重要ではありませんが、Hadoop フレームワークが提供するフォールト トレランスと投機的な実行機能が非常に気に入っています。MPIGearmanなどのフレームワークはそのようなメカニズムを提供していないようで、自分で実装する必要があります。

ただし、より多くのデータ量とおそらくより多くのコンピューターに最適化されているように見えるため、いくつかの疑問があります. たとえば、本 Hadoop the Definitive Guide では、次のように明示的に言及されています。

ハイ パフォーマンス コンピューティング (HPC) およびグリッド コンピューティング コミュニティは、Message Passing Interface (MPI) などの API を使用して、何年にもわたって大規模なデータ処理を行ってきました。大まかに言うと、HPC のアプローチは、SAN によってホストされる共有ファイル システムにアクセスするマシンのクラスター全体に作業を分散することです。これは主に計算集約型のジョブではうまく機能しますが、ネットワーク帯域幅がボトルネックになり、計算ノードがアイドル状態になるため、ノードがより大きなデータ ボリューム (数百ギガバイト、MapReduce が実際に輝き始めるポイント) にアクセスする必要がある場合に問題になります。 .

私の質問は次のとおりです。

  1. 比較的少量のデータやコンピューターで Hadoop を使用すると、かなりのオーバーヘッドが発生しますか?
  2. Hadoop に近い方法でフォールト トレランス処理を提供する別のフレームワークはありますか?
4

1 に答える 1

2

Hadoop は、運用の観点 (まだ大規模な開発と変更が行われている新しいシステム) の両方から環境にオーバーヘッドをもたらします。維持する必要がある複数のサーバーとディスクを含むクラスター。などの計算オーバーヘッド - いわば「象を目覚めさせる」には時間がかかりますが、ジョブが 1 時間かかる場合は無視できますが、ジョブが 1 分未満で終了すると予想される場合は顕著になります。

具体的には、最近では 1 GB や 50 GB でさえメモリに収まるデータであるため、マルチスレッドの単一サーバー ソリューションの方がはるかに効果的です...

于 2013-04-28T10:10:17.103 に答える