在PRAM模型中,多个处理器同步 Action 以对不同的数据集执行相同的命令。
每种算法有两种类型的读/写模式:
我发现很难理解的是,这两种模式之间的区别到底是什么,并且似乎更熟练?
最佳答案
理论:
PRAM machines可以利用以下列出的主要方法之一来处理在任何pure- [SERIAL]
系统中均未发现的并发事件的处理策略。
给定机器物理机体的性质,下面列出的一些策略可能(但不一定)符合处理目标,然后基于软件的工具将允许使用其他策略(下面未列出,因此PRAM不直接支持)当然,以调解此类策略实现步骤和措施所需的额外时间(附加开销)为代价。
如以下3.2.x所示,某些基于硬件的策略可能会对于特殊的,非通用的图像处理或类似情况直接受益,而通用计算图则无法得到正确的结果(如果不受某些方法的保护)。排他性锁定或原子操作的方式,因为以下列出的CRCW策略均无法确保系统有效的结果,否则将导致“公正”的 [CONCURRENT]
计划的代码执行并发冲突的写访问不协调。
1.1)不允许多个处理器同时访问内存
1.2)如果两个或多个处理器尝试同时读取或写入同一存储单元,则行为为 undefined
2.1)可以同时读取同一存储单元
2.2)对同一单元格的两次并发写入会导致未指定行为
3.1)并发读写都可以
3.2)并发写入的行为必须进一步指定:
3.2.1)弱CRCW:如果所有处理器都写入 0,则并发只写OK 0
3.2.2)共模CRCW:所有处理器都需要将写入相同的值
3.2.3)任意赢家-CRCW:对手选择(实际上是彩票)值之一
3.2.4)Priority-CRCW:优先级最高的的处理器的值被写入
3.2.5)Strong-CRCW: {最大|写入最小的}值
关于algorithm - 在PRAM模型中,CRCW和EREW之间的主要区别是什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47815903/