June 23, 2021
Here is the link.
Here are highlights:
- MapReduce的思想,借鉴自函数式编程,框架本身为不懂或不熟悉并行和分布式系统的程序员能够充分利用大型分布式系统提供的资源
- 容错、计算本地化、任务粒度划分、任务接近执行完成时的BackupTasks
这次读这篇MapReduce的时候,不禁连连感慨如此影响深远的算法架构,其本质中所透露出的简单的美。论文作者在开篇就强调MapReduce的思想,借鉴自函数式编程,框架本身为不懂或不熟悉并行和分布式系统的程序员能够充分利用大型分布式系统提供的资源(翻译一下:让Google的工程师们,很容易的利用Google提供的基础(这篇论文着重在计算资源)设施)。我不懂函数式编程,但MapReduce框架所做的工作,就是对常规的外部排序的升级。外部排序,要求把大量的输入数据,划分成小的可以在内存中排序的一个个片段,mapreduce也是如此,只是在排序之前提供了一个接口,让框架的使用者可以通过map对数据做一遍预处理,而框架本身,则代用户完成了划分和排序的工作;外部排序,在一个个小片段完成排序后,使用败者树或是k路归并完成所有片段的排序,而mapreduce则提供了一个reduce函数,让框架使用者用自己提供的reduce函数代替k路归并。 如此一类比,MapReduce就是常规外部排序的升级版本而已。而论文提到的具体实现中遇到的,诸如容错、计算本地化、任务粒度划分、任务接近执行完成时的BackupTasks(没想到合适的中文),则是Google自身在应用这个框架时是做出的能够更优的利用存储计算等资源的工程性的优化,这些,不接触到如Google一样如此真实的用户场景和如此规模的基础设施资源,是无法做到最优化的。
mapreduce的作者Jeff Dean是位列Google管理层的4个Fellow中的一个,同时也是BigTable的作者,网上有这样一句话评价他:“Google就好像一台和布加迪一样快的航母,Jeff Dean和他的天才同事们还可以设计出来的更好发动机引擎,更大的容量,更快的反应器”。
在看Google Analytics时,也有一些感想。这东西,是Google收购来的,却在Google加以改进升级后,免费提供给所有的互联网站长使用,本质上,Google是想利用此统计分析软件,在分析流量的同时,能够卖出更多的关键字广告,而互联网又是由无数的小网站构成,每个小网站借此提升自己的流量,对Google也是正面的促进作用。Google是鼓励SEO的,让网络上的资源更加规范化,对Google绝对是利大于弊。整个Google的生态体系构筑在自由与开放的基础之上的,反过来说,任何对这一基础的影响都将从根本上动摇Google这一体系的根基,如现在的Facebook,AppStore。
No comments:
Post a Comment