from:http://blog.joycode.com/sunmast/archive/2006/09/19/windows_ccs_intro.aspx
引:要不是TechEd,还真不知道微软出了Compute Cluster Pack这么个东西。
微软在群集/分布式领域已经做了大量的工作,在Windows 2000发布时,它就已经支持了四种分布式模型,分别对应于不用的应用场合。他们是:Microsoft群集服务(MSCS)、网络负载平衡(NLB)、组件负载平衡(CLB)和Application Center 2000。详情见:http://www.microsoft.com/china/technet/archives/columns/tips/w2kclust.asp
我对分布式计算一直比较有兴趣,今年在上海TechEd听了一个讲Windows Compute Cluster Server(CCS)的Session,才知道有这么个东西存在。MSDN上已经有下载了,发布日期是2006/07/17。但不知何故微软似乎没有怎么给这个产品作市场宣传嗯。
Product Overview:http://www.microsoft.com/windowsserver2003/ccs/overview.mspx
我在TechEd会后和微软的工作人员(来自开发团队)小聊了一会儿,得知这个产品最佳的应用领域在于那些“Task的数量很少,但每个Task都需要很长时间计算”的问题,比如Pi的计算。实际上这个产品是为科学计算准备的,比如气象模拟、地质勘探等领域。
CCS基于MPI 2.0标准,所以它可以和其他基于MPI 2.0栈的服务器协同工作。CCS目前可以安装在Windows Server 2003/R2 64bit版本上。32-bit对于高性能计算(HPC)可能确实字长太短了,所以微软的方案也根本没有打算支持。
这里有个从微软网站copy过来的table,我在最右边加了一列,来描述CCS和它们的不同之处:
MSCS | NLB | CLB | Application Center | CCS | |
---|---|---|---|---|---|
用途 | 应用程序故障恢复与故障返回 | IP通信负载平衡 | COM+对象负载平衡 | 创建并管理Web区 | 高性能计算 (High Performance Computing/HPC) |
优势 | 可用性与可管理能力 | 可用性与可伸缩性 | 可用性与可伸缩性 | 可用性、可伸缩性与可管理能力 | 可伸缩性与可管理能力 |
每个群集中的最大节点数量 | 2个(针对Win2k AS)或4个(针对Datacenter) | 32 | 16 | 16 | 无限制 |
群集类型 | 共享存储机制 | 无共享资源 | 无共享资源 | 无共享资源 | N/A |
状态信息 | 有状态 | 无状态(如果需要的话,可以支持有状态连接) | 无状态 | 无状态 | N/A |
是否需要对服务器应用程序进行修改 | 需要 | 不需要 | 不需要 | 不需要 | 需要(使用MPI 2.0库,只支持Fortran77、Fortran90和C语言) |
是否需要使用专用硬件设备 | 需要 | 不需要 | 不需要 | 不需要 | 64-bit CPU from Intel or AMD ... |
是否独立 | 是 | 是 | 否(需要使用AppCenter) | 是 | 否(需要使用Compute Cluster Pack) |
分布式计算可以让你的程序或者服务拥有更好的可靠性,或更高的可伸缩性。CCS是为性能而生的产品,它可以以高度scalable的方式增强群集的性能。微软在多CPU/多核方面已经提供了对了SMP的支持(通过VC2005的OpenMP 2.0支持 — 同时支持Managed和Unmanaged代码!),在多机并行运算方面又实现了MPI 2.0,它的计算机群集方面的产品线应该已经相当完善了。
以上信息来自网上资料汇总(大部分来自官方),有不对之处请指正。