C ++
 Computer >> コンピューター >  >> プログラミング >> C ++

C /C++でのバークレーのアルゴリズム


バークレーのアルゴリズムは、分散システムのクロック同期に使用されるアルゴリズムです。このアルゴリズムは、分散ネットワークの一部またはすべてのシステムにこれらの問題のいずれかがある場合に使用されます-

  • A.マシンには正確なタイムソースがありません。

  • B.ネットワークまたはマシンにUTCサーバーがありません。

分散システム 物理的に分離されているが、ネットワークを使用して相互にリンクされている複数のノードが含まれています。

C /C++でのバークレーのアルゴリズム

バークレーのアルゴリズム

このアルゴリズムでは、システムはノードをマスター/リーダーノードとして選択します。これは、サーバーのプールノードから実行されます。

アルゴリズムは-

です
  • 選出プロセスにより、サーバー内のマスターノードが選択されます。

  • 次に、リーダーは、クリスティアンのアルゴリズムと同様の方法で時間を提供するフォロワーをポーリングします 、これは定期的に行われます。

  • 次に、リーダーは、リーダーノードに提供される時間の平均であるグローバルクロック時間に同期するために、他のノードが変更または調整する必要がある相対時間を計算します。

バークレーアルゴリズムを使用して時計を同期するための手順をまとめてみましょう。

分散システム内のノードとそのクロックタイミング-

N1 -> 14:00 (master node)
N2 -> 13: 46
N3 -> 14: 15

ステップ1 −リーダーが選出され、ノードN1がシステムのマスターになります。

ステップ2 −リーダーはすべてのノードから時間を要求します。

N1 -> time : 14:00
N2 -> time : 13:46
N3 -> time : 14:20

ステップ3 −リーダーは時間を平均し、修正時間をノードに送り返します。

N1 -> Corrected Time 14:02 (+2)
N2 -> Corrected Time 14:02 (+16)
N3 -> Corrected Time 14:02 (-18)

これは、分散システムのノードの同期がバークレーのアルゴリズムを使用してどのように行われるかを示しています。


  1. C ++のベルマンフォードアルゴリズム?

    ベルマンフォードアルゴリズムは、開始頂点として扱われる頂点から計算された頂点の最短経路を見つけるために使用される動的計画法アルゴリズムです。このアルゴリズムは反復法に従い、最短パスを継続的に見つけようとします。重み付きグラフのベルマンフォードアルゴリズム。 このアルゴリズムは、1955年にAlphonsoshimbelによって提案されました。アルゴリズムにはRichardBellmanとLesterFordによる改訂があります。 1956年と1958年に、このアルゴリズムのためにベルマンフォードアルゴリズムと名付けられました。 。このアルゴリズムは、1957年にEward F. Mooreに

  2. Window上のc++のトップIDEは何ですか?

    大きなプロジェクトは、単なるテキストエディタでは管理が困難です。このような場合にIDEを使用すると、生産性が向上し、フラストレーションが軽減される可能性があります。 IDEにはさまざまな種類があり、ニーズに合ったものを選択する必要があります。これがWindowに最適なC/C++IDEのリストです。 Visual Studio − Microsoftが開発したIDEです。このIDEは、Windows上でC ++のプログラムを構築、開発、およびプロファイリングするためのクラス最高のツールを備えています。 Visual Studioには、多数のプラグインを備えた巨大なプラグインストアもありま