这很盒里吧
26-08-06 03:59 微博认证:AI博主

竟然看到有很多人质疑杰夫·迪恩离开谷歌的重要性 …… 关于杰夫·迪恩在全球软件工程领域的地位有多高,前腾讯副总裁郄小虎(虽然这个人有其他争议,但在技术领域的成就应该是没有争议的)曾如此评价:

我自己接触过的人里,能算得上行业大神的,非杰夫·迪恩莫属。在谷歌的软件工程师里,如果他排第二,没人敢称第一。

在谷歌,我们每个人都要给其他工程师做大量的review。我做review时,一般工程师提交的代码,我通常都能给出一些优化结构的建议。

但对杰夫·迪恩等大神的代码,试图优化基本是徒劳的。他们的组织结构恰到好处,真的是到了增之一分则太长,减之一分则太短的境界。

今天,每一个新入行的软件工程师几乎都听过他的名字,而这主要源于他当年建立的一张表 —— 每个工程师都应该背下来的一些数。

我还在谷歌的时候,有一次跟迪恩等人一起开会讨论一个新做的系统设计。我们关注的是,当有一个请求进来时应该怎样处理。

迪恩当时直接说了一句话,令我们所有人大吃一惊:“这么处理的话,响应时间大概是50毫秒。”

没有做任何实际的测算,他就能说出准确的时间,而且单位精确到毫秒。后来,我和几个同事花了一星期的时间把这个程序写了出来,上线、测试,最后发现,需要的时间真的和迪恩说的分毫不差,就是50毫秒。

经过这件事情之后,迪恩突然意识到,很多在他认为是“常识”的事情,原来绝大部分软件工程师都不知道。于是,他制作了下面这张数字列表(见配图)。

从那以后,软件工程师在做系统设计之时,就能参照这张数字列表来评估不同设计方案性能的优劣。

对迪恩来说,这张表只是他做的一件小事。说迪恩牛,主要是因为他和他的搭档桑杰·格玛瓦特一起打造了支撑大数据、机器学习的分布式系统的基石。

迪恩进入谷歌以后,解决的第一个问题就是怎样有效解决大量数据的存储问题。

简单来说就是,在迪恩和桑杰之前,软件工程师要想完成一些重要任务、解决核心问题,必须买特别高配的机器。因为计算机的性能越强,计算能力才会越强,而性能强的计算机价格一定更贵。

但迪恩打破了这个常规做法。在他看来,把很多台非常便宜的机器拼在一起,也能达到强大的运算能力。这种做法可不只是替谷歌节省了开销,更是开辟了一个全新的方向。

今天我们看到的整个云服务运用的分布式存储、分布式计算,以及一些硬件、网络技术,比如GFS、MapReduce、BigTable、Spanner、TensorFlow等,都是基于迪恩的这个方向产生并蓬勃发展的。

发布于 上海