这个解释用投票类比来可视化共识的核心概念——在群体中达成一致。它首先说明了简单的多数投票,强调了它在分裂投票时可能陷入僵局的潜力。为了克服这个问题,指定一个领导者来做决定,其他人批准。然而,领导者失效需要一个更强大的系统。
提出的解决方案是系列并发投票,并轮换领导者,可视化为一个二维棋盘。虽然这允许即使部分成员不可用也能取得进展,但可能会导致不同“列”(投票系列)之间出现相互冲突的多数。为了解决这个问题,系统要求任何达成多数的列之间达成一致。
关键见解是,参与者可以专注于防止与他们左侧做出的决定发生冲突,假设其他人遵循相同的规则。这是通过在某些列中策略性地让多数人弃权来实现的,从而保证不会出现相互冲突的多数。最终,共识是通过遵循第一列达成稳定多数来实现的,因为知道其他颜色随后无法达成多数。这个抽象模型构成了更复杂的分布式系统的基础,在这些系统中,通信是不完美的,知识是延迟的。
现代处理器利用分支预测来高效地每周期执行多条指令。这种预测并非完美,准确性会影响性能,尤其是在基准测试期间。一个涉及循环和随机条件语句(如果一个值是奇数)的基准测试可以显示处理器学习分支模式的能力。
测试表明,处理器在重复运行并使用一致的随机数据后可以“记住”分支结果。AMD 的 Zen 5 处理器表现出最强的学习能力,准确预测了 30,000 个分支。Apple 的 M4 紧随其后,为 10,000 个,而 Intel 的 Emerald Rapids 则落后,为 5,000 个。
作者指出,该基准测试突出了不同处理器架构之间分支预测性能的显著差异,对 Intel 的结果表示失望,并赞扬了 AMD 的进步。该测试的源代码是公开可用的。这表明基准测试结果可能因处理器特定的优化(如分支预测)而产生偏差,尤其是在使用小型或重复数据集时。