🧭
分散処理を勉強した記録~その7~
この記事は、
「分散処理システム」著:真鍋義文 森北出版株式会社
を参考にしています。
今回は、「id転送の少ないリーダー選挙アルゴリズム」についてまとめました。
基本的には前回の単純なリーダー選挙アルゴリズムと同じですが、
今回はパラメータに「maxId」が追加されています。
リーダーに立候補するプロセスはmaxIdに自分のidを設定し、
隣のプロセスにidの情報を送信します。
id情報を受信したプロセスは、
受信したidが自分のmaxIdより大きい場合、
maxIdを更新し、受信したidを更に隣のプロセスに送信します。
これを繰り返し、1周します。
リーダーに立候補していたプロセスは、
maxIdと自分のidが一致していることを知り、無事リーダーになりました。
<何がおいしいのか>
転送されるid情報は、maxIdと比較された時に、
既に自分より大きいidが転送されたルートを通らなくなります。
つまり、idの転送量を少なく抑えることができます。
今回はここまでです。ありがとうございました。
Discussion