タグ

paxosに関するnowokayのブックマーク (5)

  • Paxos Made Simple - Microsoft Research

    At the PODC 2001 conference, I got tired of everyone saying how difficult it was to understand the Paxos algorithm, published in [122]. Although people got so hung up in the pseudo-Greek names that they found the paper hard to understand, the algorithm itself is very simple. So, I cornered a couple of people at the conference and explained the algorithm to them orally, with no paper. When I got ho

    Paxos Made Simple - Microsoft Research
  • Understanding Paxos

    Introduction Paxos is one of the oldest, simplest, and most versatile algorithms in the field of distributed consensus. It has long been considered the gold-standard in this domain and dozens of papers and articles have been written to describe its various applications, optimizations, and usage techniques. However, despite the volume of literature that has been generated on this subject in the las

    Understanding Paxos
  • Multi PaxosをJavaで実装してみた - As a Futurist...

    Java の練習と分散システムの理解のために、Multi Paxos の実装をしてみてた。16 ファイルで 970 行程度で一応正常系は動くものはできたと思う。そろそろ疲れたので切り上げ。コードはださないけど、やったことをまとめ。 実装方針 この記事を何度も読んで、この通りに実装した。それに尽きる。 Understanding Paxos もちろんPaxos Made Simpleも読んだけど、実装するにあたっては上の記事がきれいにまとまってて必要十分だったので助かった。特に Multi Paxos について丁寧に説明があるのでありがたかった。 まずは Paxos を実装 Paxos は単一の値の合意をとるためのプロトコルで、まずはここを実装した。上の記事通りに、Proposer/Voter/Arbiter の 3 Role を class で実装。一応分けたけど、Peer としてはどれも

    Multi PaxosをJavaで実装してみた - As a Futurist...
  • 分散プログラミングモデルおよびデザインパターンの考察 その4 - Software Transactional Memo

    引き続き分散システムのデザインパターンの話をしていく。例によって適切な名前を見つけられなかった場合にはその場で適当に名づけているので、ここに書いてある名称が技術レベルでの正式名称だとは思わず、正式名称を見つけたらそっとコメント欄で教えてください。 Application Level Ack リクエストを受け取った際にAcknowledgment(Ack) を返却するのは重要であるというのは異論の余地はない。だが、どのレベルで返却すべきかというのはデザインスペースの一部である。 ご存知の通り、TCPはそもそもSYN → SYN-ACK →ACKの3方向ハンドシェイクを行い、それぞれの通信ペイロードにシーケンス番号を付けて送達を確認している。SO_LINGERを使えばclose時に未送信パケットが残っていればそれを送り終わるまでclose()をブロッキングする事もできる。TCPのトランスポート

  • 普通の人でもわかる Paxos

    4. 登場人物 •  クライアント –  プロポーザに、書き込みをお願いする人 –  登場人物といっておきながら、話はプロポーザが値を 持ってから始めればいいので、以下登場しません。 •  プロポーザ –  アクセプタの過半数に同じ値を書き込むよう頑張る •  アクセプタ –  プロポーザから来た値をよきにはからう(後述) •  リスナ –  最後に、過半数のアクセプタから値をゲット。 6. 基的な動き(フェーズ2) •  フェーズ2a(プロポーザ側) –  過半数のアクセプタから約束が返ってこなかったら、 どこかで諦めて、メッセージIDを増やして最初からや りなおし。 –  過半数のアクセプタから約束が返ってきたら、メッ セージIDと値を添えてアクセプタにプロポーズを送る。 –  プロポーズを送る際に、もしも約束に(ID, 値)の組が ついて返ってきたら、自分の値を、返ってきた約束の

    普通の人でもわかる Paxos
  • 1