3.5 计算机技术的发展趋势
未来的计算机技术将向超高速、超小型、平行处理、智能化的方向发展。计算机将具备更多的智能成分,它将具有多种感知能力、一定的思考与判断能力及一定的自然语言能力。除了提供自然的输入手段(如语音输入、手写输入)外,让人能产生身临其境感觉的各种交互设备已经出现,虚拟现实技术是这一领域发展的集中体现。未来的计算机界面将完全是图画式,凭直觉就可以使用,语音输入也将成为可能。
3.5.1 未来计算机——量子计算机
量子计算机是一类遵循量子力学规律进行高速数学和逻辑运算、存储及处理量子信息的物理装置。当某个装置处理和计算的是量子信息,运行的是量子算法时,它就是量子计算机。目前为止,世界上还没有真正意义上的量子计算机,它的实现还有许多技术上的问题。量子计算机的优越性主要体现在量子叠加态的关联效应。然而,环境对叠加态的影响以及叠加态之间的相互作用会使这种关联效应减弱甚至丧失,即量子力学去相干效应。因此应尽量减少环境对量子态的作用。同时,万一由于相干效应引入了错误信息,必须能及时改正,这需要进一步的研究和实验。另一方面,量子态不能复制,因此不能把经典计算机中很完善的纠错方法直接移植到量子计算机中来。由于量子计算机在计算过程中不能对量子态测量,因为这种测量会改变量子态,而且这种改变是不可恢复的,因此在纠错方面存在很多问题。
尽管量子计算机的研制困难重重,但是它所具有的无与伦比的优势依然极具吸引力,量子计算机的研究也取得了一步步的胜利。量子计算机的技术概念最早由理查得·费曼提出,后经过很多年的研究这一技术已初见成效。美国的洛斯阿拉莫斯国家实验室和麻省理工学院、IBM公司、斯坦福大学、武汉物理教学所、清华大学等研究组已实现7个量子比特量子算法演示。2001年,科学家在具有15个量子位的核磁共振量子计算机上成功利用秀尔算法对15进行因式分解。2005年,美国密歇根大学的科学家使用半导体芯片实现离子囚笼(IonTrap)。2007年2月,加拿大D-Wave系统公司宣布研制成功16位量子比特的超导量子计算机,但其作用仅限于解决一些最优化问题,与科学界公认的能运行各种量子算法的量子计算机仍有较大区别。2009年,耶鲁大学的科学家制造了首个固态量子处理器。同年,英国布里斯托尔大学的科学家研制出基于量子光学的量子计算机芯片,可运行秀尔算法。2010年3月31日,德国于利希研究中心发表公报:德国超级计算机成功模拟42位量子计算机,该中心的超级计算机JUGENE成功模拟了42位的量子计算机,在此基础上研究人员首次能够仔细地研究高位数量子计算机系统的特性。2011年4月,东京大学的Akira Furusawa和其澳大利亚和日本的科研团队在量子通信方面取得突破,实现了量子信息的完整传输。同年9月,科学家证明量子计算机可以用冯·诺依曼结构来实现。2012年2月,IBM公司声称在超导集成电路实现的量子计算方面取得了数项突破性进展。同年4月,一个多国合作的科研团队研发出基于金刚石的具有两个量子位的量子计算机,可运行Grover算法,在95%的数据库搜索测试中,一次搜索即得到正确答案。该研究成果为小体积、室温下可正常工作的量子计算机的实现提供了可能。同年9月,一个澳大利亚的科研团队实现了基于单个硅原子的量子位,为量子储存器的制造提供了基础。2013年6月8日,由中国科学技术大学潘建伟院士领衔的量子光学和量子信息团队的陆朝阳、刘乃乐研究小组,在国际上首次成功实现了用量子计算机求解线性方程组的实验,该研究成果发表在6月7日出版的《物理评论快报》上。
3.5.2 云计算
著名的美国计算机科学家、图灵奖(Turing Award)得主麦卡锡(John McCarthy)在半个世纪前就曾思考过云计算这个问题。1961年,他在麻省理工学院(MIT)的百年纪念活动中做了一个演讲。在那次演讲中,他提出了像使用其他资源一样使用计算资源的想法,这就是时下IT界的时髦术语“云计算”(Cloud Computing)的核心想法。虽然云计算中的这个“云”字是后人所用的词汇,但其来历颇有历史渊源。早年的电信技术人员在画电话网络的示意图时,一涉及不必交代细节的部分,就会画一团“云”来搪塞。计算机网络的技术人员将这一偷懒的传统发扬光大,就成为了云计算中的这个“云”字,它泛指互联网上的某些“云深不知处”的部分,是云计算中“计算”的实现场所。而云计算中的这个“计算”也是泛指,它几乎涵盖了计算机所能提供的一切资源。麦卡锡的这种想法在提出之初曾经风靡过一阵,但真正的实现却是在互联网日益普及的20世纪末。下面将介绍云计算技术的产生原动力、概念、主要服务形式、核心技术和前景。
1.云计算产生的原动力
1)芯片和硬件技术的飞速发展,使得硬件能力大大提高、成本大幅下降,让独立运作的公司集中有限的硬件能力实现规模效益成为可能。
2)虚拟化技术的成熟,使得硬件资源可以被有限小地分割和管理,以服务的形式提供硬件和软件资源成为可能。
3)面向服务架构的广泛应用,使得开放式的数据模型和通信标准越来越多地为人们使用,为云中资源与服务的组织方式提供了可行的方案。
4)软件即服务模式的流行,云计算以服务的形式向最终用户交付应用的模式被越来越多的用户所接受。
5)互联网技术的快速发展,使网络的带宽和可靠性都有了质的提升,以及云计算通过互联网为用户提供服务成为可能。
6)Web2.0技术的流行和广泛接受,带来人们使用互联网的方式的改变,通过新的用户体验为云计算培育了使用群。
2.云计算的概念
云计算是网格计算(Grid Computing)、分布式计算(Distributed Computing)、并行计算(Parallel Computing)、效用计算(Utility Computing)、网络存储(Network Storage Technolo-gies)、虚拟化(Virtualization)和负载均衡(Load Balance)等传统计算机技术和网络技术发展融合的产物。核心思想是将大量用网络连接的计算资源统一管理和调度,构成一个计算资源池向用户按需服务。
狭义云计算是指计算机基础设施的交付和使用模式,指通过网络以按需、易扩展的方式获得所需的资源(硬件、平台、软件)。提供资源的网络被称为“云”。“云”中的资源在使用者看来是可以无限扩展的,并且可以随时获取,按需使用,随时扩展,按使用付费。
广义云计算是指服务的交付和使用模式,指通过网络以按需、易扩展的方式获得所需的服务。这种服务可以是计算机和软件、互联网相关的,也可以是其他的服务。
云计算通过使计算分布在大量的分布式计算机上,而非本地计算机或远程服务器中,企业数据中心的运行将更与互联网相似。这使得企业能够将资源切换到需要的应用上,根据需求访问计算机和存储系统。云计算的特点主要如下。
1)数据安全可靠:云计算的数据存储中心是最可靠、最安全的,用户无需担心数据丢失、病毒入侵等问题。
2)客户端需求低:云计算对用户端的设备要求最低,使用起来也更方便。
3)轻松共享数据:不同设备间的数据与应用共享可以通过云计算实现。
4)可能无限多:云计算为人们使用网络提供了几乎无限多的可能。
3.云计算的主要服务形式
1)基础设施即服务(Infrastructure-as-a-Service,IaaS)。提供给消费者的服务是处理、存储、网络和其他基本的计算资源,用户能够利用这些计算资源部署和运行任意软件,包括操作系统和应用程序。消费者不能管理或控制任何云计算基础设施,但能控制操作系统、存储、部署的应用,也有可能获得有限制的网络组件(例如,防火墙、负载均衡器等)的控制。
2)平台即服务(Platform-as-a-Service,PaaS)。提供给消费者的服务是把客户使用支持的开发语言和工具(如Java、Python、.Net等)开发的或者购买的应用程序部署到供应商的云计算基础设施上。消费者不需要管理或控制底层的云基础设施,包括网络、服务器、操作系统、存储等,但客户能够控制部署的应用程序,也可能控制运行应用程序的托管环境配置。
3)软件即服务(Software-as-a-Service,SaaS)。提供给消费者的服务是运营商运行在云计算基础设施上的应用程序,消费者可以在各种设备上通过客户端界面访问,如浏览器(如基于Web的邮件)。消费者不需要管理或控制任何云计算基础设施:网络、服务器、操作系统、存储,甚至独立的应用能力等,消费者仅仅需要对应用进行有限特殊的配置。
4.云计算的体系结构
云计算的体系结构由5部分组成,如图3-20所示,分别为应用层、平台层、资源层、用户访问层和管理层,云计算的本质是通过网络提供服务,所以其体系结构以服务为核心。
图3-20 云计算体系结构图
1)资源层。资源层是指基础架构层面的云计算服务,这些服务可以提供虚拟化的资源,从而隐藏物理资源的复杂性。物理资源指的是物理设备,如服务器等。服务器服务指的是操作系统的环境,如Linux集群等。网络服务指的是提供的网络处理能力,如防火墙、VLAN、负载等。存储服务为用户提供存储能力。
2)平台层。平台层为用户提供对资源层服务的封装,使用户可以构建自己的应用。数据库服务提供可扩展的数据库处理的能力。中间件服务为用户提供可扩展的消息中间件或事务处理中间件等服务。
3)应用层。应用层提供软件服务。企业应用是指面向企业的用户,如财务管理、客户关系管理、商业智能等。个人应用指面向个人用户的服务,如电子邮件、文本处理、个人信息存储等。
4)用户访问层。用户访问层是方便用户使用云计算服务所需的各种支撑服务,针对每个层次的云计算服务都需要提供相应的访问接口。服务目录是一个服务列表,用户可以从中选择需要使用的云计算服务。订阅管理是提供给用户的管理功能,用户可以查阅自己订阅的服务,或者终止订阅的服务。服务访问是针对每种层次的云计算服务提供的访问接口,针对资源层的访问可能是远程桌面或者X Windows,针对应用层的访问,提供的接口可能是Web。
5)管理层。管理层是提供对所有层次云计算服务的管理功能。安全管理提供对服务的授权控制、用户认证、审计、一致性检查等功能。服务组合提供对自己已有云计算服务进行组合的功能,使得新的服务可以基于已有服务再创建。服务目录管理服务提供服务目录和服务本身的管理功能,管理员可以增加新的服务,或者从服务目录中除去服务。服务使用计量对用户的使用情况进行统计,并以此为依据对用户进行计费。服务质量管理提供对服务的性能、可靠性、可扩展性进行管理。部署管理提供对服务实例的自动化部署和配置,当用户通过订阅管理增加新的服务订阅后,部署管理模块自动为用户准备服务实例。服务监控提供对服务的健康状态的记录。
5.云计算的核心技术
云计算系统运用了许多技术,其中以编程模型、数据管理技术、数据存储技术、虚拟化技术、云计算平台管理技术最为关键。
1)编程模型。MapReduce是一种Java、Python、C++编程模型,由Google公司开发。它是一种简化的分布式编程模型和高效的任务调度模型,用于大规模数据集(大于1TB)的并行运算。严格的编程模型使云计算环境下的编程十分简单。它的思想是将问题分解成Map(映射)和Reduce(化简)的方式,先通过Map程序将数据划分为不相关的区块,分配(调度)给大量计算机处理,达到分布式运算的效果,结果由Reduce程序汇整输出。
2)海量数据分布存储技术。云计算系统由大量服务器组成,服务于大量用户。云计算系统采用分布式存储数据,用冗余存储保证数据的可靠性。云计算系统大量使用的数据存储系统有两个,一个是Google公司的GFS,一个是Hadn’t团队开发的GFS的开源实现HDFS。GFS(Goggle File System)是一个可扩展的分布式文件系统。用于大型、分布式、对大量数据访问的应用,是针对大规模数据处理和Google应用特性而设计的。它运行于廉价的普通硬件上但可以提供容错功能,给用户提供总体性较高的服务。
3)海量数据管理技术。云计算需要对分布的、海量的数据进行处理、分析,所以数据管理技术必需能够高效地管理大量数据。数据管理技术主要是Google公司的BT(Big Table)数据管理技术,另一个是Hadoop团队开发的开源数据管理模块HBase。BT是建立在GFS、Scheduler、Lock Service和Map Reduce之上的一个大型的分布式数据库。它把所有数据都作为对象来处理,形成表格用来分布存储大规模结构化数据。
4)虚拟化技术。软件应用与底层硬件相隔离可通过虚拟化技术实现,它有裂分和聚合两种模式。虚拟化技术根据对象可分成存储虚拟化、计算虚拟化、网络虚拟化等。计算虚拟化又分为系统级虚拟化、应用级虚拟化和桌面虚拟化。
5)云计算平台管理技术。云计算资源庞大,服务器数量多且分布在不同的地方,多种应用同时运行。怎样高效地管理这么多的服务器及确保整个系统服务不间断是个巨大的挑战。云计算系统的平台管理技术能够使服务器协同工作,快速地进行业务部署和开通,及时地发现和恢复系统故障。大规模系统的可靠运营通过自动化、智能化的手段来实现。
6.云计算在我国的发展
在我国,云计算发展也非常迅猛。2008年5月10日,IBM公司在中国无锡太湖新城科教产业园建立的中国第一个云计算中心开始投入运营。2008年6月24日,IBM公司在北京IBM中国创新中心成立了第二家中国的云计算中心——IBM大中华区云计算中心;2008年11月28日,广东电子工业研究院与东莞松山湖科技产业园管委会签约,广东电子工业研究院将在东莞松山湖投资2亿元建立云计算平台;2008年12月30日,阿里巴巴集团旗下子公司阿里软件与江苏省南京市政府正式签订了2009年战略合作框架协议,计划于2009年初在南京建立国内首个电子商务云计算中心,首期投资额将达上亿元人民币;世纪互联推出了CloudEx产品线,包括完整的互联网主机服务“CloudEx Computing Service”,基于在线存储虚拟化的“CloudEx Storage Service”,供个人及企业进行互联网云端备份的数据保全服务等系列互联网云计算服务;中国移动研究院做云计算的探索起步较早,已经完成了云计算中心试验。中国移动董事长兼CEO王建宙认为云计算和互联网的移动化是未来发展方向。
我国企业创造的“云安全”概念,在国际云计算领域独树一帜。云安全通过网状的大量客户端对网络中软件行为的异常监测,获取互联网中木马、恶意程序的最新信息,推送到服务端进行自动分析和处理,再把病毒和木马的解决方案分发到每一个客户端。云安全的策略构想是:使用者越多,每个使用者就越安全,因为如此庞大的用户群,足以覆盖互联网的每个角落,只要某个网站被挂马或某个新木马病毒出现,就会立刻被截获。云安全的发展像一阵风,瑞星、趋势、卡巴斯基、MCAFEE、SYMANTEC、江民科技、PANDA、金山、360安全卫士、卡卡上网安全助手等都推出了云安全解决方案。瑞星基于云安全策略开发的2009新品,每天拦截数百万次木马攻击,其中1月8日更是达到了765万余次。趋势科技云安全已经在全球建立了五大数据中心,几万部在线服务器。据悉,云安全可以支持平均每天55亿条点击查询,每天收集分析2.5亿个样本,资料库第一次命中率就可以达到99%。借助云安全,趋势科技现在每天阻断的病毒感染最高达1000万次。
值得一提的是,云安全的核心思想,与刘鹏早在2003年就提出的反垃圾邮件网格非常接近。刘鹏当时认为,垃圾邮件泛滥而无法用技术手段很好地自动过滤,是因为所依赖的人工智能方法不是成熟技术。垃圾邮件的最大的特征是:它会将相同的内容发送给数以百万计的接收者。为此,可以建立一个分布式统计和学习平台,以大规模用户的协同计算来过滤垃圾邮件:首先,用户安装客户端,为收到的每一封邮件计算出一个唯一的“指纹”,通过比对“指纹”可以统计相似邮件的副本数,当副本数达到一定数量,就可以判定邮件是垃圾邮件;其次,由于互联网上多台计算机比一台计算机掌握的信息更多,因而可以采用分布式贝叶斯学习算法,在成百上千的客户端机器上实现协同学习的过程,收集、分析并共享最新的信息。反垃圾邮件网格体现了真正的网格思想,每个加入系统的用户既是服务的对象,也是完成分布式统计功能的一个信息结点,随着系统规模的不断扩大,系统过滤垃圾邮件的准确性也会随之提高。用大规模统计方法来过滤垃圾邮件的做法比用人工智能的方法更成熟,不容易出现误判的情况,实用性很强。反垃圾邮件网格就是利用分布互联网里的千百万台主机的协同工作,来构建一道拦截垃圾邮件的“天网”。反垃圾邮件网格思想提出后,被IEEE Cluster 2003国际会议选为杰出网格项目在中国香港作了现场演示,在2004年网格计算国际研讨会上作了专题报告和现场演示,引起较为广泛的关注,受到了中国最大邮件服务提供商网易公司创办人丁磊等的重视。既然垃圾邮件可以如此处理,病毒、木马等亦然,这与云安全的思想就相去不远了。
2008年11月25日,中国电子学会专门成立了云计算专家委员会,聘任中国工程院院士李德毅为主任委员,聘任IBM大中华区首席技术总裁叶天正、中国电子科技集团公司第十五研究所所长刘爱民、中国工程院院士张尧学、Google全球副总裁/中国区总裁李开复、中国工程院院士倪光南、中国移动通信研究院院长黄晓庆6位专家为副主任委员,聘任国内外30多位知名专家学者为专家委员会委员。2009年5月22日,中国电子学会在北京中国大饭店隆重举办了首届中国云计算大会。