如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
云计算与数据挖掘云计算的起源云计算发展的驱动因素云计算的定义云计算技术体系结构Google云计算关键技术微软的节能措施Google云计算原理Google需要一个支持海量存储的文件系统购置昂贵的分布式文件系统与硬件?为什么不使用当时现存的文件系统?Google所面临的问题与众不同不同的工作负载,不同的设计优先级(廉价、不可靠的硬件)需要设计与Google应用和负载相符的文件系统GFS的假设与目标将文件划分为若干块(Chunk)存储每个块固定大小(64M)通过冗余来提高可靠性每个数据块至少在3个数据块服务器上冗余数据块损坏概率?通过单个master来协调数据访问、元数据存储结构简单,容易保持元数据一致性无缓存Why?单一Master,若干ChunkServer分布式系统设计告诉我们:这是单点故障这是性能瓶颈GFS的解决办法单点故障问题GFS的解决办法性能瓶颈问题存储元数据文件系统目录管理与加锁与ChunkServer进行周期性通信发送指令,搜集状态,跟踪数据块的完好性数据块创建、复制及负载均衡对ChunkServer的空间使用和访问速度进行负载均衡,平滑数据存储和访问请求的负载对数据块进行复制、分散到ChunkServer上一旦数据块冗余数小于最低数,就发起复制操作垃圾回收在日志中记录删除操作,并将文件改名隐藏缓慢地回收隐藏文件与传统文件删除相比更简单、更安全陈旧数据块删除探测陈旧的数据块,并删除采用中心服务器模式可以方便地增加ChunkServerMaster掌握系统内所有ChunkServer的情况,方便进行负载均衡不存在元数据的一致性问题不缓存数据GFS的文件操作大部分是流式读写,不存在大量的重复读写,使用Cache对性能提高不大ChunkServer上的数据存取使用本地文件系统,如果某个Chunk读取频繁,文件系统具有Cache从可行性看,Cache与实际数据的一致性维护也极其复杂在用户态下实现直接利用ChunkServer的文件系统存取Chunk,实现简单用户态应用调试较为简单,利于开发用户态的GFS不会影响ChunkServer的稳定性提供专用的访问接口未提供标准的POSIX访问接口降低GFS的实现复杂度GFS的容错方法Google云计算原理摩尔定律集成电路芯片上所集成的电路的数目,每隔18个月就翻一番,同时性能也提升一倍“免费的性能大餐”?Andygiven,andBilltakenaway软件算法、数据结构似乎不再重要,因为处理器性能不断提升摩尔定律正在走向终结…单芯片容纳晶体管的增加,对制造工艺提出要求CPU制造18nm技术,电子泄漏问题CPU主频已达3GHz时代,难以继续提高散热问题(发热太大,且难以驱散)功耗太高在多核时代生存,必须考虑并发问题不存在解决多核编程问题的银弹,不存在可以简单地将并发编程问题化解掉的工具,开发高性能的并行程序必须要求开发者从根本上改变其编程方法从某种意义上来说,这不仅仅是要改变50年来顺序程序设计的工艺传统,而且是要改变数百万年来人类顺序化思考问题的习惯串行编程早期的计算里,程序一般是被串行执行的程序是指令的序列,在单处理器的机器里,程序从开始到结束,这些指令一条接一条的执行并行编程一道处理可以被划分为几部分,然后它们可以并发地执行各部分的指令分别在不同的CPU上同时运行,这些CPU可以存在于单台机器中,也可以存在于多台机器上,它们通过连接起来共同运作什么样的问题适合并行计算?斐波那契序列(Fibonacci)的计算?什么样的问题适合并行计算?如果有大量结构一致的数据要处理,且数据可以分解成相同大小的部分,那我们就可以设法使这道处理变成并行计算问题简单,但求解困难待处理数据量巨大(PB级),只有分布在成百上千个节点上并行计算才能在可接受的时间内完成如何进行并行分布式计算?如何分发待处理数据?如何处理分布式计算中的错误?一个软件架构,是一种处理海量数据的并行编程模式用于大规模数据集(通常大于1TB)的并行运算MapReduce实现了Map和Reduce两个功能Map把一个函数应用于集合中的所有成员,然后返回一个基于这个处理的结果集Reduce对结果集进行分类和归纳Map()和Reduce()两个函数可能会并行运行,即使不是在同一的系统的同一时刻MapReduce示例:单词计数MapReduce示例:单词计数MapReduce示例:单词计数MapReduce示例:单词计数MapReduce示例:单词计数MapReduce示例:单词计数源文件:GFSMap处理结果:本地存储Reduce处理结果:GFS日志:GFSWorke