微软对决SUN:本地计算vs.远程计算
【IT168 专稿】如果象Sun公司宣称的那样——“网络就是计算机”,那么我们为什么还要每隔几年就要买一台新电脑呢?过去我曾想,我们可以用瘦客户机来取代PC进行远程计算。到现在,我仍然认为这种应用模式有一定的合理性,但我已经没有以前那么确信了。
为什么需要远程计算?
从表面上来看,我们确实不需要用PC来满足大多数的计算需求,计算机资源的利用率极低——在白天的时候,很多人的计算机的处理器只有百分之几的时间处于繁忙状态,而在夜间甚至根本都不用计算机。即便是以数据中心为例,对不同的数据中心而言,在通过虚拟化实现服务器整合之前,其利用率也通常只有5%-15%。
另外,我们经常还要做大量工作,来升级操作系统和应用软件,确保计算机免受病毒、恶意程序和其他安全威胁的攻击,并对数据定期进行备份。尽管这些方面已经实现了一定的自动化,但还是有很多人会一天到晚地提醒你升级、更新、重新购买种种软硬件产品的最新版本,这实在是有点烦!想想看,如果电视机也要这样不停地升级,我们的生活将会怎样?
还有一个问题就是,如果文件被存放在不同的机器上,这也会带来一些不便,因为这些机器之间可能无法容易地相互访问。假设我在家里、在单位、在度假时会同时操作同一个文档,这通常就会需要各种各样的软件来支持。而如果互联网可以提供一种简单的、在线的、分布式计算环境的话,我们的工作和生活又会怎样呢?估计麻烦会少很多。
远程计算发展的障碍
显而易见,互联网本身就是一种远程计算平台,但它在这方面发展得还远远不够。大多数情况下,互联网还只是承担数据分布存储和简单事务处理的角色。当前,虽然已经有一些基于Web的类似微软Office的办公应用套件开始出现,如sun的StarOffice、谷歌的Apps、Zoho等,但绝大多数人还是愿意继续使用PC,作为一种胖客户端来连接互联网,并在本地进行文字处理和电子表格构建等工作。
那么,到底是什么原因束缚了远程计算的发展呢?其实这跟整个IT界所面临的两大保守因素一样,那就是——软件惯性和用户习惯。另一方面,硬件发展和投资也限制了远程计算的步伐。
1)软件惯性与用户习惯
我们看到,人们经常使用的大量的数据文件都被绑定在个人计算型软件上,如Word文档、Excel表格和PowerPoint演示文件等。人们已经习惯于使用这些程序来进行工作。因此,不难理解,许多基于web的Office类应用软件都尽可能地模仿微软的产品。
由于大量的软件都是基于Windows操作系统开发的,这也就进一步促使新的应用开发同样基于Windows环境。这不仅仅是因为大多数开发人员已经熟悉Windows API,而且整个代码库和其他基于Windows的软件组件都可以被方便地用来开发和升级应用。相反的是,基于Internet的软件框架,如AJAX(异步JavaScript及XML技术),还只是处于快速发展的初级阶段。
2)硬件限制
同时,本地计算和远程计算之间还存在着硬件方面的竞争。本地计算依赖于处理器成本的不断降低,这一因素由摩尔定律间接地驱动。而远程计算更多地依靠网络传输速度的提升,这一因素由光纤通信技术发展来驱动。从表面来看,网络会赢。按照“每单位美元性能”这一标准来看,摩尔定律大约每18个月将CPU中的晶体管数增加一倍;而光纤技术却使网络带宽每9个月翻一番(据2001年美国科学报告)。
如果只是粗略地推理,你可能会得出结论:通过网络分发数据以进行远程计算的效率会大于在本地处理器上处理同一数据的应用。但这种逻辑忽略了一个基本的事实:数据密集型负载应用会受限于向处理器传输数据的速度。显然,连接处理器与内存以及处理器与处理器之间的芯片组和总线技术总是要快于外部网络。另外,为了利用更快的带宽技术,我们在新建或改造外部网络架构时需要支出更大的成本费用。
3)投资限制
网络取决于许多配套的组件,如路由器、调制解调器、交换机、适配器等,有些东西你可能永远也没见过。这是因为网络架构是一种公共性资源,因此,在个人用户可以获得足够带宽之前,需要企业、业务联盟或政府等大型机构进行事先投资建设。比如,你可能在年内购买了基于英特尔最新45纳米技术的PC,就能马上获得性能的快速提升,但是Internet连接速度的提升则慢很多。
换个角度来看。今天,只有优异政府实验室和数据中心的一小部分用户可以拥有10GB/s的带宽。在这一技术向下普及到普通大众之前还需要经过几年的努力。而另一方面,每个人几乎同时可以用到最新的CPU(和GPU)技术。
微软:借WCCS打造个人超级计算机
那么,这一切对高端计算又意味着什么呢?许多针对消费类IT的影响因素同样适用于HPC和服务器,如不易更改的软件惯性和用户习惯。Windows、Linux/UNIX软件的大行其道,以及HPC用户对集群应用的熟悉体验,为本地计算创造了繁衍的温床;而分布式计算API与用户接口标准的缺失,则限制了网格(grid)和公用计算(utility computing)发展的潜力。
特别是,微软已经开始挺进HPC市场。而且潜力非凡——Windows平台已经无处不在,甚至渗透进了Linux/UNIX计算环境中。微软去年推出的Windows Compute Cluster Server 2003(WCCS 2003)产品对准“桌边集群(deskside cluster)”应用领域,这些目标用户大多数在桌面工作站上就已经使用了Windows。
近期,微软的一项调查报告显示,石油和天然气行业用户会更偏向本地的科学计算能力,从而喜欢桌边集群甚于远程数据中心的。我个人估计,这一结果不仅仅针对这两个行业,也适用于金融、生物/生命科学、娱乐等类似的HPC垂直市场。
![]() |
英特尔和AMD也已经注意到了个人计算市场。二者越来越强调volume processor,最终目标就是针对个人计算环境的硬件设计。在个人计算和企业计算之间,英特尔的Terascale计划及相应的RMS软件似乎更加针对前者。
Sun与Google:网络就是计算机
而Sun公司采取的则是不同的策略。他们认为,计算需求的增长要快于处理器性能的发展,从而会更加倾向于大规模、横向扩展(scaled out)、集中化的计算架构,如Google。在上个月的SAS会议(Sun Analyst Summit)上,该公司R&D部门的CTO兼EVP Greg Papadopoulos就对这一计算模式做了相关展望——“Redshift:大规模系统的爆发”。
Papadopoulos提出的概念是,由于计算需求增长快于摩尔定律,因此,基础设施需要得到扩展,而不仅仅是升级。他认为,HPC就是这样一个典型的例子,如果不是受限于资金预算,人们对计算能力的需要是个无底洞。解决这类需求最好的办法就是,通过大规模扩展性计算系统(massively scaled computing system),结合虚拟化及其他技术,来最大化地提高节能效率、资源使用率、安全性及可预测性,就象我们所熟悉的集中性的电网供电一样。
Papadopoulos相信我们正处于IT产业变革的转折阶段,在这一阶段,基于PC的应用模式会消失。“当拐点来临的时候,我们就需要重新定义这个产业。”
或许他是正确的。但预测未来最好的办法就是去创造未来。我想,在某个时候,像Sun或 Google这样在公用计算模式中占据重要地位的一些公司,会开发和推广(也有可能放弃)一种通用的瘦客户机。
