Consistency model确实不是做业务需要考虑的。有那么多debug好的thread-safe库,就不要重复造轮子了。更何况risc-v上的thread-safe concurrent data structure不是造轮子,而是造火箭 :)
不过我觉得现在armv8/risc-v的release consistency model已经是多核CPU最完美的consistency model了。x86 TSO约束的太死了,只允许read超前write,这导致coherence protocol设计和验证都太复杂,而且很多情况下软件也不需要那么严格的约束。release consistency刚刚好,软件只需要考虑acquire-release语义,按需要来决定程序要同步的地方,同时硬件上对于普通的read write可以任意乱序,提供了足够多的Memeory-level parallelism掩藏acquire/release coherence latency;同时release consistency又不像POWER那样有那么多乱序的可能性,搞出那么多种fence,学习成本太高
【 在 freyoneby 的大作中提到: 】
: 我是觉得像cpu之间的cache同步,不应该做业务的去关心,架构设计上应该保证,cpu切换读取相同内存的时候,能够自动让这部分cache先回写,大部分都是各自领域专业的软件开发,还要关心这种东西,说明目前架构设计,编译器设计都不完美
--
修改:MegaStone FROM 45.32.65.*
FROM 45.32.65.*