Actor模型为何能统治并发编程五十年从1973年理论到WhatsApp二十亿连接的技术博弈
一个数学模型如何重新定义并发 1973年,麻省理工学院的Carl Hewitt在IJCAI会议上发表了一篇论文,提出了一个看似简单的问题:如果我们将"计算"的最基本单位从函数改为"演员"(Actor),会发生什么?这个问题看似学术,却在随后的五十年里彻底改变了我们构建并发和分布式系统的方式。 ...
一个数学模型如何重新定义并发 1973年,麻省理工学院的Carl Hewitt在IJCAI会议上发表了一篇论文,提出了一个看似简单的问题:如果我们将"计算"的最基本单位从函数改为"演员"(Actor),会发生什么?这个问题看似学术,却在随后的五十年里彻底改变了我们构建并发和分布式系统的方式。 ...
2015年,Uber的工程师们面临一个看似无解的困境:他们的数据湖每天要处理数十亿次行程更新,每次行程的状态都可能从"进行中"变成"完成",甚至可能被取消。用传统数据湖的方式——把数据写入Parquet文件就不管了——根本行不通。每次更新都需要重写整个分区,删除操作更是噩梦。 ...
引言:从Napster的覆灭说起 1999年,东北大学学生Shawn Fanning创建了Napster,一个让全球用户自由交换MP3音乐文件的平台。短短两年内,Napster积累了超过8000万注册用户。然而,这种繁荣建立在沙滩之上——Napster采用中央索引服务器架构,所有文件的元数据都存储在公司控制的服务器上。当唱片业的大棒挥下,只需关闭这几台服务器,整个网络就土崩瓦解。 ...
引言:一个看似不可能的难题 2019年,Figma发布了一篇技术博客,详细介绍了他们的"多人游戏"技术——让数百人能够同时编辑同一个设计文件,而不会产生任何冲突。这项技术的核心,是一个名为CRDT(Conflict-free Replicated Data Types,无冲突复制数据类型)的数学概念。 ...
2015年,Twitter在SIGMOD发表论文宣布了一个令人震惊的数据:他们用新系统Heron替换了运行多年的Storm后,吞吐量提升了14倍,延迟降低了10倍,资源消耗却减少了三分之二。这不仅仅是性能数字的跃升,更揭示了流处理系统设计哲学的根本性分歧。 ...
1978年,Leslie Lamport在研究分布式系统时说过一句著名的话:“分布式系统就是这样一个系统:在这个系统中,一台你甚至不知道其存在的计算机的故障,可能会让你的计算机变得不可用。“三十年后,一个化名中本聪的人(或团队)用一篇九页的白皮书,给出了这个问题的解法。 ...
当你在8张GPU上训练一个7B参数模型需要3天,扩展到128张GPU时却发现只快了8倍而不是16倍——剩下的一半性能去哪了?答案藏在每一步迭代中都会发生却极少被提及的操作里:梯度同步。 ...