知识卡片
同步异步取舍
内容
同步图计算易推理、容错简单,但等待屏障;异步计算能更快传播变化,却难保证确定性和恢复。算法是否对更新顺序敏感,决定该选择哪种执行范型。
参考来源
- 位置:《大数据日知录:架构与算法》第14章《图数据库:架构与算法》"14.4.3 同步执行模型"及"14.4.4 异步执行模型"一节(源文件:_epub-src/OEBPS/text00019.html)
- 结论依据:原文明确同步模型"存在一个同步点,同步点的目的在于保证每个节点都已经接受到本轮迭代更新后的状态信息,以保证可以进入下一轮的迭代过程";异步模型"更新的数据能够在本轮迭代即可被使用,所以算法收敛速度快……但是……很难推断程序的正确性……很可能会导致不同的运行结果……还可能产生争用状况(Race Condition)和数据不一致的问题"。
- 原始内容:采用同步执行模型的系统在迭代过程中或者连续两轮迭代过程之间往往存在一个同步点,同步点的目的在于保证每个节点都已经接受到本轮迭代更新后的状态信息,以保证可以进入下一轮的迭代过程……异步执行模型……更新的数据能够在本轮迭代即可被使用,所以算法收敛速度快,系统吞吐量和执行效率都要明显高于同步模型。但是异步模型也有相应的缺点:其很难推断程序的正确性……可能产生争用状况(Race Condition)和数据不一致的问题。