成 荣
(中国石化中原油田,河南 濮阳 457001)
【摘 要】随着Internet网络应用技术的发展和普及,尤其是Web2.0的发展导致网络用户和网络数据量高速增长,对数据的处理能力提出了更高的要求。资源的整合和优化是网络发展的必然趋势,云计算应运而生。云计算是分布式计算、并行处理和网格计算的进一步发展,它是基于互联网的计算,能够向各种互联网应用提供硬件服务、基础架构服务、平台服务、软件服务、存储服务的系统。实现云计算系统面临着诸多挑战,现有的云计算系统的部署相对分散,各自内部能够实现VM的自动分配、管理和容错等,但云计算系统之间的交互还没有统一的标准。关于云计算系统的标准化工作还需要更进一步的研究,还有一系列亟待解决的问题。
教育期刊网 http://www.jyqkw.com
关键词 云计算;数据处理;虚拟化;并行编程模型
0 引言
云计算是指通过互联网来实现超级计算能力的资源。目前的依赖于个人电脑和服务器的状态将被未来服务信息的存储方式打破,软件和数据将会被存放于网络之中;因为云计算是开放的标准,所以任何个人和企业用户都能够利用云端的计算和存储能力使自己的应用和数据存储得以完成,而且能在云上进行二次开发。因此,近年来的云计算赢得了众多厂商和企业的关注并得到了长远发展。
云计算的产生有其潜在的背景,随着Internet网络应用技术的发展和普及,尤其是Web2.0的发展导致网络用户和网络数据量高速增长,对数据的处理能力提出了更高的要求。此外,网络资源的需求和利用出现失衡状态,某些应用需要大量的网络资源,而大量的网络资源没有得到充分利用。因此,资源的整合和优化是网络发展的必然趋势,云计算应运而生。
1 云计算的特征
一般而言,云是指数据中心的硬件和系统软件,云分为公共云(对公众开放)和私有云(业务组织自己使用)。在公共云的基础上,云计算系统是指终端用户应用软件通过Internet以服务的形式由SaaS提供商交付,云提供商向SaaS提供商提供数据中心的硬件和软件服务。其主要有以下特征:
(1)支持虚拟化,云计算系统可以看做是一个虚拟资源池。通过在一个服务器上部署多个虚拟机和应用,从而提高资源的利用率;当一个服务器过载时支持负载的迁移。
(2)提供服务质量保证(QoS)。云计算系统能够向用户提供满足QoS要求的服务,能够根据用户的需求对系统作出调整,如用户需要的硬件配置、网络带宽、存储容量等。
(3)高可靠性、可用性和可扩放性。云计算系统必须保证向用户提供可靠的服务,保证用户能够随时随地地访问所需要的服务,并且用户的系统规模变化时,云计算系统能够根据用户的需求自由伸缩。
(4)自治性。云计算系统是一个自治系统,系统的管理对用户来讲是透明的,不同的管理任务是自动完成的,系统的硬件、软件、存储能够自动进行配置,从而实现对用户按需提供。
2 云计算实现的相关技术
2.1 虚拟化技术
云计算实现的关键技术是虚拟化技术。通过虚拟化技术,单个服务器可以支持多个虚拟机运行多个操作系统和应用,从而大大提高服务器的利用率,通过虚拟化为应用提供了灵活可变、可扩展的平台服务。虚拟机技术的核心是Hypervi2sor(虚拟机监控程序),Hypervisor在虚拟机和底层硬件之间建立一个抽象层,它可以拦截操作系统对硬件的调用,为驻留在其上的操作系统提供虚拟的CPU和内存。目前VMwareESX和CitrixXenServer能直接运行在硬件上,虚拟的操作系统又运行在Hypervisor之上,从而能够按照用户需求提供IT基础设施。
随着虚拟化技术的应用,对虚拟资源的管理是研究的热点之一。可将VM提供模型集成到现有的资源管理框架中,采用两级调度的方法将对VM的管理集成到批调度器中,向用户提供最大努力的调度服务,但目前不支持虚拟资源的预定服务。
传统的调度器对短期租赁请求调度时,要完成严格的预定资源服务租赁是很困难的。多用虚拟机的无缝挂起和恢复计算的能力来解决这个问题。对于可用性要求不太严格的批量计算任务,调度器先挂起当前计算任务,然后去完成具有严格可用性要求的作业,如预定资源的作业。
当前的云计算系统一般是以虚拟机的形式来满足用户的计算资源需求,但用户需要根据自己的要求将这些虚拟机手动配置成一个工作集群。针对这种情况,虚拟专用网络VPN的发展为用户在访问计算云的资源时提供了一个可以定制的网络环境。目前对于虚拟资源管理的研究,在满足用户对虚拟资源的QoS需求及服务等级协议方面还有待进一步研究。
2.2 Web服务与SOA
云服务一般是以Web服务的形式来实现的。在云中服务的组织和协同可以在面向服务的架构中进行管理。在SOA架构下的云服务可以部署在各种分布式平台上,也可以通过网络访问各种服务。近年来SOA得到了相当广泛的关注,但它并不是一个新概念。早期一些基于网络的SOA的例子有RPC、DCOM和ORBs等,近期的网格计算就是基于SOA的架构和解决方案。
在一个SOA环境中,终端用户请求一个IT服务(或一组服务的集合),并希望这些服务满足一定的QoS要求,用户请求可以得到即时服务,或在一特定的延迟后满足。可以预期在未来十年,基于服务的解决方案将是向个人和机构递交信息和其他IT相关功能的主要手段。例如软件应用、基于Web的服务、个人和商业的桌面机计算等。
2.3 并行编程模型
随着Web2.0的出现,互联网上的信息呈指数级增长,如搜索引擎、在线事务处理等应用系统处理数据的规模越来越大。云计算系统必须给用户提供一个简单易用的编程模型来并行处理用户的数据,从而更好地利用云计算系统的资源。因此研究者提出了一些分布式系统和并行编程模型来支持大规模数据处理。
Google文件系统GFS(Google file system)被用来满足Google快速增长的数据处理需求。为发挥GFS集群的计算能力,Google提出了Map Reduce并行编程模型。Map Reduce是一个简化的并行编程计算模型,模型采用函数式编程中的函数来实现并行编程,模型的核心操作是map和reduce。Map操作对每个元素进行操作并生成一组新数据,原数据保持不变,数据之间不存在相关,因此map操作可以高度并行实现;reduce操作对map操作的中间结果进行合并,并得到最后的输出。只需对map和reduce函数进行并行化处理便得到了MapRe2duce的基本框架。
科学家针对Map Reduce模型调度建立在系统同构的假设上对Map Reduce模型的调度进行了改进,设计了一种新的调度算法LATE,使Map2Reduce能够在异构环境中高效运行。还有科学家提出了另外一个并行编程模型Grid Batch。Grid Batch也是一个隐藏并行程序复杂性的并行编程模型,主要用来解决在计算云中大规模数据密集型应用的并行化问题。文献的整个工作与Google的Map Reduce模型相似,但是GridBatch主要针对分析型应用,对Map Reduce模型作了优化,允许用户控制数据的划分,减少了系统的通信开销。针对数据密集型云计算应用系统,提出为用户提供一个抽象接口来定义任务的计算和存储需求,并以科学领域中的all2pairs问题为例实现了这个抽象接口。
综上所述,并行编程模型的发展对云计算系统的推广实现具有极大的推动作用,现有的云编程模型均是以Map Reduce编程模型为主,编程模型的适用性方面还存在一定局限性,还需要进一步的研究和完善。
3 云计算亟待解决的问题
实现云计算系统面临着诸多挑战,现有的云计算系统的部署相对分散,各自内部能够实现VM的自动分配、管理和容错等,但云计算系统之间的交互还没有统一的标准。关于云计算系统的标准化工作还需要更进一步的研究,还有一系列亟待解决的问题。首先云计算系统中,用户数据存储在云端,如何保证用户的数据不被非法访问和泄露是系统必须要解决的两个重要问题,即数据的安全和隐私问题。同时云计算系统本身的可扩展性、可用性、可靠性、可管理性等都是要重点解决的问题。在服务的层次上,云计算系统必须要解决服务的描述及转换问题,如何将用户的业务理念需求转换成对基础设施的需求、如何确定高层的服务需求和度量到基础设施的需求和度量之间的映射、如何保证多级别的QoS,这些都是云计算系统要解决的问题。在云计算系统的管理方面,云系统之间的互操作是必须要考虑的一个问题。当一个云系统需要使用另外一个云系统的计算资源时,要能够提供跨云的管理策略,从而使得云系统之间能够自动交互。同时为了保证SLA,系统必须能够进行SLA的监测,当有服务失败时,自动地进行资源的重新分配。在基础设施层次上,云计算系统要能够进行服务的动态迁移,目前的虚拟机只支持共享存储的迁移,如何将虚拟机迁移到没有共享存储的其他物理主机上也是云计算系统面临的挑战之一。
作为一种新型的计算模式,云计算利用高速互联网的传输能力使数据的处理过程由个人计算机或服务器转到互联网上的计算机集群中,给用户带来空前的计算能力。虽然目前的云计算还不能很好地解决所有问题,但是未来一定会有越多的云计算系统被投入使用,云计算自身也会不断地完善,从而成为工业界和学术界的另一研究热点。云计算系统已经成为下一代IT的发展趋势,但是关于云系统的安全性、自治性、服务QoS、服务描述发现、云间交互等方面的研究仍显不足,仍需要进一步深入研究。
教育期刊网 http://www.jyqkw.com
参考文献
[1]陈国良,孙广中,徐云.并行计算的一体化研究现状与发展趋势[J].科学通报,2009,54(8):1043-1049.
[2]赵慧玲,韩苏川,霍晓莉.三网融合下的电信网技术与网络发展[J].中兴通讯技术,2011,17(4).
[3]阳旺,李贺武,吴茜.互联网端到端多径可靠传输协议研究[J].计算机研究与发展,2012,49(2).
[4]Iyengar,J.R.,Amer,P.D.,Stewart,R.Transactions on Networking[J].2006,14(5).
[5]李仁发,谢勇,李蕊.信息-物理融合系统若干关键问题综述[J].计算机研究与发展,2012,49(6).
[6]金海.漫谈云计算[J].中国计算机学会通讯,2009,5(6):22-25.
[责任编辑:汤静]