新浪财经 2小时前
Jeff Dean,阿里花了十年也没「绕开」他
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_keji1.html

 

"Jeff Dean 的论文,与阿里王坚、周靖人、徐常亮、孙牧、林伟、关涛不为人知的故事。"

雷峰网曾在此前的文章中讲述了 Jeff Dean 如何影响腾讯早期技术决策。近期我们又与阿里多位原高层及核心技术人员交流,挖掘了 Jeff Dean 对阿里技术路线的影响。本文是阿里系列第一篇,讲述 MapReduce 如何沿两条路径进入阿里、影响 ODPS;下一篇将继续讲述 TensorFlow 对阿里 AI 技术体系的影响。

据微软早期成员回忆,20 多年前,周靖人第一次读到 Jeff Dean 发表的 MapReduce 论文时,被里面的技术思路深深折服了。

这个思路后来直接影响了周靖人在微软时的成名作:Scope。

戏剧性的是,Scope 在 20 年后也成为了阿里很多 AI 明星产品的名字,如 Model Scope(魔搭社区)、AgentScope、DashScope ……这里面,或许多少藏着周靖人的 " 私心和遗憾 " ——一个曾被拒绝的开源梦。

而当时和周靖人在微软一起做 Scope 这套系统的林伟、关涛等人,也跟着他来到了阿里。他们带着两个目标和野心,一是帮助阿里做一个更好的大数据平台,二是他们在微软看到了 Jeff Dean 团队在秘密研发 Tensorflow,而当时阿里的场景有着比微软更大的 AI 叙事潜力(这部分的精彩故事将在下一篇文章呈现)。

有意思的是,周靖人后来从徐常亮手中接过来的阿里曾经的王牌技术产品 ODPS,也与 Jeff Dean 的 MapReduce 也有着千丝万缕的关系。

于是,杭州遇上西雅图的戏码,正式上演。

被 Jeff Dean 启迪的周靖人,和他的一个遗憾

2007 年前后,微软开始搭建自己的大数据平台 Cosmos。当时微软研究院向必应团队推荐了自己的执行引擎 Dryad。但 Dryad 很快暴露出问题:太难用。

因此,Cosmos 急需在 Dryad 上再封装一层,给系统提供一个高级查询语言,把底层复杂的执行计划和计算图全部隐藏起来,让普通工程师可以用简单方式表达计算逻辑的抽象层。

Scope,在这个背景下出现了。

面对微软给的任务,周靖人作为直接负责人,立马想到了 Jeff Dean 的那篇文章。

微软的问题,和 MapReduce 论文里解决的那个问题:怎么让不懂分布式系统的人也能调用成百上千台机器,有异曲同工之处。

MapReduce 给的思路很简单。把处理海量数据这件复杂的事,压缩成了一个简单的编程模型:先用 Map 把一项巨大的任务拆开,交给成百上千台机器并行处理;再用 Reduce 把结果汇总起来。

这样一来,任务应该跑在哪台机器、哪台机器突然挂了、数据怎么在集群里搬,统统交给系统。程序员只需要告诉系统一件事:自己到底想算什么。

但周靖人又在 MapReduce 基础上多走了一步:它还支持 SQL。

在 Scope 里,开发者可以写 SQL,也可以写类似 MapReduce 的脚本逻辑;系统会把这些代码编译、优化,把 SQL 转换成逻辑执行计划,再映射成 Dryad 的 DAG 图,最后在微软自己的 Dryad 去跑。

不会写复杂分布式程序的数据分析师,也可以直接写 SQL。Scope 会先把这些代码编译、优化,再翻译成一套执行计划,最后交给微软自己的 Dryad 去跑。

据参与者回忆,周靖人把 SQL Server Optimizer 一脉的优化思路带进 Scope,重新写 Rule,一点点改掉原来不好用的逻辑。之后他又全部把 Optimizer 改完,再重写 Compiler、Code-gen。

在微软后来发表的 Scope 论文中,Compiler、Optimizer、Code Generation 正是最核心的几部分,而标题就叫:"Parallel Databases Meet MapReduce" ——并行数据库遇上 MapReduce。

周靖人正是作者之一。

他从头到尾参与了 Scope 整个项目,亲手搭了一个核心团队,为它亲手写下了许多核心代码。

在他的带领下,Scope 很快成为微软搜索体系里重要的大数据基础设施。但这套系统最后也给周靖人留下了一个很大的遗憾:微软不允许 Scope 开源。

而比 Scope 晚几年出现的另一款大数据通用计算引擎伯克利的 Spark,却比干了一件微软没有做到的事:开源。

那时候,大学、创业公司、大厂工程师开始一起写代码、改 Bug、开发插件,Spark 很快从一个伯克利的研究项目,长成全球最有影响力的大数据框架之一。

据 Scope 早期的参与者回忆,当时 Scope 的工程能力和性能并不输 Spark,甚至在相当长时间里明显领先。更早之前,知名大数据框架 Flink 创始人还带着一众开发者,两次到访华盛顿湖东侧的微软雷德蒙德总部 88 号大楼,向周靖人讨教。

但因为有了开源生态,Spark 在行业内走出了更广阔的天地。而 Scope,则一直留在了微软内部。

在一些人看来,Scope 的这段经历,一直刻在周靖人的心里,成了一个遗憾。开源一事,也成了他的一个执念。

2015 年,周靖人带着遗憾加入了阿里,当年跟他一起并肩作战做 Scope 的林伟、关涛,陆续也跟着来到了阿里。再后来,人们在阿里的开源技术生态中,陆续看到了 GraphScope、ModelScope、DashScope ……

从周靖人后来在阿里的技术实践来看,开源与开放始终是一条清晰的主线。

他把在微软积累多年的技术理念和研究带到了阿里,也把二十年前没能完成的事情,换了一个地方继续做了下去。

一路促成阿里王牌技术产品

在 Scope 沿用 Jeff Dean 技术思路的同一时间,Jeff Dean 的论文也正影响着大洋彼岸的雅虎中国和阿里。

2004 年前后,Google 公开了 GFS、MapReduce 论文,但并没有把内部系统开源。外面的工程师能看到图纸,却拿不到真正的程序。

传奇开发者 Doug Cutting 决定自己写。

他按照 GFS、MapReduce 的架构思想,从头实现了一套开源存储和计算系统,后来逐渐演化为 Hadoop MapReduce。

随着 2006 年 Doug Cutting 加入雅虎,Hadoop 从一个开源项目,真正跑进了大型互联网公司的生产环境。

当时雅虎体系里,有一个中国工程师:孙牧。

孙牧很早就开始研究 MapReduce 和 Hadoop,还曾写文章向国内工程师科普这套当时颇为新鲜的大数据技术。后来雅虎中国与阿里走到一起,孙牧进入阿里。

巧合的是,当时淘宝的数据已经快把原来的技术体系撑爆了。商品、交易、用户、搜索、广告,每天都在制造越来越多的数据。过去依赖 Oracle 等传统数据库解决的问题,已经越来越难靠老办法继续撑下去。

2008 年前后,阿里开始大规模引入 Hadoop。内部把这套系统称作:云梯 1。因为对 Hadoop 非常精通,孙牧也因此成为云梯 1 的重要负责人。

但 Hadoop 从一开始,就只是阿里用来 " 救急 " 的过渡方案。

2009 年,阿里云成立,作为当时阿里技术体系的核心负责人,王坚开始主导飞天的研发,希望从底层重做一套属于阿里自己的分布式计算系统。

阿里内部很快出现了一个颇为微妙的局面:云梯 1,下面跑 Hadoop;云梯 2,下面跑飞天。

但只把飞天做出来还不够。

阿里最终想做的,不是把 Hadoop 用好,而是把这套外部系统换掉。问题也随之而来:把 Hadoop 换掉以后,海量数据拿什么算?

于是,ODPS 成了王坚重点推动的另一项核心工程。飞天解决底层分布式计算和资源调度,ODPS 则负责承接上层海量数据的计算与分析。

在王坚主导的这套技术体系里,ODPS 后来成为和飞天紧密绑定的核心项目,而真正站在一线把这套系统做出来的直接负责人之一,是徐常亮。

2010 年前后,徐常亮开始带队攻克这个问题。据早期参与者回忆,当时他手里只有两个应届生、两个实习生,后来团队才慢慢扩充到 300 多人。

最早时,这个项目还不叫 ODPS。徐常亮给它起了一个很有阿里江湖气质的名字:干将莫邪。

早期参与人士透露,干将是 MapReduce 之上加入 Join 等更复杂的数据关联操作,让过去需要多轮 MapReduce 才能完成的事情,可以在更高一层直接表达。

莫邪解决的则是另一个问题:总不能让所有分析数据的人,都先学会写 MapReduce。当时,Hadoop 世界已经出现 Hive,用户仍然写熟悉的 SQL,Hive 再把 SQL 翻译成下面的 MapReduce 作业。

徐常亮决定把这套思路拿过来,但有一件事要换:底层下面不再跑 Hadoop。

据当时参与者回忆,徐常亮的办法很直接,把 Hive 生成的执行计划接过来,再做一层转换,最后交给飞天去执行。对上层用户来说,变化并不明显。他还是写 SQL,但 SQL 下面真正执行的系统,已经开始一点点从 Hadoop 迁移到阿里自己的体系。

2011 年前后," 干将莫邪 " 逐渐有了一个正式名字:ODPS,它开始支撑阿里金融、淘宝等核心业务。到 2013 年前后,阿里自研大数据平台已经能够支撑约 5000 台服务器。

此后几年,原本分散在 Hadoop 等平台上的集团数据开始大规模迁移。到 2015 年前后,ODPS 逐渐成为阿里最核心的大数据底座之一。(更多阿里飞天系统的精彩故事,可点击雷峰网此前文章)

十年后,两波人在杭州坐到了一起

就在 Hadoop 逐渐退出阿里的 2015 年,一个熟悉的名字从西雅图来到杭州:周靖人。

加入阿里后,徐常亮逐渐把这套做了多年的系统交到周靖人手里,林伟、关涛也陆续从微软来到阿里。至此,十年前一起在雷德蒙德做 Scope 的那批人,又在杭州坐到了一起。

只不过这一次,他们面对的已经不是 Scope,而是阿里花了多年时间从 Hadoop 体系里重新造出来的 ODPS。

这件事放到十几年后再看,颇有些戏剧性。

周靖人在微软做 Scope 时,最重要的工作之一,是想办法把 SQL 变成可以在数千台机器上高效执行的任务;几乎同一时期,远在杭州的徐常亮,也沿着 MapReduce、Hive 往前走,最后做出了 ODPS。

两拨人此前没有交集,却因为 Jeff Dean 的同一篇论文,各自在太平洋两岸走了十多年。一拨人在西雅图沿着 MapReduce 做出了 Scope;另一拨人在杭州沿着 MapReduce 催生的 Hadoop,走到了 ODPS。

换言之,Jeff Dean 二十年前写下的 MapReduce,最后把两拨受它影响的人,都带到了同一张桌子上。

本文作者长期关注大厂 AI、电商行业,欢迎添加微信 qqw_501 一起交流。

宙世代

宙世代

ZAKER旗下Web3.0元宇宙平台

一起剪

一起剪

ZAKER旗下免费视频剪辑工具

相关标签

阿里 微软 ai 大数据
相关文章
评论
没有更多评论了
取消

登录后才可以发布评论哦

打开小程序可以发布评论哦

12 我来说两句…
打开 ZAKER 参与讨论