APP下载

云计算时代的作战实验

2011-01-16卜淮原曹琦王文政

军事运筹与系统工程 2011年4期
关键词:虚拟化分布式编程

卜淮原,曹琦,王文政

(后勤工程学院,重庆401311)

自20世纪90年代以来,Internet把人类带进了一个新的信息时代。信息时代最显著的特征就是技术不停地飞速进步,产品更新换代周期极短,站立在技术和市场潮头的,总是一些创新能力强、技术实力雄厚的企业,他们不断地推出新技术,促使信息时代日新月异。云计算是当前信息技术领域的研究热点,也必将成为军事信息技术争夺的制高点。

1 作战实验必须走进云计算

之所以说“云计算”会成为引领信息技术下一轮进步的潮头,原因主要有两个:

一是计算机硬件技术发展举步维艰。时至今日,硅片上半导体器件的集成度已经接近提高的极限。随着硅片上线路的密度越来越高,其复杂性和差错率也会急剧增加,同时,对这样高集成度的芯片,也不再可能进行全面的性能测试;可以预见,当芯片上线路的光刻宽度达到纳米级时,硅片的物理、化学性能将发生质的变化,最终会导致硅片上的半导体器件无法正常工作,著名的“摩尔定律”也就无奈地被彻底终结。另外,由于硅片集成度的提高会导致生产成本呈指数级增长,导致继续对其投入人力和财力将变得得不偿失。所以,计算机计算能力的提高无法再依赖于硬件能力的提升,而不得不从软件上寻求出路,也只有从软件上才能找到出路。

二是当今的人类社会已离不开计算机网络。在信息资源爆炸性增长和海量累积的今天,为什么会出现“信息危机”呢?原因并不在于信息的匮乏,而是在于很难从海量信息中有效地得到和使用所需要的信息,即信息能力需要提升。同时,任何政府、军队、组织、企业和个人都处在竞争甚至对抗的环境中,单打独斗的运作模式逐渐被协同工作所取代,结成体系或伙伴是必然的选择。处理协同联盟关系、业务链上下游关系、友邻关系、对手关系等许多复杂关系,使得沟通、处理、存取信息的能力成为生存、发展的必要条件。而信息能力必须依赖计算机网络的支持。因此,提高网络计算能力是增强信息能力的基础和关键。

其实,“云计算”就是网络计算,只不过是新型的大规模分布式并行网络计算。它更多地是从网络软件的角度提升计算能力,因此,“云计算”不仅是破解“摩尔定律”极限的有效途径,也是解决“信息危机”的唯一出路。

如今,所有现代军人都懂得“无网而不胜”的道理,作战实验也早已步入了网络时代。因此,如果说当今网络技术的“制高点”就是云计算的话,那么,作战实验没有理由不进入云计算时代。

2 云计算服务模式对作战实验的影响分析

在云计算的概念中,有三种不同的服务模式(XaaS):基础架构即服务(1nfrastructure as a Service,IaaS)、平台即服务(Platform as a Service,PaaS)、软件即服务(Software as a Service,SaaS)。如果再按照发布服务的公开程度来看,又可以把云分为三类,即公有云(Public Cloud)、混合云(Hybrid Cloud)和私有云(Private Cloud),私有云有时也称企业云或者内部云。

公有云和私有云的区别在于运营和使用对象不同,公有云是指许多组织共用同一个服务运营商提供的云平台服务,私有云则是组织独立使用、运营自己的云平台服务。它们在技术上并没有本质的差异,而混合云则混合使用公有云和私有云。

一个组织到底使用哪种云合适,要考虑这几个因素:一是数据安全性。私有云审计能力可控,防止攻击和防止泄密能力都较强,适合对数据安全性和隐私要求高的组织使用,公有云则反之。二是服务连续性。私有云受外界因素影响很小,适合对业务连续性高的组织使用,公有云则反之。三是综合使用成本。从经济性角度看,公有云服务适合对计算资源(即计算机的配置)要求不高的中小型组织使用;而私有云则反之。

因此,就作战实验而言,可将全军性的公共信息网、教育训练网建成公有云,各军兵种和各大单位可构建混合云,各个试验基地、训练基地、院校、研究机构则构建自己的私有云。最终形成完整的云计算服务体系。这种云计算服务体系并不同于目前使用的军网环境,按照云计算技术构建的网已经不是传统意义上的网络了,它从技术上改变了传统的网络平台服务模式。

下面,简单分析一下云计算的三种新型服务模式(XaaS):

(1)基础架构即服务(IaaS)。服务机构(运营商)提供虚拟硬件资源,如虚拟主机/存储/网络/数据库管理等资源。用户无需购买服务器、网络设备、存储设备,只需通过网络(如军网或民用互联网)申请、审批、付费(或租赁)即可搭建自己的应用系统。服务机构提供海量数据存储、数据计算、信息处理和查询、消息传递等可靠、低成本的服务。

对于作战实验来说,该服务类型可以有效避免硬件建设的重复投资,降低资源使用成本和推广应用“门槛”,从而促进作战实验的普及,它与云计算的软件技术相结合,将把作战实验这一高深的现代科技“平民化”。

(2)平台即服务(PaaS)。服务机构(运营商)提供应用服务引擎,如网络(互联网)应用编程接口/运行平台等。用户基于该应用服务引擎,可以构建该类应用。

对于作战实验来说,该服务类型适宜搭建全军参与的实验体系。试想,如果上级机构或技术实力很强的研究机构能够提供作战实验系统的数据服务引擎、模型构建引擎、模型运行引擎、平台管理服务引擎、系统集成架构与接口等标准化、规范化,甚至一体化的解决方案和服务,那不仅会提高作战实验系统的建设质量和应用水平,而且会显著提高全军上下参与作战实验建设的积极性,发挥更多人的聪明才智,且能从大大减少的重复研发中有效降低作战实验系统的建设成本。

(3)软件即服务(SaaS)。用户不必购买软件,只需按需租用软件,通过网络(或Internet)来使用服务机构(运营商)提供的服务软件。这类服务软件不仅是通用型的,如报表制作、日程安排、文档制作等,而且还会是支持协同工作的“在线”软件。这就给软件升级、维护和使用带来了极大的便利和成本的降低。

对于作战实验来说,该服务类型是统一技术体制,提高信息共享程度的极佳途径;也是减少“烟囱”、“孤岛”的有效手段。

综上所述,云计算技术应用于作战实验,其特点和优势在于能够提供强大的基础架构资源、平台和软件三类服务,可快速搭建各类满足作战实验系统需求的硬件环境,有效降低建设成本,提高资源利用和管理效率,符合绿色节能的科学发展理念;也能极大地提高作战实验网络应用的用户参与度和应用体验度,更能提升作战实验的建设质量和效益。

3 云计算关键技术对作战实验的影响分析

云计算是以数据为中心的一种数据密集型的超级计算,在数据存储、数据管理、编程模式、并发控制、系统管理等方面具有自身独特的技术,主要包括虚拟化技术、海量分布式数据存储与管理技术、并行编成模式、云计算平台管理技术、多粒度和变粒度计算支持技术等。本文简要阐述云计算的虚拟化技术、分布式资源管理技术,以及并行编程模式对作战实验的影响和支持。

3.1 虚拟化技术

虚拟化技术是一种调配计算资源的方法,传统的虚拟化技术是分离单独使用的技术,如服务器虚拟化、存储虚拟化、网络虚拟化、应用虚拟化、客户端虚拟化、操作系统虚拟化、CPU虚拟化、某种外设虚拟化等等。云计算的虚拟化技术不同于传统的单一虚拟化,它是涵盖整个IT架构的,包括资源、网络、应用和桌面在内的全系统虚拟化。它的优势在于能够把所有硬件设备、软件应用和数据隔离开来,打破硬件配置、软件部署和数据分布的界限,实现IT架构的动态化,实现资源集中管理,使应用能够动态地使用虚拟资源和物理资源,提高系统适应需求和环境的能力。

对于作战实验来说,云计算虚拟化技术的应用意义并不仅仅在于提高资源利用率并降低IT成本,更大的意义是虚拟化技术所提供的强大计算能力。众所周知,作战实验系统是一种具有超大计算量的复杂系统,计算能力对于系统运行效率、精度和可靠性影响很大,而虚拟化技术可以将大量分散的、没有得到充分利用的计算能力,整合到计算高负荷的计算机或服务器上,实现全网资源统一调度使用,从而在存储、传输、运算等多个计算方面达到高效。

3.2 分布式资源管理技术

作战实验系统在大多数情况下会处在多节点并发执行环境中,要保证系统状态的正确性,必须依赖分布式资源管理系统。作战实验系统的状态需要在多节点之间同步(比如多架战机协同的攻击行动),关键节点出现故障时需要迁移服务(作战任务)。分布式资源管理技术通过锁机制来协调多任务对于资源的使用,从而能够保证数据操作的一致性。

分布的一致性问题是分布式算法中的一个经典问题,也是作战实验系统经常需要处理的问题。比如,在一个等待起飞的机群中,多台战机都向塔台提出了要求起飞的请求,指挥所只能选中其中的一架飞机担任首飞任务,当这架飞机被选出来以后,所有其他的飞机都需要被通知到。表面上看,这个问题很非常容易解决。塔台发布一道通知给所有的待飞战机即可。但是在分布式系统中是不那么简单的,会有各种意想不到的问题发生,例如,塔台电台发生故障了怎么办?所以,可能需要有不止一个备用的指挥所来共同实行指挥。还有,各架战机提交起飞请求的时间都不一样,网络传输过程中会出现延迟,使得这些请求到达塔台和其他备用指挥所的顺序不一致。

为了分布的一致性问题,计算机界的很多公司和研究人员提出了各种各样的协议,这些协议即是一些需要遵循的规则。也就是说,在云计算出现之前,解决分布的一致性问题是靠众多协议的。但对于大规模、甚至超大规模的分布式系统来说,无法保证各个分系统、子系统都使用同样的协议,也就无法保证分布的一致性问题得到解决。在作战实验系统中,联合作战的军兵种战术动作协同问题尤其需要解决分布一致性问题。

云计算中的分布式资源管理技术圆满解决了这一问题。其中Google公司的Chubby是最著名的分布式资源管理系统。该系统实现了Chubby服务锁机制,使得解决分布一致性问题的不再仅仅依赖一个协议或者是一个算法,而是有了一个统一的服务(service)。

3.3 并行编程模式

云计算采用MapReduce编程模式,它是Google公司发明的并行编程系统,同时,也是一种作业调度和资源映射模型。另一个著名的并行编程系统就是开源化的Hadoop系统,该系统沿袭了Google发明的这种基于GFS和MapReduce的分布式并行编程模式。

MapReduce系统简化了分布式系统的编程,应用程序编写人员只需将精力放在程序本身,而关于集群的处理问题,包括可靠性和可扩展性,则交由平台来处理。在MapReduce编程模式下,并发处理、容错、数据分布、负载均衡等细节都被抽象到一个函数库(lib)中,通过MapReduce接口,用户大尺度的计算任务被自动并发和分布执行,即将一个任务自动分成多个子任务,通过“Map(映射)”和“Reduce(化简)”这样两个简单的概念来构成运算基本单元,用户只需分两步提供自己的Map函数以及Reduce函数,即可实现任务在大规模计算节点中的调度与分配,并行地处理海量数据。对此,中国移动通信研究院的张为民先生有一个形象比喻,他说:“整个MapReduce的编程模式,恰如我们国家体育总局在一个新的运动项目上组建国家队,假设这个项目是柔道。这是一个很复杂的问题,为了快速高效地解决这一问题,我们需要把这个任务Map到各省,每一个省有一个伯乐去选运动员,他需要到他负责的省了解尖子运动员,了解他们的优点和缺点,然后依据统一的标准键值,即选拔国家队队员的要求,进行Reduce,写出一份那个省的选择报告,最后,国家体育总局把这几十份报告再进行筛选,选出运动员组成国家队。”

对于作战实验这种复杂系统的编程来说,MapReduce模式是一种颠覆性的革命。它第一步Map任务,体现了系统工程的“分而治之”思想,而且使之成为多节点并行“治之”的海选过程,从而用“群智慧”取代了个体或少数人的思维,变闭门造车为开门纳贤,使程序设计“草根化”;它第二步Reduce体现了选优的思想,最终在选优的基础上“集成”则体现了系统最优化的策略。由于它是在网络计算(如Web2.0技术)一系列优秀成果上发展而来的,所以更加淋漓尽致地体现了面向服务的体系架构(SOA)技术。可以预见,如果将这一并行编程模式引入作战实验领域,定会带来作战实验软件建设的跨越式进步。

4 小结

云计算是引领信息技术下一轮进步的潮头,必将成为军事信息技术争夺的制高点,作战实验也将走进云计算时代。云计算给计算机网络技术和应用服务带来了许多新的变化,它的服务模式和关键技术对作战实验影响很大。分析研究这些影响,对我军作战实验建设和应用具有很强的现实意义。

1 张为民,唐剑峰,罗治国,等.云计算深刻改变未来[M].北京:科学出版社,2009.

2 MILLER MICHAEL.Cloud Computing:Web-Based Applications that Change the Way You Work and Collaborate Online[M].USA:Que Publisher,2008.

3 李德毅.超出图灵机的云计算[R].云计算时代的IT应用论坛,2009.

4 陈全,邓倩妮.云计算及其关键技术[J].计算机应用,2009,29(9):2562-2567.

猜你喜欢

虚拟化分布式编程
基于RTDS的分布式光伏并网建模研究
编程,是一种态度
元征X-431实测:奔驰发动机编程
编程小能手
纺织机上诞生的编程
基于OpenStack虚拟化网络管理平台的设计与实现
对基于Docker的虚拟化技术的几点探讨
基于预处理MUSIC算法的分布式阵列DOA估计
浅析虚拟化技术的安全保障
H3C CAS 云计算管理平台上虚拟化安全防护的实现