distributed-computing - 有人可以解释一下分布式计算中因果关系的概念吗?

标签 distributed-computing

我正在阅读一致性模型,但似乎无法理解分布式系统中因果关系的概念。我在谷歌上搜索了很多,但没有找到对这个概念的很好的解释。人们通常会解释为什么因果关系是一件好事,但其基本概念是什么?

最佳答案

假设您正在询问分布式系统中事件之间因果关系的基本概念,以下内容可能有助于您走上正轨。

由于分布式系统的所有进程没有完全同步的时钟,Leslie Lamport 引入了逻辑时钟的概念。逻辑时钟通过所谓的先发生关系,即因果关系,为分布式系统中发生的事件提供了偏序的建立。

为了进一步说明,同一台机器上的事件可以通过依赖本地时钟来排序。但是,对于跨越流程边界的事件,这通常不是一个选项。特别是,我们使用以下洞察力来建立系统中消息传递事件的因果关系:send(m)在处理 p发生在 receive(m) 之前在处理 q .这使我们能够在这些事件之间建立因果关系。

我不确定我的解释有多大帮助,但是,如果您还没有这样做,请查看 Leslie Lamport 的原始论文 Time, Clocks, and the Ordering of Events in a Distributed System应该有助于为您解决问题。接下来,你可能想看看Spanner: Google's Globally Distributed Database以创造性的方式处理分布式系统中的时间问题 (TrueTime)。

希望这可以帮助。

关于distributed-computing - 有人可以解释一下分布式计算中因果关系的概念吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46568765/

相关文章:

java - 满足所有这些标准的分布式数据层缓存系统?

java - 可变速率消费者的负载平衡队列

scala - 如何解释 RDD.treeAggregate

hadoop - 使用MapReduce在HDFS中搜索文件

java - 使用 Zookeeper 而不仅仅是数据库来管理分布式系统的目的是什么?

hadoop - 当输入数据未存储时,Hadoop/MapReduce 如何扩展?

hadoop - MapReduce 线性规划

apache-spark - Spark CollectAsMap

java - COMPSs runco​​mpss 错误。无法在本地运行 matmul 示例应用程序