分散アルゴリズムとは何ですか?
分散アルゴリズムは、さまざまな相互接続されたプロセッサを使用する必要があるコンピューターソフトウェアで使用される特定のタイプのアルゴリズムです。分散アルゴリズムは、それぞれが異なるプロセッサで、アルゴリズムのさまざまな部分を同時に実行する責任があります。プロセッサは、ソフトウェアが適切に実行されるように互いに通信する必要があります。
分散アルゴリズムを理解するには、典型的なアルゴリズムとは何かを調べるのが最も簡単です。アルゴリズムは、目的のプロセスを完了したり、問題を解決したりするために取らなければならない手順を最初から完成させるための定義されたプロセスです。たとえば、手紙を郵送するためのアルゴリズムは、次の行に沿って何かになります。封筒を取得します
2。封筒を開きます
3。文字を挿入します
4。封筒を閉じます
5。アタッチスタンプ
これは、プロセスが完了するまで続きます。特定の手順は他のステップに分岐する場合があります。これらは、主な手順のいずれかを完了できなかった場合に何をすべきかを人に伝え、最終的に彼を元のアルゴリズムに戻します。重要なことは、アルゴリズムが最終的に、その人がどの経路に到達するかに関係なく、最終的に終了しなければならないということです。
技術的には、定義されたプロセスであるすべてのものは、上記のレターの郵送の例など、アルゴリズムになる可能性があります。コンピューターアルゴリズムは、コンピューターに何をすべきかを伝えるように設計されたアルゴリズムです。その間にいくつかのステップがある開始と終了ステップがあります。コンピューターがアクションを実行するのに役立ち、何かがうまくいかない場合は何をすべきかを指示します。コンピューターが必要とするファイルが欠落している場合、そのステップをスキップするか、その代わりに代替ステップを実行するように指示する場合があります。
アルゴリズムと分散アルゴリズムの違いは、単に分散アルゴリズムが個別のプロセッサで実行され、通常のコンピューターアルゴリズムがないように設計されていることです。各プロセッサは別のパフォーマンスを発揮しています全体的なアルゴリズムの一部を同時に、結果を送信します。
分散アルゴリズムを使用するときに発生するいくつかの問題があります。プロセッサの1つが故障する可能性があり、アルゴリズムのその部分が動作を停止します。また、プロセッサ間のコミュニケーションの問題が発生する可能性があり、分散アルゴリズムがプロセスの終了に到達しないようにします。多くのプログラマーが分散アルゴリズムを研究して、これらの問題を克服する方法を見つけ、技術的エラーがある場合でもアルゴリズムが完了することを確認します。