分散処理本第40回に参加
恒例のDistributed Computingこと分散処理本を読む会になります。
Distributed Computing: Principles, Algorithms, and Systems
- 作者: Ajay D. Kshemkalyani,Mukesh Singhal
- 出版社/メーカー: Cambridge University Press
- 発売日: 2008/04/17
- メディア: Kindle版
- この商品を含むブログを見る
「10.9 Kshemkalyani–Singhal algorithm for the P-out-of-Q model」の続き(10.9.2 The algorithm)から、10章の最後までを読みきりました。
次回は「CHAPTER 11 Global predicate detection」からになります。*1
学んだこと
P-out-of-Qリソースモデルにおけるデッドロック検出アルゴリズム""Kshemkalyani–Singhal algorithm”について学びました。 こちらは個別の記事でブログを書きたいと思います。
分散処理本のKindle版に見つかった落丁について
「Algorithm 10.4 Deadlock detection algorithm」として挙げられている擬似コードの図が 「Algorithm 10.3 Kshemkalyani–Singhal algorithm for the P-out-of-Q model.」の図と全く同じものば謝って掲載されています。(しかも同じ擬似コードを2回連続で並べています)
この落丁はKindle本だけであり、紙の本では10.4の擬似コードで適切なアルゴリズムが紹介されていました。
読み手の@okachimachiorz1さんと@Shin1Miyazawaさん以外の3人の参加者はKindleを参照していたので、 読み手の説明しているアルゴリズムと対応しているものが本中になく非常に混乱しました。
ちなみに表示すべき内容は以下の論文から引用されているアルゴリズムの図になります。
[26]の元はこれのようだ。https://t.co/lEeD89TR9B
— メメ明治。 (@meijik) 2018年11月7日
分散システムにおけるデッドロック対処の章を読み終えて
実際の分散システムではデッドロック検知や防止は難しので、タイムアウトでアボートさせる手法が一般的だそうです。 あえて本書に掲載されているような検知、防止を実装するようなシステムは アボートのコストが非常に高く、それを避けたいのでは? という議論になりました。
*1:キリがいいので参加しようと思っている人はチャンスですよ!!!