1 / 46
文档名称:

云计算读书笔记.doc

格式:doc   大小:2,261KB   页数:46页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

云计算读书笔记.doc

上传人:儒林 2022/7/1 文件大小:2.21 MB

下载得到文件列表

云计算读书笔记.doc

相关文档

文档介绍

文档介绍:云计算读书笔记
2010—2011学年上学期读书笔记
从暑假入学开始,开始接触或者更深刻的认识云计算、mapreduce、hadoop、xen虚拟机、物联网等概念及相应机理的学习和研究,我本人有自己的一个学习习惯,学任何东西前先且只有计算被分布在成百上千的机器上才能在可以接受的时间内完成。怎样并行计算,分发数据,处理错误,所有这些问题综合在一起,使得原本很简洁的计算,因为要大量的复杂的代码来处理这些问题,而变得让人难以处理。作为对这个复杂性的回应,google公司的jeffery dean设计一个新的抽象模型,使我们只要执行的简单计算,而隐藏并行化、容错、数据分布、负载均衡的那些杂乱细节则放在一个库里,不必关心它们。此类抽象模型的灵感来自lisp和许多函数语言的map和reduce的原始表示。事实上许多计算都包含这样的操作:在我们输入数据的逻辑记录上应用map操作,来计算出一个中间key/value对集;在所有具有相同key的value上应用reduce操作,来适当地合并派生的数据。功能模型的使用,再结合用户指定的map和reduce操作,让我们可以非常容易地实现容错。这个工作的主要贡献是通过简单有力的接口来实现自动的并行化和大规模分布式计算
,结合这个接口的实现在大量普通的pc机上实现高性能计算。
计算利用一个输入key/value对集,来产生一个输出key/value对集。mapreduce库的用户用两个函数表达这个计算:map和reduce。用户自定义的马屁函数,接受一个输入对,然后产生一个中间key/value对集。mapreduce库把所有具有相同key i的中间valuce聚合在一起,然后把它们传递给reduce函数。用户自定义的reduce函数,接受一个中间key i和相关的一个value集。它合并这些value,形成一个比较小的value集。一般的,每次reduce调用只产生0或1个输出value。通过一个迭代器把中间value提供给用户自定义的reduce函数。这样可以使我们根据内存来控制value列表的大小。
实例:计算单词数wordcount。
考虑这个问题:计算在一个大的文档集合中每个词出现的次数。用户将写出和下面类似的伪代码:
map(string key, string value):
//key: 文档的名字
//value:文档的内容
for each word w in value :
emit intermediate(w, “1”) ;
reduce(string key, iterator values) :
//key: 一个词
//values: 一个计数列表
int result=0;
for each v in values:
emit(asstring(resut));
map函数产生每个词和这个词的出现次数(在这个简单的例子里就是1)。reduce函数把产生的每一个特定的词的计数加在一起。另外,用户用输入输出文件的名字和可选的调节参数来填充一个mapreduce规范对象。用户然后调用mapreduce函数,并把规范对象传递给它。用户的代码和mapreduce库链接在一起。
类型;
即使前面的伪代码写成了字符串输入和输出的term格式,但是概念上用户写的map和reduce函数有关联的类型:
map(k1,v1)→list(k2,v2)
reduce(k2,list(v2))→list(v2)
例如输入的key,value和输出的key,value的域不同。此外,中间key,value和输出key,values的域相同。我们的c++实现传递字符串和用户自定义的函数交互,并把它留给用户的代码,来在字符串和适当的类型间进行转换。
其他的一些实例,如分布式的grep、计算url访问频率、倒转网络链接图、每个主机的术语向量、倒排索引、分布式排序等一些让人感兴趣的简单程序,可以容易的用mapreduce计算来表示。
mapreduce的实现:
这里主要介绍下google的mapreduce实现。
我们的环境是:
linux操作系统,双处理器,2-4gb内存的机器.
普通的网络硬件,每个机器的带宽或者是百兆或者千兆,但是平均小于全部带宽的一半.
因为一个机群包含成百上千的机器,所有机器会经常出现问题.
.
,每个工作被调度者映射到机群中一个可用的机器集上.
执行预览
通过自动分割