云计算,其实并非新事物;新瓶子里面装的是改良的‘旧酒’-NetPC.在90‘s年代,Oracle提出的是Network Computer架构是由Oracle旗下的Network Computer Inc.提出,获得Apple、Sun、IBM、Netscpae的支持。
NetPC则是由微软和Intel在1997年4月之後提出获得Intel、HP、Dell、Compaq的支持。不管是NC架构或是NetPC架构, 其实都是一样的东西;也可以说NetPC其实就是微软版的NC Architecture(Sun和Oracle也都有各自的NCA);只是微软不愿意将自己提出的架构置於NC架构之下, 所以另外取了个名字叫做NetPC。
基本上, NC是主张个人电脑功能不用太强,藉由连到主机获得主机在硬碟空间和运算能力的支援程式在主机执行完毕之後再将结果送回个人电脑。
不过云计算与NetPC,二者所站的理论高度不同。从思维模式来看,NetPC侧重的是计算的实体;而云计算则侧重的是服务。从商业运作模式来看,当时90’s环境下主要是卖计算机与操作系统;现在云计算机则主要是为了卖软件与服务。
关于云计算所提供服务的度量
建议采用“MIPS币”来作为在虚拟世界中对某个功能真正价值的衡量,以避免“在现实世界中的货币,因为无法统一采用基于真实物理含义的单位来衡量商品真实价值,而导致通货膨胀与剥削”等现象。
云计算的发展原因
五个主要原因使得分布式计算必然会越来越普遍,逐渐发展成主流的计算模式而取代集中式的大型计算机:
1、现在分布式系统的第一个原因就是因为他具有比集中式系统更好的性能价格比。你不要花几十万美元就能获得高效能计算。
2、多数应用本身就是分布式的。如工业企业应用,管理部门和现场不在同一个地方。
3、高可靠性。冗余不仅是生物进化的必要条件,而且也是信息技术。现代分布式系统具有高度容错机制,控制核反应堆主要采用分布式来实现高可靠性。
4、可扩展性。买一台性能更高的大型机,或者再买一台性能相同的大型机的费用都比添加几台PC的费用高得多。
5、高度灵活性。能够兼容不同硬件厂商的产品,兼容低配置机器和外设而获得高性能计算。
粗略地计算,目前的个人计算机每个CPU芯片的处理能力是200MIPS,就是每秒种执行200M也就是两亿次指令,而最近Yahoo!公司报道他们已经实现了有一万个节点(node)就是一万台PC计算机连接的分布式系统,总的处理能力是 2,000,000MIPS,最快的芯片也达不到这个速度,因为在一定面积上设计的芯片的速度是存在一个极限的,不可逾越。而当前世界著名的超级计算机所谓的TOP500,达到每秒几百万亿次指令执行,都是采用分布式设计的,世界第一的IBM BlueGene超级计算机采用了32部机架,每部机架部署有768个PowerPC440 CPU。顺便说一句,这TOP500基本都是使用Linux操作系统的!现在社会和家庭拥有的个人计算机就是PC,只有30%的计算能力被利用,甚至更低,而其余70%的实际上是被闲置的,这些闲置的计算机资源和计算能力只有通过分布式系统才能得到有效的利用,这样可以大大提高一个国家的计算能力,而计算能力是衡量一个国家国力和科学研究能力的指标,这一点现在还没有被国人充分认识到。
一个国家和地区的计算能力现在已经成为一种重要的战略资源,不亚于石油和其他战略物资的重要性。云计算就是把普通的服务器或者个人计算机连接起来以获得超级计算机也叫高性能和高可用性计算机的功能,但是成本更低。这在世界上也是个先进的项目。云计算模式必定能大大提高我国科学计算机和商业计算能力,使得我国经济竞争力大大提升。美国和欧洲有许多社会分布的分布式计算系统,他们动员和使用这些社会计算能力进行人类基因组学(Genomics)的研究、天文学问题研究、数学难题研究以及其他的科学问题研究。去年的一个研究报告估计我国个人计算机PC保有量接近两亿台。
按照计算机操作系统的宗师Andrew S. Tanenbaum(AST)给分布式系统的的定义:“分布式系统是这样的系统,它运行在不具有共享内存的多台机器上,但在用户的眼里却像是一台计算机”。(引自《现代操作系统》,机械工业出版社,1999年中文版)。它的目标是让每个用户感觉联网的计算机是一个分时系统——就像使用个人计算机一样 ——而不是一个由许多计算机联合起来的集体,即使由五个节点组成的分布式系统也应该让用户感觉自己是在使用一台价值20万美元的大型计算机,唯一不寻常的感觉是处理速度提高了许多,别的没有什么不同。例如,这里有一个简单的例子,在机器A的用户要使用安装在机器B上用户的目录里的文件,A用户要使用远程登录命令rlogin B登录到机器B的目录上,那么这就不是一个真正的分布式系统,因为用户A意识到了另外一台机器的存在,分布式系统必须要做到,用户A登录到一个目录上的时候不知道自己是在本地机器上还是在远程机器上的目录上,对于用户A来说机器B是透明的,这就是分布式系统设计时考虑的“透明性”要求。其他有关的问题包括:分布式文件系统的问题,目录和文件访问机制以及一致性问题,分布式系统进程的通信问题等等。目前的云计算严格说还没有到达真正的分布式计算的语义学水平。
【编辑推荐】