gpt4 book ai didi

sequential - 顺序一致性和静态一致性之间有什么区别?

转载 作者:行者123 更新时间:2023-12-03 13:59:01 26 4
gpt4 key购买 nike

谁能解释定义以及顺序一致性和静态一致性之间的区别?以最愚蠢的形式:|

我确实读过这个:Example of execution which is sequentially consistent but not quiescently consistent

但是我无法理解顺序一致性和静态一致性本身:(

最佳答案

顺序一致性要求这些操作应该按照在每个程序中指定的顺序生效。基本上,它在每个单独的流程中强制执行程序顺序,并允许所有流程假定它们遵循相同的操作顺序。假设我们有2个进程对队列q上的项目进行排队和出队:

P1 -- q.enq(x) ----------------------------- 
P2 -------------- q.enq(y) ---- q.deq():y --

这不是来自FIFO队列的预期行为。我们希望将x出队,因为P1先将 x排队,然后P2先将 y排队。但是,在顺序一致性模型中允许这种情况,因为顺序一致性并不要求所有进程看到的顺序都是正确的(实时顺序)。至少有一个顺序执行可以解释这些结果,并且一个是:
P2:q.enq(y) P1:q.enq(x) P2:q.deq():y

在此执行中,每个进程都按程序顺序执行操作,这意味着每个进程都按照在每个进程中指定的顺序执行其操作。

静态一致性要求非重叠操作似乎按其实时顺序生效,但是重叠的操作可能会重新排序。因此,在静态一致性模型中不允许出现相同的情况,因为我们希望 q.enq(x)似乎在 q.enq(y)之前生效,并且 q.deq()返回 x而不是 y。同样,静态一致性不一定会保留程序顺序。如果 q.enq(x)q.enq(y)是并发(重叠)操作,则可以对其重新排序,并且 q.deq():y可以保持静态一致。

基本上,一些执行是顺序一致的,但不是静态一致的,反之亦然。

关于sequential - 顺序一致性和静态一致性之间有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26089729/

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