发布日期:2013-04-28 11:53 来源:王鹏 标签: 技术
 

典型云计算平台

云计算的研究吸引了不同技术领域巨头,因此对云计算理论及实现架构也有所不同。如亚马逊利用虚拟化技术提供云计算服务,推出S3(Simple Storage Service)提供可靠、快速、可扩展的网络存储服务,而弹性可扩展的云计算服务器EC2(Elastic Compute Cloud)采用Xen虚拟化技术,提供一个虚拟的执行环境(虚拟机器),让用户通过互联网来执行自己的应用程序。IBM将包括Xen和PowerVM虚拟的Linux 操作系统镜像与Hadoop并行工作负载调度。下面以Google公司的云计算核心技术和架构作基本讲解。

云计算的先行者Google的云计算平台能实现大规模分布式计算和应用服务程序,平台包括MapReduce分布式处理技术、Hadoop框架、分布式的文件系统GFS、结构化的BigTable存储系统以及Google其他的云计算支撑要素。

现有的云计算通过对资源层、平台层和应用层的虚拟化以及物理上的分布式集成,将庞大的IT资源整合在一起。更重要的是,云计算不仅仅是资源的简单汇集,它为我们提供了一种管理机制,让整个体系作为一个虚拟的资源池对外提供服务,并赋予开发者透明获取资源、使用资源的自由。

MapReduce分布式处理技术

MapReduce是Google开发的Java、Python、C++编程工具,用于大规模数据集(大于1TB)的并行运算,也是云计算的核心技术,一种分布式运算技术,也是简化的分布式编程模式,适合用来处理大量数据的分布式运算,用于解决问题的程序开发模型,也是开发人员拆解问题的方法。

MapReduce模式的思想是将要执行的问题拆解成Map(映射)和Reduce(化简)的方式,先通过Map程序将数据切割成不相关的区块,分配(调度)给大量计算机处理达到分布运算的效果,再通过Reduce程序将结果汇整,输出开发者需要的结果。

MapReduce的软件实现是指定一个Map(映射)函数,把键值对(key/value)映射成新的键值对(key/value),形成一系列中间形式的key/value对,然后把它们传给Reduce(化简)函数,把具有相同中间形式key的value合并在一起. map和reduce函数具有一定的关联性。

map (k1,v1) -> list(k2,v2)  reduce (k2,list(v2)) ->list(v2) 其中v1、v2可以是简单数据,也可以是一组数据,对应不同的映射函数规则。在 Map过程中将数据并行,即把数据用映射函数规则分开,而Reduce则把分开的数据用化简函数规则合在一起,也就是说Map是一个分的过程,Reduce则对应着合。MapReduce应用广泛,包括简单计算任务、海量输入数据、集群计算环境等,如分布grep、分布排序、单词计数、Web连接图反转、每台机器的词矢量、Web访问日志分析、反向索引构建、文档聚类、机器学习、基于统计的机器翻译等。

相关评论

专题信息
    随着云计算技术的应用越来越广泛,云计算的可信性和安全性问题凸显。本书叙述了采用可信云安全技术解决云计算可信和安全问题的方法。可信云安全技术是在云计算环境中,针对云端互动的人进行可信计算和安全计算的技术。