epegasus 发表于 2010-10-15 22:59

SMP中CACHE 一致性是不必要的?

见量化研究方法甚至为了一致性连指令的序都强制了
从处理事物的角度看 处理器间并没有指令级的序列的需求 线程级别并行就是各干各的事情
当然也有锁的需求用来同步 我觉得在访问同一内存的时候软件显式同步就好了.为什么一定要硬件CACHE来同步?

system888net 发表于 2010-10-16 01:19

访问同一内存的时候软件显式同步就好了...
epegasus 发表于 2010-10-15 22:59 http://linux.chinaunix.net/bbs/images/common/back.gif


    在目前的技术条件下,速度如何保证?

prolj 发表于 2010-10-16 10:38

成本考虑罢了,性价比。

Cyberman.Wu 发表于 2010-10-16 13:56

不同的场景需要不同的方式。我用的TILEPro多核平台上是支持程序员选择的,分配内存时可以指定是cache coherent方式还是incoherent方式。

目前绝大多数多核平台都是用共享大Cache的方式,只有一级Cache是独立的,所以天然就是coherent的。

Cyberman.Wu 发表于 2010-10-16 14:00

补充两句,对于分布式Cache,只读数据每个核独立Cache往往是最优的结果,而需要修改的共享数据,是否需要硬件上自动cache一致性就不那么直观的:如果是动态修改的查找表(如FDB),有可能需要硬件上的一致性,否则程序会很难设计,因为如果没有这个一致性,一定要有另一种同步机制,但频繁地同步会使效率下降很多;而如果是流水式的,例如一个核处理完一大块数据再统一交给另一个核做其它处理,则软件控制一致性又更好一些。
页: [1]
查看完整版本: SMP中CACHE 一致性是不必要的?