微软系统阅读小组:起源、演变与经验 (Microsoft Systems Reading Group: Origins, Evolution, and Experiences)
概述: 这篇文章讲述了Armaan Sood在微软创建并运营的“系统阅读小组”的故事,从最初专注于数据库内部原理,逐渐扩展到涵盖更广泛的系统领域。文章分享了阅读小组的演变过程、经验教训以及作者从中获得的收益。
起源与早期发展 (Origins and Early Development):
- 2021年,Armaan Sood作为Azure数据库团队的新人,为了寻找对数据库领域感兴趣的同事,创建了最初名为“数据库内部原理阅读小组”。
- 小组最初的阅读材料主要集中在数据库内部原理和系统相关的经典论文,例如:
- Algorithms Behind Modern Storage Systems
- WiscKey: Separating Keys from Values in SSD-conscious Storage
- LLAMA: A Cache/Storage Subsystem for Modern Hardware
- Finding a Needle in Haystack: Facebook's Photo Storage
- Column-Stores vs. Row-Stores: How Different Are They Really?
- The Bw-Tree 和其后续改进 Building a Bw-Tree Takes More Than Just Buzz Words
- 小组的讨论形式为:个人阅读论文,然后进行一小时的讨论。
- 除了阅读论文,小组还通过侧面渠道分享工程博客和演讲,这同样具有重要价值。
演变与拓展 (Evolution and Expansion):
- 随着阅读的深入,小组的讨论逐渐扩展到数据库以外的领域,例如内存层次结构、共识协议等。
- 2024年,小组开始采用“引导式阅读系列”的形式,通过多节会议深入研读Stonebraker和Hellerstein的《数据库系统阅读》(Red Book)。
- 小组也开始邀请外部嘉宾进行分享,例如Niv Dayan对Diva系统的讲解。
- 2025年,为了反映更广泛的范围,小组更名为“微软系统阅读小组”。
2026年主题: 2026年的主题是“数据中心基础”,将阅读《数据中心即计算机》(The Datacenter as a Computer)一书,涵盖服务器、机架、网络集群、负载均衡、电源、散热、效率、故障等内容。
运营经验 (Operational Experiences):
- 从小处着手,保持一致性: 稳定的会议频率比偶尔中断的频繁会议更有利于小组的持续发展。
- 让范围自然增长: 避免过度限制主题,顺应好奇心可以吸引更多不同团队的人参与。
- 引导式阅读系列胜过独立论文: 多次会议的深入研读能够帮助参与者建立共同的理解,从而引发更深入的讨论。
- 不必是专家: 对未知主题的共同探索比单方面讲解更有利于参与。
- 拥有联合组织者: 共同负责可以确保小组在一方忙碌时,另一方可以维持活动的持续性。
- 允许未充分准备的参与者: 允许不阅读所有论文的参与者,并在会议开始时进行简短的总结。
个人收益 (Personal Benefits):
- 学习: 阅读了自己可能不会主动选择的论文,涉及从内存芯片架构到Google容器调度等广泛主题。
- 人脉: 与微软内部对同一领域感兴趣的工程师、研究人员和科学家建立了联系,促进了工作上的沟通与合作,也结识了许多志同道合的朋友。
总结 (Conclusion):
文章鼓励公司内部员工创建阅读小组,强调从简单开始,顺应兴趣,并保持开放和协作的态度。 微软系统阅读小组的链接为:aka.ms/msrg。