gpt4 book ai didi

computer-science - 分布式系统中的逻辑顺序和全序示例

转载 作者:行者123 更新时间:2023-12-01 12:57:18 24 4
gpt4 key购买 nike

总订单:

Lamport timestamps can be used to create a total ordering of events in a distributed system by using some arbitrary mechanism to break ties (e.g. the ID of the process).

逻辑顺序:

When two entities communicate by message passing, then the send event is said to 'happen before' the receive event, and the logical order can be established among the events

enter link description here

谁能给我一个例子,让我可以看到逻辑顺序和总顺序的差异?这两个命令有什么区别?

最佳答案

由于您正在寻找有关逻辑顺序和总顺序之间差异的示例,因此这是我以前的分布式算法老师在想要解释该特定主题时告诉我们的一个小故事。

  • 假设 A 欠 B 一些钱。
  • A 在电话中告诉 B,A 将于下午 6 点将款项存入 B 在 A 本地分行的账户。
  • 因此,B 可以在下午 6 点之后的任何时间从 A 的银行提取资金。
  • 假设 B 很好,并告诉 A 的分支机构,晚上 8 点。他们可以将 A 欠 B 的钱从 A 的账户中扣除。
  • 因此,B 的分行基本上会向中央银行服务器发出借方调用,要求将 A 所欠的钱转入 B 的账户,这就是将要发生的事情。
  • B 已给 A 足够的时间,以确保 A 已向 B 银行表明 A 有足够的资金,以便 A 的借记交易能够进行。
  • B 会认为它应该通过,对吗?
  • 但事实证明,B 分公司的本地时间远远领先于实时时间。分行以为现在是晚上八点,其实还不到晚上八点。
  • A 说到做到,下午 6 点整,A 的分行恰好 catch 了时间。 (与实时同步)
  • 因此,下午 6 点,A 已将 A 欠 B 的金额记入 A 的中央银行服务器。
  • 不幸的是,央行服务器实时收到B的消息的时间比A发送消息的时间早得多。
  • 中央银行服务器没有查看任何逻辑时间。当有借记交易进入时,它会实时查看。银行里有钱用于支付这些借记交易吗?
  • 不,没有。所以B的请求被拒绝。这是由于在现实场景中逻辑时钟不够好造成的。

那么是什么导致了这里的问题呢?事实上,B 分支的实时概念与实时完全不一致。 B 本地银行的计算机可能有一个接近实时的时钟。它要么比实时快,要么比实时慢。

恰好A的,A的分支的时间与实时完全同步,但这对A没有帮助。

这个例子似乎有点复杂,难以直接理解。这就是所谓的时钟同步问题

我强烈邀请您阅读 Lamport 的 paper关于分布式系统中的时间、时钟和事件顺序,他提出了一种不同的方式来解释这些差异。

您可能还会发现这些引用资料非常方便:

我希望这会有所帮助。

关于computer-science - 分布式系统中的逻辑顺序和全序示例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32968422/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com