CAP定理的误导性:为什么"三选二"是分布式系统被误解最深的公理
2000年7月,加州大学伯克利分校的Eric Brewer在ACM Symposium on Principles of Distributed Computing上做了一个主题演讲。他提出了一个看似简单的观点:分布式系统不可能同时提供一致性(Consistency)、可用性(Availability)和分区容错性(Partition tolerance)。 ...
2000年7月,加州大学伯克利分校的Eric Brewer在ACM Symposium on Principles of Distributed Computing上做了一个主题演讲。他提出了一个看似简单的观点:分布式系统不可能同时提供一致性(Consistency)、可用性(Availability)和分区容错性(Partition tolerance)。 ...
2009年3月,Ubuntu用户论坛上出现了一连串关于"ext4数据丢失"的报告。用户们描述了一个令人不安的现象:系统正常关机后重启,发现最近编辑的文件变成了零字节。这不是磁盘故障,不是恶意软件,而是Linux内核中一个精心设计的性能优化机制——延迟分配(delayed allocation)——在特定场景下的"副作用"。 ...
1974年10月,C.A.R. Hoare在《Communications of the ACM》上发表了一篇题为"Monitors: An Operating System Structuring Concept"的论文。这篇论文奠定了并发编程中monitor和条件变量的理论基础。六年后的1980年2月,Xerox PARC的Butler Lampson和David Redell发表了另一篇关键论文"Experience with Processes and Monitors in Mesa",他们在实践中发现了一个令人不安的现象:被唤醒的线程有时会发现条件并未满足。 ...
1970年7月,波音研究实验室的 Rudolf Bayer 和 Edward McCreight 首次流传了一篇题为"Organization and Maintenance of Large Ordered Indices"的论文,两年后正式发表在 Acta Informatica 期刊。他们发明的 B-tree 在此后五十年里统治了数据库存储引擎的设计。 ...
1972年3月,Communications of the ACM发表了一篇题为《TENEX, a Paged Time Sharing System for the PDP-10》的论文。论文作者是BBN公司的Daniel G. Bobrow及其同事。在描述内存管理机制时,论文提到了一个当时并不显眼的设计:当一个进程需要访问另一个进程的数据时,系统不会立即复制内存页,而是让两个进程共享同一物理页,直到其中一个进程尝试修改它。 ...
1995年,Niklaus Wirth在《Computer》杂志上发表了一篇名为《A Plea for Lean Software》的文章。他在文中感叹:软件已经膨胀到以兆字节计。他引以为傲的Oberon操作系统——包含编辑器和编译器——只有200千字节。 ...
1978年7月,Leslie Lamport在《Communications of the ACM》上发表了一篇论文,标题是《Time, Clocks, and the Ordering of Events in a Distributed System》。论文开篇就抛出了一个反直觉的论断:分布式系统中,事件的"先后顺序"本质上是一个相对概念。 ...