暂无图片
怎样实现顺序一致性?
我来答
分享
2023-01-03
怎样实现顺序一致性?

可重用可线性基础设施

我来答
添加附件
收藏
分享
问题补充
4条回答
默认
最新
语菲

实现可线性化代价可能过高,但是可以在放松模型的同时仍然提供相当强的一致性保证。顺序一致性(sequential consistency)允许对操作进行排序,就好像它们是以某种串行顺序执行一样,并要求属于某一进程的操作在排序后保持先后顺序不变(不同进程的操作之间,先后顺序可能改变)。

进程可以观察到其他参与者执行操作的顺序与它们自己的历史相一致,但是从全局角度看,这个视图可能会过时任意长时间。进程之间的执行顺序是未定义的,因为这里没有共享的时间概念。

顺序一致性最初是在并发这个领域中引入的,被描述为一种正确执行多处理器程序的方式。最初的描述要求对同一单元的内存请求在队列中排序(FIFO,到达顺序),对独立内存单元的重叠写操作没有施加全局排序,并且允许读操作从内存单元中获取值(如果队列非空则从队列中获取最新值)。操作可以以不同的方式排序(取决于到达顺序,甚至可以在两个写入同时到达的情况下任意排序),但所有进程都以相同的顺序观察到操作。

每个进程都可以按照自己的程序指定的顺序发出读写请求,这是很符合直觉的,因为任何非并发的单线程程序都一个接一个地执行它的步骤。从同一进程传播的所有写操作都按此进程提交它们的顺序出现。来自不同来源的操作可以任意排序,但从读取者的角度来看,这个顺序是一致的。

暂无图片 评论
暂无图片 有用 2
打赏 0
暂无图片
伊伊相印
2023-01-03
每个进程都可以按照自己的程序指定的顺序发出读写请求,这是很符合直觉的,因为任何非并发的单线程程序都一个接一个地执行它的步骤。从同一进程传播的所有写操作都按此进程提交它们的顺序出现。来自不同来源的操作可以任意排序,但从读取者的角度来看,这个顺序是一致的。
题主
2023-01-03
顺序一致性常与可线性化混淆,因为两者具有相似的语义。顺序一致性与可线性化一样,要求操作的全局有序性,而可线性化要求每个过程的局部有序性与全局有序性一致。另一个重要的区别在于组合:我们可以组合可线性化的历史,并且仍然期望结果是可线性化的,而顺序一致的调度是不可组合的。
游湖
2023-01-04
每个进程都可以按照自己的程序指定的顺序发出读写请求,这是很符合直觉的,因为任何非并发的单线程程序都一个接一个地执行它的步骤。从同一进程传播的所有写操作都按此进程提交它们的顺序出现。来自不同来源的操作可以任意排序,但从读取者的角度来看,这个顺序是一致的。
展开全部评论(2条)
游湖

每个进程都可以按照自己的程序指定的顺序发出读写请求,这是很符合直觉的,因为任何非并发的单线程程序都一个接一个地执行它的步骤。从同一进程传播的所有写操作都按此进程提交它们的顺序出现。来自不同来源的操作可以任意排序,但从读取者的角度来看,这个顺序是一致的。

暂无图片 评论
暂无图片 有用 6
打赏 0
lelepapa
2023-01-04
每个进程都可以按照自己的程序指定的顺序发出读写请求,这是很符合直觉的,因为任何非并发的单线程程序都一个接一个地执行它的步骤。从同一进程传播的所有写操作都按此进程提交它们的顺序出现。来自不同来源的操作可以任意排序,但从读取者的角度来看,这个顺序是一致的。
wzf0072

每个进程都可以按照自己的程序指定的顺序发出读写请求,这是很符合直觉的,因为任何非并发的单线程程序都一个接一个地执行它的步骤。从同一进程传播的所有写操作都按此进程提交它们的顺序出现。来自不同来源的操作可以任意排序,但从读取者的角度来看,这个顺序是一致的。

暂无图片 评论
暂无图片 有用 0
打赏 0
手机用户5704
2023-01-04
每个进程都可以按照自己的程序指定的顺序发出读写请求
愤怒的蜗牛

每天学习一点点,每天进步一点点。。

暂无图片 评论
暂无图片 有用 2
打赏 0
墨水先生
2023-01-04
每个进程都可以按照自己的程序指定的顺序发出读写请求
回答交流
Markdown


请输入正文
提交
相关推荐
什么是邀请算法(invitation algorithm)?
回答 5
已采纳
邀请算法允许进程“邀请”其他进程加入它们的组,而不是试图超越它们的排名。这种算法从定义上就允许多个领导者存在,因为每个组都有自己的领导者。每个进程一开始都是一个新组的领导者,组内唯一的成员是这个进程本
有序字符串表(SSTable)是怎么回事?
回答 5
已采纳
磁盘驻留表通常使用有序字符串表(SortedStringTable,SSTable)来实现,顾名思义,SSTable中的数据记录是按照键顺序进行排序和布局的。SSTable通常由两组件组成:索引文件和
什么是环算法?
回答 3
已采纳
环算法是系统中所有的节点形成一个环,并且知道环拓扑(即它们在环中的前驱和后继)。当进程检测到领导者故障时,它发起新的选举。选举消息沿着环向下转发:每个进程联系它的后继节点(环中离它最近的下一步节点)。
什么是Percolator分布式事务?
回答 3
已采纳
Percolator是一个在分布式数据库Bigtable上实现事务API的库。这是在现有系统之上构建事务API的一个很好的例子。Percolator用不同的列保存数据记录、已提交的数据点位置(写入元数
什么是ZAB协议?
回答 3
已采纳
ZAB协议ZookeeperAtomicBroadcas,即Zookeeper原子广播算法。Zookeeper是一个分层的分布式键值存储,它使用ZAB确保事件的完全有序和原子送达,以保证副本状态之间的
提示移交是返熵方法之一吗?
回答 2
已采纳
提示移交是一种写侧修复机制,是一种返熵方法。如果目标节点未能确认写入,则写入协调者或某一副本会存储一条特殊的记录,称为一个提示(hint),当目标节点恢复后,该记录会立即被重放过去。在ApacheCa
什么是一致性模型?
回答 6
已采纳
一致性模型(consistencymodel)提供不同的语义和保证。你可以将一致性模型看作是参与者之间的契约:每个副本要做什么才能满足所需的主义,以及用户在发生读写操作时可以期望得到什么结果。一致性模
什么是收成与产量?
回答 1
已采纳
CAP猜想仅以它们最强的形式讨论一致性和可用性:可线性化和系统最终响应每一个请求的能力。这迫使我们在这两个属性之间做出艰难的权衡。然而,有些应用程序可以从稍微放松的假设中获益,我们可以用它们较弱的形式
什么是反向故障检测?
回答 3
已采纳
由于不总是能传播故障的信息,并且通过通知每个成员来进行传播可能成本较高,因此出现了一种称为FUSE(FailureNotificationService,故障通知服务)的方法,它专注于可靠且廉价的故障
什么是网络分区和部分故障?
回答 6
已采纳
当两个或更多服务器无法相互通信时,这种情况称为网络分区。两个参与者无法相互通信;几组参与者彼此隔开,无法交换消息并继续运行算法。为了构建在一个或多个进程出现故障的情况下仍健壮的系统,必须考虑部分故障的
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~