网站首页
|
业界社区
|
电信社区
|
技术社区
|
极客社区
|
游戏社区
|
生活社区
|
科技博客
|
同事录
游客:
注册
|
登录
|
搜索
|
帮助
TechWeb-业界社区
»
谷歌
» MapReduce的解释
‹‹ 上一主题
|
下一主题 ››
投票
交易
悬赏
活动
打印
|
推荐
|
订阅
|
收藏
标题: MapReduce的解释
游客
未注册
#1
发表于 08-1-31 09:00
MapReduce的解释
Mark Chu-Carroll是Google的一位软件工程师,他本周在他的个人博客中对MapReduce这个Google编程模型进行了一些解释。MapReduce能够将一个大的任务迅速拆分给在Google的服务器群(或者单台超级计算机,这取决于你怎么看)里的许多电脑。
什么是MapReduce? 它如何工作?
想象一下,你正在工作,现在需要做一件需要在电脑上运行很长时间的工作,你不愿意干等着,但是也不愿意去花上百美元去买超级计算机。那怎么能让它运行的快一些呢?有一个办法就是买上一堆便宜的电脑,然后让他们同时工作。值得注意的是,你的办公室里面已经有很多电脑了──大部分的办公室里面,每一个雇员的桌上都有一台电脑,而且通常他们并不是在做太多事情。所以为什么不物尽其用呢?当你的电脑没有在做太多事情的时候,暂时把你没用到的性能借给你的同事,当你的任务需要电脑劳动起来,你也可以借用他们的电脑资源。所以当你要执行一个很大的任务的时候,很轻易就可以找到一堆便宜的电脑。
问题来了,大部分的程序可都不是按照在一堆电脑上运行来写的,他们都是按照在一台机器上面写得,把一个很麻烦的任务拆分给一堆电脑是一件很麻烦的事情。
MapReduce就是能够让你实际的、规范化的编制可以分拆给很多电脑的程序的库(library)。它的基本思想是把你的任务分成两部分: Map(映射)和Reduce(化简)。映射会把任务分成子任务,再把子任务分配给不同的电脑,这样每一个子任务都可以同时进行了。化简把每一个负责子任务的计算机返回的结果综合起来,然后得到一个简单的答案。
Mark还提到了 “MapReduce 的诱人之处还在于它很好写” 和 MapReduce (或“M/R”) 程序 “真的让并行编程比以往都简单”。 对于MapReduce的更多解释,可以参看维基百科或者《什么是MapReduce? Google的分布运算开发工具!》(作者Tinyfool)(中文),还有 Google research publication 关于这个话题的内容(英文)。
[来自 Friendfeed. Mark的这篇post是 Creative Commons 授权的.]
原文:MapReduce Explained
引用
回复
投票
交易
悬赏
活动
快速回复主题
选项
标题
Smilies
禁用 URL 识别
禁用
Smilies
禁用
Discuz!代码
使用个人签名
接收新回复邮件通知
内容
TechWeb-业界社区
综合论坛
> 业界
> 传闻
> 人物
> 评论
> 运营
> 招聘
> 推广
> 站务
行业论坛
> IT龙门阵
> 搜索引擎
> 网络游戏
> 即时通信
> 综合门户
> 电子商务
> 专业网站
> 交互社区
> 网络软件
> Web 2.0
> 媒体方法
> 个人站法
> 创业投资
> 互动营销
> 市场数据
> 咬文嚼字
企业论坛
> 腾讯
> 百度
> 阿里
> 新浪
> 搜狐
> 盛大
> 网易
> TOM
> 分众
> 谷歌
> 微软
> 金山
> 联想
> 英特尔
> 戴尔
> 苹果
控制面板首页
编辑个人资料
修改密码
积分交易
公众用户组
好友列表
基本概况
流量统计
客户软件
发帖量记录
论坛排行
主题排行
发帖排行
积分排行
在线时间
管理团队
管理统计
当前时区 GMT+8, 现在时间是 08-9-6 14:18
京ICP证060517号
Powered by
Discuz!
5.5.0
© 2001-2008
Comsenz Inc.
TOP
清除 Cookies
-
联系我们
-
TechWeb.com.cn
-
Archiver
-
WAP