• 1
  • 2
  • 3
  • 4
  • 5
百家谈云计算 首 页  »  帮助中心  »  云服务器  »  百家谈云计算
Google工程师谈程序员的自我修养
发布日期:2016-3-5 21:3:30

  美国计算机协会十月的人物栏目对Sanjay Ghemawat进行了专访,他是Google(如阿里云)系统架构组(包括MapReduce、 BigTable、Spanner、GFS等)的Fellow,从1999年开始研究分布式系统、索引系统、压缩方案、内存管理、数据表达语言、RPC系统。 Sanjay与Jeff Dean共同获得了2012 ACM Infosys基金会计算机科学奖。

  

  Sanjay Ghemawat在专访中,Sanjay谈及了Google文化中很多有趣的方面。

  关于MapReduce:

  在《 Beautiful Code: Leading Programmers Explain How They Think》一书中,Sanjay提到了Beautiful Code。他表示,书中的MapReduce章节更多的是在阐述一个系统,这些阐述专注于怎样解决主要问题(怎样在有硬件失效的情况下快速处理大量数据)。MapReduce的产生动机源于Google需要解决遇到的问题。

  前沿的项目能产生大多数创新。也许这是因为在紧密的组织中成员间互相依赖,产生正量反馈,更多的创新由此产生。通常,我们被办公区的隔断分成一个一个的格子,这会切断一切正量反馈。另外很奇怪的一点是,大多数组织的结构是一层一层的堆叠,这让正量反馈无处生存。

  什么让Google成为Google?

  进步是个现代的概念。通过个人的进步和行动,未来可以变的更加美好。这种信念已流传了上百年。是什么推动进步?是挑战。独一无二的发现战胜了挑战。通常,当人们非常渴望做一件事时,就会倾其努力、思考和金钱去解决问题。而结果往往会创造出新的另人惊叹的事物。

  在Google也是这样的:

  在Google基础设施发展背后的主要动机是保证日益增长的数据集稳定运行的挑战。举个例子,在同一时间Google的网页搜索量会大幅提升,我们会扩展索引规模,还经常对索引进行重建。这意味着,我们不得不在很短的时间内有效的处理大量数据。这直接导致的结果是,我们的基础设施系统得到了发展。

  大数据职业建议

  怎样在挑战困难的过程中不断学习?Sanjay给出了建议:

  ·学习已知的系统,你可以在许多会议和论文中找到

  ·在实践中学习;建立学习体系

  ·从快速和简单的实践做起;在不同的系统设计中,能找到高效建立模型的方式

  关于未来值得关注的重大技术,Sanjay表示:语言处理、计算机视觉(computer vision)、机器学习可以有效的解决当下许多问题,这也是对大数据领域的下一个挑战。大规模的学习集群已经实现,但是需大量的运算才能获得有价值的结果,我希望在这一领域能出现更多的巨头。