”效应计算“这个概念于1961年被人工智能之父麦肯锡(John McCarthy)在一次会议上提出,其核心是借鉴了电厂模式,具体的目标是整合分散在各地的服务器,存储系统以及应用程序来共享给多个用户,让人们使用计算机资源就像使用电力资源一样方便,并且根据用户使用量来付费。
网格计算就是化大规模计算为许多小部分计算的方式,研究的是如何把一个需要非常巨大的计算能力才能解决的问题分成许多小部分,然后把这些小部分分配到许多低性能的计算机来处理,最后把这些结果综合起来解决大问题。
云计算的核心与效应计算和网格计算非常类似,也是希望IT技术能像使用电力那样方便,并且成本低廉。但与效应计算与网格计算最大的不同是,现在的商务需求已经成熟,特别是SaaS的发展,驱动了云计算服务的发展,同时在技术方面也已经成熟了。
在技术层面,云计算是在分布式计算、并行计算、虚拟化技术和海量存储技术基础之上发展而来。
并行计算是指同时使用多种计算资源问题的过程,为执行并行运算,通常的计算资源包括一台或多台配有多CPU或计算处理单元的计算机和网络资源,并行计算的主要目的是快速解决大型且复杂的计算问题。
通常计算问题表现为以下特征:
将工作分离成离散部分,有助于同时解决。随时并及时地执行多个程序指令。多计算资源下解决问题的耗时要少于单个计算资源下的耗时云计算与并行计算的联系与区别:
(1) 云计算萌芽于并行计算
(2) 并行计算、网格计算只用于特定的科学领域、专业的用户
(3) 并行计算追求的高性能
(4) 云计算对单节点的计算能力要求低
分布式计算(Distributed Computing) 是一门计算机科学,它研究如何把一个需要非常巨大的计算能力才能解决的问题分成许多小的部分,如何把这些部分分配给许多计算机进行处理,最后把这些计算结果综合起来得到最终的结果。
分布式计算比起其他算法具有以下几个有点:
稀有资源可以共享通过分布式计算可以在多台计算机上平衡计算负载可以把查询放在最适合它的计算机上 其中,共享稀有资源和平衡负载是计算机分布式计算的核心思想之一。
分布式计算使用的操作系统包括分布式操作系统、网络操作系统、基于中间件的操作系统。其他分布式操作系统又包括多处理器系统和多机系统。
网格计算是(GRID Computing)分布式计算的一种。网格计算是伴随着互联网而迅速发展起来的,专门针对复杂科学技术的新型计算 模式。这种计算模式是利用互联网把分散在不同地理位置的电脑组织成一个“虚拟的超级计算机”,其中每一台参与计算的计算机就是一个“节点”,而整个计算是成千上万个“节点”组成的“一张网格”,所以这种计算方式叫网格计算。这样组织起来的“虚拟的超级计算机”有两个优势,一个是数据处理能力超强;另一个是能充分利用网上的闲置处理能力。
网格计算和云计算相似之处:并行与合作的特点。
网格计算与云计算的区别:
网格计算的思路是聚合分布资源,支持虚拟组织,提供高层次的服务,例如分布协同科学研究等。 而云计算的资源相对集中,主要以数据中心形式提供底层资源的使用,并不是强调虚拟组织的概念。对待异构性方面,二者理念上有所不同。网格计算用中间件屏蔽异构系统,力图使用户面向同样的环境,把困难留在中间件,让中间件完成任务。 而云计算实际上承认异构,用镜像执行,或者提供服务的机制来解决异构性的问题。云计算是以相对集中的资源,运行分散的应用(大量分散应用在若干大的中心执行);而网格计算则是聚合分散的资源,支持大型集中式应用(一个应用分到多处执行)。但从根本上来说,从应对互联网的应用的特征特点来说,他们是一致,为了完成在Internet情况下支持应用,解决异构性、资源共享等问题。
虚拟化(virtualization)是将计算机物理资源如服务器、网络、内存级存储等予以抽象、转换后呈现出来,使用可以比原本的组态更好的方式来应用这些资源。
通常虚拟化的目标是管理任务的集中,同时要提高整体硬件资源可扩展性和利用率。
1959年,克里斯托弗(Christopher Strachey) 发布了一篇学术报告,名为"大型高速计算机中的时间共享"(Time Sharing in Large Fast Computers) ,他在文中提出了虚拟化的基本概念,这篇文章也被认为是虚拟化技术的最早论述。
海量数据(mass data) 处理技术实际上涉及到存储和数据库两个方面。
对象存储模式一般由client、MDS (Metadata Server) 和 OSD (Object Storage Device) 三部分组成。
Client 为客户端,用来发起数据访问;MDS 为服务器,用来管理对象存储系统中的元数据并保证访问的一致性;OSD 为存储对象数据的设备,它是一个智能设备,包括处理器、RAM内存、网络接口、存储介质等以及运行在其中的控制软件。对象存储设备 (OSD) 中,将对象 (object) 作为对象存储的基本单元,每个对象具有唯一的 ID 标识符。
对象存储模式的特性使其在处理海量数据存储请求时具有较大优势,主要体现在:
高性能数据存储:访问节点有独立的数据通路和元数据访问通路,可以对多个 OSD 进行并行访问,从而解决了当前存储系统的一个性能瓶颈问题。跨平台数据共享:由于在对象存储系统上部署基于对象的分布式文件系统比较容易,所有能够实现不同平台下的设备和数据共享。方便安全的数据访问:I/O 通道的建立及数据的读写需要经过授权许可才能镜像,从而保证了数据访问的安全性;另一方面,任何 client 都可以通过对象存储系统提供的标准文件接口访问 OSD 上的数据;统一的命名空间使 client 访问数据的一致性得到了保证。可伸缩性:对象存储模式具有分布式结构的特性。由于 OSD 是独立的智能设备,可以通过增加 OSD 数量,使存储系统的聚合 I/O 带宽、存储容量和处理能力得到提高,这种平衡扩展模式使得存储系统能够具有良好的可伸缩性。智能的存储设备:OSD 中集成了部分的存储管理功能,因此 OSD具有一点智能的自主存储功能。② 数据库策略
实现高性能的海量数据存储可采取的数据库策略有:
分区技术:为了更精细地数据库对象如表、索引级索引编排表进行管理和访问。可以对这些数据库对象进行进一步的划分,这就是所谓的分区技术。并行处理技术:为了提高系统性能,可以让多个处理器协同工作来执行单个SQL语句,这就是所谓的并行处理技术。[1] 陈赤榕.云计算服务运营管理与技术架构[M].北京:清华出版社,2014.8