MESI协议大概是计算机架构里最成功的"甩锅"案例。1978年英特尔给它起这个名字时,大概没想到四十年后还有人得为它擦屁股。
硬件工程师一直觉得这事儿挺美的:缓存一致性?MESI搞定了啊,软件别操心。直到分布式系统开始横行,大家才发现这套"原子操作"的承诺,跨个机架就碎成渣。
谷歌的Lamport在90年代写Paxos时,其实就是在给硬件擦屁股。「The responsibility for consistency must be explicitly assigned」,他这句话翻译成产品经理的语言就是:别指望下层自动兜底,谁用谁负责。
现在云厂商的账单能说明问题。AWS每年花在跨可用区同步上的钱,够买好几个芯片设计团队。硬件把一致性做进硅片,软件却在分布式场景里重新发明一遍——这中间的重复劳动,全转嫁给了用户。
有个做数据库的朋友跟我说,他们团队最大的噩梦不是Paxos本身,是解释给老板听"为什么硬件已经做了我们还要做"。
最近RISC-V基金会有人在推新的缓存一致性扩展,提案文档第17页写着"兼容现有软件假设"。你看,四十年了,他们还在试图不打破任何东西——除了用户的耐心。
热门跟贴