From 3e9fb1a9efdec1dd7a9068de9536f10f6337d8e5 Mon Sep 17 00:00:00 2001 From: Jerry Lee Date: Sat, 25 Jul 2015 01:03:15 +0800 Subject: [PATCH] add PaxosLease #4 --- .../PaxosLease-distributed-state-machine.png | Bin 0 -> 27960 bytes paxoslease/README.rst | 293 ++++++++++++++++++ paxoslease/paxoslease.pptx | Bin 0 -> 42674 bytes paxoslease/time-flow.png | Bin 0 -> 57520 bytes 4 files changed, 293 insertions(+) create mode 100644 paxoslease/PaxosLease-distributed-state-machine.png create mode 100644 paxoslease/README.rst create mode 100644 paxoslease/paxoslease.pptx create mode 100644 paxoslease/time-flow.png diff --git a/paxoslease/PaxosLease-distributed-state-machine.png b/paxoslease/PaxosLease-distributed-state-machine.png new file mode 100644 index 0000000000000000000000000000000000000000..1f12183b93d3f48678411ebcf22c7cc85a267e5b GIT binary patch literal 27960 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 literal 0 HcmV?d00001 diff --git a/paxoslease/README.rst b/paxoslease/README.rst new file mode 100644 index 0000000..20844dd --- /dev/null +++ b/paxoslease/README.rst @@ -0,0 +1,293 @@ +| 原文链接: `PaxosLease: Diskless Paxos for Leases `_ +| 译文发在 `dsdoc.net `_: `【译】PaxosLease:实现租约的无盘Paxos算法 `_,2013-01-04 + +.. highlight:: c + +.. _paxoslease: + +=============================================== +PaxosLease:实现租约的无盘Paxos算法 +=============================================== + +:原文名: + .. line-block:: + + PaxosLease: Diskless Paxos for Leases + +:翻译: + .. line-block:: + + `Jerry Lee oldratleegmailcom `_ + +| Marton Trencseni, mtrencseni@scalien.com +| Attila Gazso, agazso@scalien.com + +这篇论文描述了PaxosLease算法,一种用于租约协商的分布式算法。PaxosLease基于Paxos算法,但无需写盘和时钟同步。PaxosLease在开源的分布式复制KV存储Keyspace中被用来做Master租约协商。 + +.. _paxoslease-intro: + +1. 介绍 +===================== + +在并发编程中,*锁* 是进程用来同步共享资源访问的基本原语。在锁以不设置过期时间的方式分配(也没有一个监督进程)的系统中,锁的持有者在释放锁之前如果失效(Failure),就可能导致其它进程阻塞。 + +在高可用系统中,期望避免单点失效导致整个系统阻塞的情况。另外,“重启”失效的系统会比重启一个多线程程序要更困难。因此,在分布式系统中,*租约* 取代锁以避免饿死的情况。*租约* 就是 *有过期时间的锁* 。如果锁的持有者失效了或是和其它结点断开连接,它的租约会自动过期,其它结点可以得到租约。 + +我们假设基本的步骤如下:系统由一组请求者和一组接受者组成,请求者和接受者都有各自的算法;系统没有拜占庭问题,即结点之间不会通过不遵守各自算法作弊(也没有被Hack)。接受者的数目是固定不变的。 + +一个朴素的多数派投票式的算法可以正确地解决分布式租约的问题;这里 *正确* 的意思是,任何时候租约不会被多于一个结点持有。但是,这个简单的算法在有多个请求者时会频繁 *阻塞* ,因此需要一个更成熟的方案。 + +朴素的多数派算法是这样的: 请求者启动一个开始本地超时计时,超时时间T秒,然后向接受者发送请求时长为T的租约。接受者收到请求后启动一个时长为T秒的定时器,然后发送接受消息给请求者。超时之后,接受者清除自己的状态。如果接受者收到一个请求但他的状态不是空,则接受者不回应或是发一个拒绝消息。为确保任何时间只有一个请求者能获得租约,请求者必须收到多数派的接受者的接受消息;这样它获取租约直到它本地的定时器超时。 + +正如上面讨论的,有多个请求者时,有可能(而且很有可能)没有请求者能得到多数派,请求者会一直互相阻塞着。举个例子,有3个请求者1、2、3和三个接受者A、B、C,如果分布状态是这样的:A接受1的请求,B接受2的和C接受3的,然后没有一个请求者得到多数派的接受。系统必须等到超时过期,接受者清空自己的状态,这时请求者会再重试。但很很可能会再次阻塞。 + +在本文描述的解决方法是采取Paxos [1]_ 方案,引入 *准备* 和 *提议* 阶段,这样可以完全避免这类阻塞问题 [*]_ 。Paxos解决复制状态机的问题,每个结点有一个本地的状态机拷贝,希望在下一个状态转换时结点间达成一致。Paxos是一个基于多数派的算法,意味着,多数派的结点没有宕并且之间可以通信,是可能的。Paxos达成一致的处理在一个状态转换上,所以在实践中,需要逐次运行多个Paxos实例来协商出一序列的状态转换 [3]_ 。Paxos中,接受者在发送响应之前要先把自己的状态记录到盘上,以保证一旦一个值(状态转换)被选定,之后一直选定该值;换句话说,不管是否有出错情况出现,所有的状态机经历相同的状态转换序列。 + +不像之前的那些基于Paxos的分布式租约算法,比如Fatlease [5]_ ,PaxosLease不对结点的本地时钟做任务时间同步的假设(也不需要全局的同步)。另外,Fatlease为了租约命令连续地运行Paxos实例,而PaxosLease利用租约的临时性完全避免了这样的复杂性,是一个更简单和优雅的算法。 + +PaxosLease是Paxos的一个自然特化变种。因为在Paxos中假设结点个数是固定的(并且结点标识是全局已知的)。PaxosLease处理一个特殊的复制状态机,形式是: + +.. figure:: PaxosLease-distributed-state-machine.png + :scale: 100 + + 图1:PaxosLease的分布式状态机 + +为了获得租约,PaxosLease的请求者结点提交的值是“结点i持有租约”,在租约过期后将会自动返回“没有结点持有租约”。请求者也可以延长租约通过在前一次租约过期之前再次提交“结点i持有租约”值,或者在过期之前释放租约(可选操作)。 + +类似于Paxos,PaxosLease本质上处理了所有有关的失效情况: + +1. 结点停止和重启 +2. 网络分割不通 +3. 消息丢失和乱序 +4. 传输中的消息延时 + +.. _paxoslease-definitions: + +2. 定义 +===================== + +一个PaxosLease单元由请求者和接受者组成。我们假设有 *n* 个接受者和任意个的请求者。在实践中,结点常常会同时扮演请求者和接受者的角色,但这是个实现上的问题不会影响这里的讨论。 + +请求者发送 *准备请求* (Prepare Request)和 *提议请求* (Propose Request)消息给接受者;接受者回应的是 *准备响应* (Prepare Response)和 *提议响应* (Propose Response)消息。这些消息有下面的结构: + +1. 准备请求 = 投票编号 +2. 提议请求 = 投票编号,响应结果,已经接受了的提案 +3. 准备响应 = 投票编号,租约 +4. 提议响应 = 投票编号,响应结果 + +投票编号和租约两者组成 *提案* (Proposal)。 *租约* 由 *请求者id* (希望成为租约持有者的结点)和 时间间隔 *T* 组成。 + +接受者存储下面的状态信息: + +1. 承诺的最高编号: 接受者忽略投票编号小于该值的消息 +2. 已经接受的提案: 最后一个接受的提案(投票编号 和 租约) + +有一个全局已知的最大租约时间 *M* 。请求者请求的租约时间间隔 *T* 总是 < *M* 。 + +每个请求者的投票编号是全局唯一的并且单调增加。在实践中,实现的方式可以是,投票编号由 *请求者id* 字段 ,一个 *重启计数器* 和 一个 请求次数的 *计数器* 字段 组成(可以处理最坏的情况)。每次请求者启动时重启计数器递增,并写到可靠的存储中。 + +PaxosLease保证了 *租约不变式* :在任何给定的时间点,不会有多余1个请求者持有租约。 + +.. _paxoslease-basic-algorithm: + +3. 基本算法 +===================== + +这一节描述分别从请求者和接受者出发的算法基本流程。请求者发送准备和提议请求,接受者回应准备和提议响应。如果一切正常和话,请求者获得租约花费两轮通信的时间。 + +1. 一个请求者想要获得租约,时长 *T < M* 。它生成投票编号 ``[request.ballotNumber]``,然后发送准备请求给多数派的接受者。 + +:: + + Proposer::Propose() + { + state.ballotNumber = NextBallotNumber() + request.type = PrepareRequest + request.ballotNumber = state.ballotNumber + Broadcast(request) + } + +2. 接受者,当收到准备请求时,检查 ``[request.ballotNumber]`` 是否高于自己在 ``[state.highestPromised]`` 里承诺的本地投票编号中的最大值。如果提议请求的投票编号更低则可以丢弃这个消息,或者发送一个响应结果是 *拒绝* 的准备响应。如果相等或者更高,接受者用 *接受* 的回答构造一个准备响应,回答中有当前已接受的提案 ``[state.acceptedProposal]`` ,提案可以为空。接受者设置已承诺的最高投票编号 ``[state.highestPromised]`` 为 请求消息的投票编号 ``[request.ballotNumber]`` ,然后把这个准备响应发回给请求者。 + +:: + + Acceptor::OnPrepareRequest() + { + if (request.ballotNumber < state.highestPromised) + return + state.highestPromised = request.ballotNumber + response.type = PrepareRespose + response.ballotNumber = request.ballotNumber + response.acceptedProposal = state.acceptedProposal // may be ’empty’ + Send(response) + } + +3. 请求者检查从接受者过来的准备响应。如果有多数派的接受者响应的是空的提案,意味着他们可以接受新的提案,请求者可以提交它自己作为租约的获得者,时长是 *T* 。请求者启动一个定时器,过期时间是 *T* 秒,发送提议请求,其中包含了投票编号 和 租约(它自己的 *请求者id* 和 *T* )。 + +:: + + Proposer::OnPrepareResponse() + { + if (response.ballotNumber != state.ballotNumber) + return // some other proposal + if (response.acceptedProposal == ’empty’) + numOpen++ + if (numOpen < majority) + return + state.timeout = T + SetTimeout(state.timeout) + request.type = ProposeRequest + request.ballotNumber = state.ballotNumber + request.proposal.proposerID = self.proposerID + request.proposal.timeout = state.timeout + Broadcast(request) + } + Proposer::OnTimeout() + { + state.ballotNumber = empty // set in Proposer::Propose() + state.leaseOwner = false // set in Proposer::OnProposeResponse() + } + +4. 接受者,当收到提议请求时,检查投票编号 ``[request.ballotNumber]`` 是否高于自己在 ``[state.highestPromised]`` 里承诺的本地投票编号中的最大值。如果提议请求的投票编号更低则可以丢弃这个消息,或者发送一个响应结果是 *拒绝* 的提议响应。如果相等或者更高,接受者接受这个提议:启动过期时间T的超时计时,设置它已接受的提案为这个收到的提案(如果还存着前一个提案,丢弃掉)。接受者用 *接受* 的回答构造一个提议响应,回答中有投票编号 ``[request.ballotNumber]`` 。在超时过期后,接受者重置它已接受的提案为 *空* 。接受者决不重置它的已承诺的最高投票编号,除非在重启的时候。 + +:: + + Acceptor::OnProposeRequest() + { + if (request.ballotNumber < state.highestPromised) + return + state.acceptedProposal = request.proposal + SetTimeout(state.acceptedProposal.timeout) + response.type = ProposeResponse + response.ballotNumber = request.ballotNumber + Send(response) + } + Acceptor::OnTimeout() + { + state.acceptedProposal = empty + } + +5. 请求者检查提议响应消息。如果有多数派的接受者响应了接受提案,则这个请求者获得了租约直到本地的定时器超时(在第3步中启动)。它收到多数派消息的最后一条的时间点就是它获得租约的时间点,可以切换它的内部状态到“我持有租约”。 + +:: + + Proposer::OnProposeResponse() + { + if (response.ballotNumber != state.ballotNumber) + return // some other proposal + numAccepted++ + if (numAccepted < majority) + return + state.leaseOwner = true // I am the lease owner + } + +可以看到,接受者没有把自己的状态存到存储上。重启时,请求者以空白状态启动。为了保证重启中结点不会破坏租约不变式,结点要在重新加入网络前等待 *M* 秒。 *M* 是一个全局已知最大租约时间,所有的结点都知道,请求者请求的租约时长 *T* 总是 *< M秒* 。 + +传递都是时间间隔(相对时间),这一点很重要,导致只有获取了租约的请求者才知道自己有租约。该请求者不能告诉其它结点它获取了租约(与经典Paxos的学习消息类似),因为其它结点不能知道学习消息在传输的过程要消耗多少时间。因此,只有获得了租约的请求者知道它自己持有租约。所有其它的结点知道的是自己没有获得租约。换句话说,每个请求者关于租约有两种状态:“我没有租约,我也不知道谁持有租约” 和 “我持有租约”。当然,结果可以发出学习消息作为 *hint* ,这可以用在高级应用中或是用来探索,但这些使用方式超出本论文范围。 + +有可能一个请求者在第3步和第5步中没有得到多数派接受者赞同响应。这种情况下,请求者可以休眠一会儿再重新从第1步用更高的投票编号执行算法。 + +.. _paxoslease-proof: + +4. 租约不变式证明 +===================== + +我们先给出为什么PaxosLease可以工作的直觉感受。图2是以画图方式的解释:请求者在发送提议请求之前开启定时器,接受者只能 *一段时间后* 开启他们的定时器;接受者在发送提议响应之前开启定时器的。因此,如果有多数派的接受者存下了状态并开启定时器,在请求者定时器过期前,将没有其它的请求者可以得到租约。将没有2个请求者同时认为自己是租约的持有者。 + +.. figure:: time-flow.png + :scale: 100 + + 图2:一个请求者获得租约的时间流程图 + +更正式地说,PaxosLease保证了如果请求者 `i` 发出的投票编号是 `b` 和 时长是 `T` 的提案 从多数派的接受者那里接收到了接受消息,假定请求者在时间点 `t`:sub:`now` 启动定时器,那么没有其它请求者能再接收到多数派的接受消息,直到 `t`:sub:`end` `= t`:sub:`start` `+ T` 。 + +证明:假定请求者 `p` 用投票编号 `b` 获得了租约。它从多数派的接受者那里收到了类型是 `接受` 的空准备响应,在时间点 `t`:sub:`start` 启动定时器,在时间点 `t`:sub:`acquire` 从多数派的接受者那里收到了类型是 `接受` 的提议响应,这样请求者持有租约直到 `t`:sub:`end` `= t`:sub:`start` `+ T`。令 `A`:sub:`1` 为用空准备响应回应 `p` 的准备请求的接受者多数派,令 `A`:sub:`2` 为接受 `p` 提案 并且 发送类型是 `接受` 的准备响应 的接受者多数派。 + +第一部分: 在 `t`:sub:`acquire` 到 `t`:sub:`end` 的时间内,没有其它的请求者 `q` 能以 `b' < b` 的投票编号的请求来获得租约。为了持有租约,请求者 `q` 必须得到多数派接受者 `A'`:sub:`2` 的接受。 令 `a` 为同时在 `A'`:sub:`2` 和 `A`:sub:`1` 的接受者。因为 `b' < b` , `a` 必须是先接受了 `q` 的提案然后发送准备响应给 `p` 的。但是如果 `a` 发送一个空准备响应给 `p` 它的状态必须为空,它的定时器必须已经过期了,即 `q` 的定时器过期了,因此 `q` 已经失去了租约。在 `p` 和 `q` 的租约之间没有重叠。 + +第二部分:在 `t`:sub:`acquire` 到 `t`:sub:`end` 的时间内,没有其它的请求者 `q` 能以 `b < b'` 的投票编号的请求来获得租约。为了持有租约,请求者 `q` 必须得到多数派接受者 `A'`:sub:`1` 给它发送空个准备响应。 令 `a` 为同时在 `A'`:sub:`1` 和 `A`:sub:`2` 的接受者。因为 `b < b'` , `a` 必须是先接受了 `p` 的提案然后发送准备响应给 `q` 的。但是既然 `a` 接受了 `p` 的提案,如果它发送一个空个准备响应给 `q` 它的状态必须是空的,它的定时器必须已经过期了,即 `p` 的定时器过期了,因此 `p` 已经失去了租约。在 `p` 和 `q` 的租约之间没有重叠。 + +.. _paxoslease-liveness: + +5. 活性(Liveness) +===================== + +Paxos类型的算法比如PaxosLease,有动态死锁的可能:两个请求者可能连续地生成越来越高的投票编号,发送准备请求给接受者,接受者连续地增加自己承诺的最高投票编号,结果没有请求者可以让接受者接受提案。在实践中,可以通过让请求者在重新执行算法前等待一小段随机的时间来规避。 + +Paxos类型的算法一个主要的优点是没有静态死锁,在朴素的投票算法中有说到。没有静态死锁是因为请求者可以覆盖接受者的状态,算法又保证了多数派是不会被覆盖的。 + +.. _paxoslease-extending-leases: + +6. 延长租约 +===================== + +在某些情况下,一旦一个请求者持有资源后可以持续持有而不是一个原来的租给时间,这一点很重要。一个典型的场景是,在分布式系统中当租约指出Master结点后,期望这个结点可以长时间作为Master。 + +为了适应这个需求,只要请求者的算法需要修改。要第3步中,如果多数派响应了空的提案或是 *已存在提案* (即这个提案中的该请求者的租约还没有过期),它可以再次提议自己为租约的持有者。这样允许请求者延长它的租约 *O(T)* 的时间。接受者的算法无需修改。 + +.. _paxoslease-releasing-leases: + +7. 释放租约 +===================== + +到现在的算法描述中,请求者的租约是在一定时间后自动过期的。在一些情况下,尽快释放租约让其它的结点获取是很重要的。一个典型例子是分布式处理,处理进程获得一个资源的租约,执行其上的操作,然后期望尽快释放租约好让其它处理进行获得。 + +为了适应这个需求,请求者可以发送一个特定释放消息给接受者,消息中包含了它要释放租给的投票编号。在发送释放消息之前,请求者把内部状态从“我持有租约”切换到“我没有持有租约”。当接受者收到释放租约时,查检是否与已接受的投票编号相同。如相同则清空自己的状态;否则不做任何操作。请求者也可以发送一个释放消息给其它请求者作为提示,告诉他们可以去获取租约了。 + +.. _paxoslease-for-many-resources: + +8. 多个资源的租约 +===================== + +算法定义了关于一个资源 *R* 的租约动作。在实践中,结点会要处理多个资源,比如一个分布式处理中要用的租约。PaxosLease可以为各个资源运行独立的实例,不同的实例的消息、请求者和接受者状态标志上 *资源标识* 。一个结点作为请求者和接受者,每个PaxosLease实例消耗内存不超过 ~100字节,这样结点上1G内存可以处理 ~1千万个资源租约。再加上PaxosLease不需要硬盘同步和时钟同步,该算法可以用在很多需要细粒度锁的场景上。 + + +.. _paxoslease-implementation: + +9. 实现 +===================== + +在Scalien的分布式复制key-value存储Keyspace中 [*]_\ +:sup:`译注`,PaxosLease用于Master的租约协商。Keyspace作为PaxosLease的参考实现,包含了很多实践上的优化。由于基于开源AGPL许可 [6]_ ,感兴趣的读者可以自由获取Keyspace实现。源代码和二进制文件可以在 http://scalien.com [*]_\ +:sup:`译注` 下载。 + +.. _paxoslease-genealogy: + +10. 宗谱 +===================== + +Leslie Lamport在1990年发明Paxos算法,但在1998才发表的。这篇论文《The Part-Time Parliament》对于很多读者过于极客,这导致第二篇论文《Paxos Made Simple》 [2]_ 。Paxos通过引入个准备和提议两个阶段和让接受者在响应消息前把自己状态写入稳定存储,解决了发布式一致性问题。多轮的Paxos可以顺序运行以协调复制状态机的状态转换。 + +在论文《Paxos Made Live - An Engineering Perspective》和《The Chubby Lock +Service for Loosely-Coupled Distributed Systems》 [4]_ 中描述的Google内部的分布式实现栈用了Paxos,这让Paxos流行起来。在Google的Chubby中,多轮顺序执行Paxos以达到,在复制数据库中下次写操作上的一致性,提供了思考复制状态机的另一种方法。 + +《FaTLease: Scalable Fault-Tolerant Lease Negotiation with +Paxos》中描述的Fatlease解决了和PaxosLease一样的问题,但它结构更复杂,因为模仿了在Google论文中提到的多轮Paxos,而不是PaxosLease所用的简单的接受者状态超时。另外,FaTLease需要结点同步他们的时钟,这一点使的它在现实世界使用中没有吸引力。PaxosLease灵感来自于FaTLease,解决了上述的缺点。 + +.. _paxoslease-references: + +参考文献 +===================== + +.. [1] L. Lamport, The Part-Time Parliament, ACM Transactions on Computer Systems 16, 2 (May 1998), 133-169. + +.. [2] L. Lamport, Paxos Made Simple, ACM SIGACT News 32, 4 (Dec. 2001), 18-25. + +.. [3] T. Chandra, R. Griesemer, J. Redstone, Paxos Made Live - An Engineering Perspective, PODC ’07: 26th ACM Symposium on Principles of Distributed Computing + +.. [4] M. Burrows, The Chubby Lock Service for Loosely-Coupled Distributed Systems, OSDI’06: Seventh Symposium on Operating System Design and Implementation. + +.. [5] F. Hupfeld et al., FaTLease: Scalable Fault-Tolerant Lease Negotiation with Paxos, HPDC08, June 2327, 2008, Boston, Massachusetts, USA. + +.. [6] AGPL License. http://www.fsf.org/licensing/licenses/agpl-3.0.html + +.. _paxoslease-notes: + +注释 +===================== + +.. [*] 另一个解决方法是,让系统阻塞,但是引入一个“撤销”机制,让请求者撤销他的请求从而让某个其它的请求者可以获得租约。 + +.. [*] 译注,scalien的GitHub代码工程在 https://github.com/scalien + +.. [*] 译注,这个网站已经没有内容了,Keyspace源代码可以在 https://github.com/scalien/keyspace 下载。 diff --git a/paxoslease/paxoslease.pptx b/paxoslease/paxoslease.pptx new file mode 100644 index 0000000000000000000000000000000000000000..5a3b36bf5d6c3638c4857bf41adf4888476c8380 GIT binary patch literal 42674 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 z�Es%5Yrs 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 I$tvuB04tM7VE_OC literal 0 HcmV?d00001