从Google在OSDI'04上发表了Map/Reduce这篇Paper;到Yahoo!在06年雇佣Doug Cotting,
投入对Hadoop最大的关注,以期提高其计算能力对抗Google;再到CMU CS的系主任发表Tec
h report提出DISC(Data-Intensive Super Computing,在最近一次的Hadoop summit上,
他演讲的slides将Super改成了Scalable)的概念,以及Intel、IBM与Stanford、CMU合作
基于Hadoop搞云计算。Map/Reduce引入的并行计算模型得到了前所未有的关注和应用。
究竟什么是Map/Reduce,为什么需要Map/Reduce,孟岩(此孟岩非彼孟岩,此孟岩是财帮
子的创始人之一)的这篇文章:Map Reduce - the Free Lunch is not over?阐述得很清
楚。(http://www.mengyan.org/blog/archives/2006/11/15/138.html)
随着du-core,multi-core甚至Stanford在做的1024核的出现,我们的Programming Model
会慢慢从OOP转到COP(concurrency-oriented programming)上来。而如何抽象这种progr
amming model的转化,让程序员更加方便的编写并行化程序利用多核甚至分布式系统的计
算能力,成为了很多研究的热点。Map/Reduce就是在这方面做出了不错的努力,这是它的
价值!
于是,在Map/Reduce发表没多久中,很多基于multi-core甚至GPU上的研究也在火热的展开
。
Phoenix: from Stanford
"Evaluating MapReduce for Multi-core and Multiprocessor Systems" —
paper by Colby Ranger, Ramanan Raghuraman, Arun Penmetsa, Gary Bradski, and
Christos Kozyrakis; from Stanford University
很有趣的是,这篇在当年会议上被推荐为best paper的论文居然出自于Stanford开的一门
课”Advanced Processor Design”上的project。(强大的stanford学生啊!)
Mars:from Hongkong University Science and Technology
(GPGPU很猖獗啊~)
# "Mars: A MapReduce Framework on Graphics Processors" — paper by Bingsheng
He, Wenbin Fang, Qiong Luo, Naga K. Govindaraju, Tuyong Wang; from Hong Kong
University of Science and Technology
Cell B.E. Architecture: from University of Wisconsin-Madison(不愧是CS
Architecture No 1的学校啊!)
# "MapReduce for the Cell B.E. Architecture" — paper by Marc de Kruijf and
Karthikeyan Sankaralingam; from University of Wisconsin-Madison
此外,还有一些项目也在应用Map/Reduce的思想。
QtConcurrent :http://labs.trolltech.com/page/Projects/Threads/QtCo
ncurrent
Open Source C++ MapReduce (non-distributed) implementation from Trolltech
Skynet:http://skynet.rubyforge.org/
Ruby Map/Reduce Framework
最牛的不是语言,不是代码,而是思想!还有Simplified的哲学!
学术界的力量也是不可低估的,很多很神奇很美妙的东西都来自于学术界。大家要好好珍
惜还在学习、做研究的机会。
Thanks to map/Reduce!
Thanks to lisp&other fp!
Thanks to lambda calculus!
Thanks to Alonzo Church!
分享到:
相关推荐
Map-reduce Programming Paradigm Hadoop Map-reduce Job Scheduler Resources Hadoop, Why? 数据太多了,需要能存储、快速分析Pb级数据集的系统 单机的存储、IO、内存、CPU有限,需要可扩展的集群 使用门槛低,...
The assignment is to write a parallel map-reduce program for the above task using either octo.py, or mincemeat.py, each of which is a lightweight map-reduce implementation written in Python. ...
* 平滑可扩展的分布式运算子系统:Key-Value Query with Memory Cache、Range Query with Memory Database、Distributed Computing with Map-reduce等技术。 * 高吞吐率的运营服务子系统:Memcache Cluster、MySQL ...
除了基础语法,手册还涉及了函数的定义、参数传递、变量作用域、map与reduce函数、lambda表达式等高级特性,以及列表推导式、多线程编程等进阶主题。面向对象编程作为Python的核心概念之一,也被系统地讲解,包括类...
This will reduce development time, cost and eliminate the learning curve of having to learn controls from multiple platforms. You can also use your XAML skills to develop LightSwitch extensions and ...
This will reduce development time, cost and eliminate the learning curve of having to learn controls from multiple platforms. You can also use your XAML skills to develop LightSwitch extensions and ...
This will reduce development time, cost and eliminate the learning curve of having to learn controls from multiple platforms. You can also use your XAML skills to develop LightSwitch extensions and ...
This will reduce development time, cost and eliminate the learning curve of having to learn controls from multiple platforms. You can also use your XAML skills to develop LightSwitch extensions and ...
This will reduce development time, cost and eliminate the learning curve of having to learn controls from multiple platforms. You can also use your XAML skills to develop LightSwitch extensions and ...
**MapReduce** 是Hadoop的计算模型,它将复杂的计算任务分解为两个阶段:Map阶段和Reduce阶段。Map阶段将原始数据拆分成键值对,并分别处理,这通常在数据所在节点本地进行,减少了网络传输开销。Reduce阶段则负责...
4. **Reducing(归约)**:Reduce函数在每个键的所有值上执行,将Map阶段的结果聚合起来,生成最终的输出。 Hadoop 的设计目标是使硬件资源池化,使得计算任务的分配和执行更加灵活和高效。通过Master节点的调度,...
- 通过将数据处理任务分解为“Map”和“Reduce”两个阶段,可以在分布式环境中高效处理数据。 - **任务调度** - YARN作为Hadoop的资源管理器,负责资源分配和任务调度。 - 支持多框架并行运行,提高了资源利用率...
* Java中的Stream可以用来filter、map、reduce等操作。 九、Java函数式编程知识 * Java中的lambda表达式可以用来表示函数。 * Java中的函数式接口可以用来定义函数。 * Java中的Stream可以用来对集合进行函数式...
This will reduce development time, cost and eliminate the learning curve of having to learn controls from multiple platforms. You can also use your XAML skills to develop LightSwitch extensions and ...
PART 1 Putting Dependency Injection on the map Chapter 1. The Basics Of Dependency Injection: What, Why, And How Chapter 2. Writing Tightly Coupled Code Chapter 3. Writing Loosely Coupled Code PART 2 ...
- **规约**(`reduce()`):将集合中的所有元素归约为单一值。 - **排序**(`sort()`):按指定顺序排列集合中的元素。 - **函数组合**(Function Composition):将多个函数组合成单个函数的过程。 - **惰性函数**...
1. Introduction: Why Look Beyond Hadoop Map-Reduce?.........................................14 Hadoop Suitability..........................................................................................