これは、やさしいアルゴリズムだ!
【 これは、やさしいアルゴリズムだ!】
今回は、排他制御のアルゴリズムとして、ランポートの「bakery アルゴリズム」というのを紹介しようと思います。
「bakeryアルゴリズム」は、「パン屋のアルゴリズム」ということです。混雑している人気のパン屋をイメージしましょう。こんな感じです。
● パン屋の店先には、番号付きの整理券を発行する機械がある。整理券の番号は一つづつ増えていく。
● お客は、パン屋に入る前に、機械から整理券を受け取る。同時に一人しか整理券を受け取れない。
● パン屋には、一つのレジしかない。一番小さな番号の整理券を持ったお客から、パンを買うことができる。
パン屋じゃなくても病院でも銀行でも、身の回りの日常で混雑整理の方法として、よくみる風景ですね。
最初に、先行したダイクストラらのアルゴリズムの特徴をおさらいしておきましょう。それは、次のような性質を持っていました。
● どの時点でも、多くても一つのコンピュータしかcritical sectionに入ることができない。● どのコンピュータも、(途中でマシンが停止しなければ)最終的にはいずれcritical sectionに入ることができる。
● どのコンピュータも、非critical sectionで停止しても構わない。また、それぞれのコンピュータの処理スピードは問わない。
-------------------------------------------
セッションの動画のURL
https://youtu.be/uvx9dE5J788?list=PLQIrJ0f9gMcOeqlB09PdBddfXLv2QjG-F
スライドのpdf
https://drive.google.com/file/d/130ERBEEOCG4SIMs4WD3_s5HpZNHDRYXS/view?usp=sharing
関連blog 「これは、やさしいアルゴリズムだ!」https://maruyama097.blogspot.com/2022/07/blog-post_08.html
参考資料
Leslie Lamport, A new solution of Dijkstra's concurrent programming problem ,Communications of the ACM Volume 17 Issue 8 Aug. 1974 pp 453–455
https://dl.acm.org/doi/pdf/10.1145/361082.361093
セミナーのまとめページ
https://www.marulabo.net/docs/concurrent/
セミナー告知・申込ページ
https://concurrent.peatix.com/view
-------------------------------------------
コメント
コメントを投稿