mapreduce google John Hennessy and David Patterson 2017 ACM A.M.Turing Award Lecture

Posted wwqdata

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mapreduce google John Hennessy and David Patterson 2017 ACM A.M.Turing Award Lecture相关的知识,希望对你有一定的参考价值。

John Hennessy and David Patterson 2017 ACM A.M.Turing Award Lecture

SISC 不同指令耗费时间不同

Micro programming 每条指令有一套程序 不能共享

设计指令集 机器中基本的微指令 用微指令实现基本指令---微程序设计

微指令的好处 指令长度,执行时间对齐,好调度

计算机的发展历史 大型机的芯片->发现很多指令没有用->设计芯片时不用的一些指令

Conclusion:A new golden age

1.摩尔定律 集成电路上可容纳的晶体管数目,约每隔两年便会增加一倍;摩尔定律放缓

Dennard scaling 单位面积的功耗几乎不变

计算机体系结构要找新的方法

  1. security=architecture innovation too
  2. 领域相关的语言=>邻域相关的体系结构(特定的芯片支撑)Google machine learning AI 芯片 tensorflow tensor(张量 多维的情况)
  3. Open architectures and open source implementations
  4. 租用FPGA实现基本功能
  5. 敏捷硬件开发

 抽象出公共的东西下沉到芯片

 

Jeff Dean

P=NP计算理论

https://www.zhihu.com/question/24653072

可约减 真实的场景归结为排序问题

两个问题复杂度相同

算法 把一个问题转化为另一个问题

一个问题复杂度多项式时间内可解 给足够多的计算能力 就可解出

多项式时间 an*x^k+an-1*x^(k-1)+......

为什么这个多项式时间那么重要而且经常提到?因为它是当今计算科学里,问题可解不可解的分水岭。理论上,只要此问题属于P之一大类,目前的计算机都能在可接受的时间内找到问题的最优解;

密码 f(x)  对密码用函数加密

 

MAPREDUCE

Map(in_key,in_value)->list(out_key,intermediate_value)//读牌

Reduce(out_key,list(intermediate_value))->list(out_value)

Map value结构包括花色和值 把花色作为key 把值作为value

Reduce 做给一个out_key为红桃和一个list 为了得到一个值/一组值

Map reduce 是一个系统 并行的程序

相同的key value对 会被扔到同一个reducer(系统保证)

计数map reduce

比如,这个任务首先要分解成许多子任务,然后这些小任务要在这些电脑上面去分配,然后这些电脑完成了任务之后反馈的结果还要汇总,同时还要考虑如果这些电脑的故障异常等问题怎么去解决…MapReduce就是这样的一个编程模型,一个复杂的任务按照这个抽象的模型去实现,就可以有效进行并行计算。链接:https://www.zhihu.com/question/23345991/answer/53996060

这些PC机器分为三类,第一类称为Master,Master是负责调度的,相当于工地的工头。第二类叫Worker,相当于干活儿的工人。Woker进一步分为两种,一种Worker叫Mapper,另一种叫Reducer。假设我们有一个巨大的数据集,里面有海量规模的元素,元素的个数为M,每个元素都需要进行同一个函数处理。于是Master将M分成许多小份,然后每一份分给一个Mapper来做,Mapper干完活儿(执行完函数),将自己那一份儿活儿的结果传给Reducer。Reducer之后统计汇总各个Mapper传过来的结果,得到最后的任务的答案。

Map reduce 非常好的容错性

如果一个worker down了 把这个worker的任务扔给其他已经做完任务的worker

需要一个master总管

MapReuduece编程框架 只需要拆分成一系列的mapperreduce

 技术图片

https://blog.csdn.net/Mormont/article/details/53511441

 

GOOGLE

Large scale 信息检索的系统

snippet放在Cache

Hit rate 30%-60%

意味着你搜索的东西有百分之六十才被人搜索过

index更新所有Cache都无效了

In-memory index system

所有搜索的返回结果从内存返回

分布式系统 怎么在服务器端和Client端更好的分配资源

Google系统架构 文件系统GFS open write close 调用不行

多数情况 少量随机访问(cache server) 大量的连续访问

MapReduce 大型脚本 方便容错

Bigdata 属性查找

Google的三驾马车

Google 三种分配任务的模式

Serving system

1)分配 按任务来分 不同人做不同事

Dealing with growth

2) shard 分成几个组 每个组都有体育委员 职责相同 任务不同

3)Repulicate A A’’职责相同 复制 处理的任务 管的数据完全相同

Lessons drawn from work across a broad range of areas

Product(serving systems,AdSense,four generations of web search crawling)

互联网广告背后逻辑

1)品牌广告(形象广告) 目的 不是使你买东西 而是使你将一个品牌和(形象)抽象的感觉联系在一起(万宝路广告)

2)商品广告

传统广告通过 楼宇外面 车身 传单

现在的广告 互联网

Bander 进入页面最先加载出的

利润-每次投放的成本最大化

每次投放成本有一个转化率

你喜欢搜什么 点链接 看每个链接的时间 从而知道你喜欢什么

各种cookie cookie号一段时间标记你是谁

很多网站联盟 共享cookie信息

Profile画像 当你进入网站时 知道你是谁 知道你的画像 匹配广告

画像 打标签 (男女 年龄段 作息时间 受教育程度 爱好)

每个广告也有标签 相似度 相似度越高 越应该推荐给你

广告参与的多方的角色 媒体 广告主 用户

用户到媒体上看广告

广告主 追求利润最大化

媒体 追求广告位整体的收益最高

媒体告诉广告主 用户的特征 广告主拍卖 媒体挑(第二高)的出价

点击后 广告主要给媒体交钱

媒体和广告主之间由第三方企业审计

看这个行为是真是价 detect

自动完成 广告主媒体有各自的算法 系统走完所有流程

百度(竞价排名)

Infrastructure(给开发产品的用 like mapreduce bigtable)

Software tool(监控 运维 帮助开发)

Mission critical system

当关键任务系统发生故障或被中断时,业务运营将受到重大影响。 关键任务设备和关键任务应用程序也称为关键任务系统。 [2]关键任务系统的示例包括:在线银行系统,铁路/飞机运行和控制系统,电力系统以及许多其他计算机系统,这些系统在发生故障时会对企业和社会产生不利影响。

要求两地三中心 异地多活

两种方式

一个任务 你做我也做

一个任务 你做 我记录你做的结果

Typical first year for a new cluster

以上是关于mapreduce google John Hennessy and David Patterson 2017 ACM A.M.Turing Award Lecture的主要内容,如果未能解决你的问题,请参考以下文章

Google大数据处理系统介绍之MapReduce浅析

Google MapReduce 论文

第一天

Google云计算原理与应用之分布式数据处理MapReduce

Google MapReduce架构设计

百文买鸡