分散アルゴリズム(ぶんさんアルゴリズム、英語: distributed algorithm)とは、相互接続されたプロセッサにより構成されるハードウェア上で実行するために設計されたアルゴリズムである。分散アルゴリズムは分散コンピューティングの多くの応用分野において使われ、その例として、通信、科学計算、分散情報処理、リアルタイムプロセス管理などがある。分散アルゴリズムによって解決された標準的な問題として、リーダー選出合意、分散検索全域木生成、ミューテックス資源配分(リソース割り当て)などがある[1][2]

典型的な分散アルゴリズムは、並列に実行され、アルゴリズムの各部が独立したプロセッサ上で同時に実行され、アルゴリズムの他の部分については限定的な情報しか持たない。分散アルゴリズムを開発し、実装する上での大きな課題となるのが、プロセッサ障害が発生し、通信接続が不確実であるような環境において、アルゴリズムの独立した部分の動作を統制することである。与えられた問題に対し、適切な分散アルゴリズムを選択することは、問題の特徴と、アルゴリズムが実行されるシステムの特徴の両方に依存する。ここでシステムの特徴とは、プロセッサの性能や、通信接続の障害、可能なプロセス間通信の種類、プロセス間の同期を行う際の精度などを指す[1]

標準的な問題

編集
アトミックコミット
アトミックコミットとは異なる変更の集合が一つの処理として実行されるような処理のことである。もしアトミックコミットが成功すれば、全ての変更が実行されたことを意味する。もしアトミックコミットが完了するまでに障害があった場合、"コミット"が中止され、どの変更も実行されない。
アトミックコミットプロトコルを実現するアルゴリズムとして、2相コミットプロトコルおよび、3相コミットプロトコルがある。
合意
合意アルゴリズムはいくつかのプロセスが共通の決定に合意する問題を解くものである。
より詳細には、合意プロトコルは以下の4つの特徴を備えなければならない。
  • 終了: 全ての正常なプロセスはある値を決定する。
  • 有効性: もし全てのプロセスが同じ値を提案する場合、全ての正常なプロセスはを決定する。
  • 整合性: 全ての正常なプロセスは最大1つの値を決定し、もし値を決定した場合は、が他のプロセスによって提案されている。
  • 合意: もし正常なプロセスがを決定した場合、すべての正常なプロセスはを決定する。
Paxosアルゴリズムは、合意を実現するための典型的なアルゴリズムである。
分散情報検索
リーダー選出
ミューテックス
信頼性のあるブロードキャスト
信頼性のあるブロードキャストとは、分散システムにおける通信の基本要素である。以下の特徴によって定義されるものである:
  • 有効性 - 正常なプロセスがメッセージを送信するならば、ある正常なプロセスがいずれそのメッセージを伝送する
  • 合意 - 正常なプロセスがメッセージを伝送するならば、全ての正常なプロセスがいずれそのメッセージを伝送する
  • 整合性 - 全ての正常なプロセスが同じメッセージを最大1回伝送し、それはあるプロセスによりそのメッセージが送信された場合だけである
レプリケーション
資源配分
全域木生成

脚注

編集
  1. ^ a b Lynch, Nancy (1997). Distributed Algorithms (1st ed.). San Francisco, CA: Morgan Kaufmann Publishers. ISBN 978-1558603486 
  2. ^ 増澤利光、山下雅史:「適応的分散アルゴリズム」、共立出版、ISBN 978-4-320-12251-2 (2010年6月30日)

外部リンク

編集

📚 Artikel Terkait di Wikipedia

数値線形代数

Discrete Lotka-Volterra with Shift Algorithm」 『In Proceedings of 2011 International Conference on Parallel and Distributed Processing Techniques and Applications』

ノード (ネットワーク)

Store: 4.2 Partitioning Algorithm”. http://www.allthingsdistributed.com/:+ All things distributed. 2011年3月17日閲覧。 “the basic algorithm is oblivious to the

RC5

Encryption Algorithm with Data Dependent Rotation. Patent No. 5,724,428 issued 3rd March 1998. Rivest, R. L. (1994). The RC5 Encryption Algorithm. In the

分割統治法

Dongarra, J. (1999). A parallel divide and conquer algorithm for the symmetric eigenvalue problem on distributed memory architectures. en:SIAM Journal on Scientific

クリーブ・モラー

P Henrici, C Moler - en:SIAM Journal on Numerical Analysis, 1967. An algorithm for generalized matrix eigenvalue problems, CB Moler, GW Stewart - en:SIAM

Data Encryption Standard

DESは今では多くの用途において安全ではないと見なされている。これは主に56ビットという鍵長が短すぎることに起因する。1999年1月、distributed.netと電子フロンティア財団は共同で、22時間15分でDESの鍵を破ったことを公表した。この暗号の理論上の弱さを示した解析結果もあるが、

資源配分

“Wireless Channel Allocation Using An Auction Algorithm” (PDF). 2014年6月24日閲覧。 ^ “Tycoon: A Distributed Market-based Resource Allocation System”. Citeulike

排他制御

September, 1965. ^ a b Taubenfeld. The Black-White Bakery Algorithm. In Proc. Distributed Computing, 18th international conference, DISC 2004. Vol 18