扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
来源: 2006年09月11日
|
处理能力似乎永远都不够用。什么样的方法才是最好的,最具扩展性的能够提升关键应用处理能力的方法。
虽然我们无法预测未来,但还有一件事是可以确定的,就是明天的操作系统和应用与今天相比一定需要更高的处理能力,硬件厂商对此更起到了推波助澜的作用。大部分IT专业人士,无论工作时间长短都不会对“摩尔定律”感到陌生。这条定律是1960年代Intel公司的Gordon Moore首先提出,这条定律的内容是每18个月,计算机处理能力就会增加一倍。
如果你需要更多的处理能力,你其实不一定需要升级到新软件。由于需要处理的数据量的增加,你需要更快的处理数据从而才能在合理的时间内完成工作。因此,你无可避免的需要增加计算能力,在最近几年中,你可以采用升级现有系统或者采用更新更快的新系统这两种方式达到目的。现在的问题是:哪种方法才是效率最高,成本最低的方法?
快速处理器vs多处理器
假设你有一个应用,如e-mail服务或者SQL数据库,需要更高的处理能力。首先能够采取的,也是最显著的方法是升级至速度更快的处理器。例如,从2GHz处理器升级到3GHz处理器。你可以使用速度更快的处理器替换服务器中原有处理器(如果主板能够支持的话),或者更换一台处理速度更快的服务器。
第一种方法成本较低,但是如果计算机的主板不能支持比现有处理器速度更快的处理器,就无法选用。另外,这种方法还需要厂家协助安装新处理器,或者需要自行开箱安装,这样可能就无法获得保修。很显然,购买新设备成本要高得多,但是你也会获得其他一些好处,比如能够支持更多的RAM,速度更块的集线器等。
无论你采取升级旧设备还是换用新设备,购买当下速度最快的处理器成本都会比较昂贵,你可以考虑将处理器速度提高到略低于目前最高速度的水平。举个例子来说,最近我在配置一台Dell Precision电脑时,我发现3.0 GHz双核处理器与3.20 GHz处理器的价格只相差194美元,但是3.20 GHz与3.40 GHz处理器之间价格则相差270美元。
因此,如果你额外购买一个处理器,或者购买一台具有两个低速处理器的电脑会更加物超所值。当然,这意味着你的设备应该具有双处理器主板,并且能够支持多处理器。具有两个3.0G处理器的电脑可能不具备单个6.0G同样的处理速度,但是应该会比一个4.0G处理器性能更优(特别是针对某些类型的任务/应用),但是价格要低得多。
增加处理器数量时需要考虑的另外一个问题是软件授权成本。有些软件是按处理器授权。其他一些程序则不是这样。如果你在运行Microsoft ISA Server的系统中增加处理器,根据你使用的是标准版还是企业版,你需要为每个处理器另外支付$1,499 到$5,999。如果你使用的是Windows Server 2003文件服务器,那么你可以任意增加处理器数量而无需支付额外的授权费。不过,如果由于用户数量的增加而需要额外的处理能力,而你所使用的是“按设备或者用户数量”授权使用的模式(通常所说的按座席授权模式),那么你可能需要额外购买客户端授权(CAL)。
多处理器vs并行处理例如,一组电脑可以通过高速以太网连接成为电脑集群,对于网络上的其他电脑来说可以看成为一台设备。建立电脑集群能够达成多种目的。有些集群用于提供容错(当主要设备出现故障时,其他设备能够取代它的工作)。这类集群不能提供实时多处理。不过,另外一种类型的集群能够提供负载均衡功能,能将负载分配给两台甚至更多台电脑。高性能集群专为在多台电脑之间分散处理任务而设计,能够显著改进性能。这些类型的集群也能提供容错。 实施集群需要增加一定的管理成本,并且需要能够支持集群的软件或者第三方集群软件,但是不一定发生大额软件成本的支出。Windows Server 2003的所有版本(网络版、标准版、企业版及数据中心版)都支持负载均衡集群。如果在多个不同Linux发行套件上组建高性能集群,也可以使用免费软件。DragonFly BSD也能支持本地集群。
分布式处理
为了能够处理大量数据,可以采用分布式系统,使用散布在广阔范围内的多台电脑分别计算问题的某一部分,从而共同解决一个问题。这些计算机地理范围分布广泛,无需使用统一的操作系统,也无需同时进行计算工作。这也被称为网格计算。最著名的分布式计算范例之一就是伯克利的加州大学组织的SETI项目,通过使用分布在全世界的计算机寻找地球外文明。计算机用户通过网络下载和安装SETI软件,然后系统就能够在空闲时间里进行工作。
分布式计算利用成百上千设备解决同一问题。它的缺陷包括网络可靠性,安全问题以及分散式管理等。
为发展中的处理能力进行可扩展策略的规划
提高单一设备的处理能力固然缺乏可扩展性。因此,如果你能够提前计划,就可以确保所购买的系统主板能够支持随后发生的处理器升级。或者也可以购买只有一个处理器的多处理器系统,当需要时可以增加处理器,从而提供最佳的可扩展性。
服务器集群具有很高的可扩展性,因为可以在集群中增加更多的设备来均衡需求膨胀导致的处理负载增加。请务必注意计划实施的系统所能支持的集群节点数量。例如,Windows Server 2003最多支持32个网络负载均衡(NLB) 集群节点。
分布式处理适用于项目规模极大,系统之间无需紧密合作,而且安全性或者分布式系统中某个或者多个节点丢失对分布式系统影响不大的情况。
(责任编辑:陈毅东)