近期热点
·ERP走向深入访谈之六:找准目标,协调好全局与局部
·ERP走向深入访谈之五:ERP是工具,理解、应用是基础
·ERP走向深入访谈之四:让数据变为信息
·ERP走向深入访谈之三:深化应用,业务蓝图是关键
·企业知识门户建设和趋势有奖调查
·Inventor夺宝(第二期)
 相关文章
·浅谈千兆交换路由器的虚拟路由集群技术
 相关博客
 相关新闻
 相关热贴
 相关商城商品
 
 
当前位置:制造业与信息化 -> CIMS
 
浅谈集群技术的应用 
发表时间:2000-9-1 方华锋   来源:《计算机世界》
关键字:集群技术 

  编者按

  近年来,伴随着客户对系统安全性能要求的不断提高,以及客户应用系统尤其是关键领域的关键性应用对可靠性要求的不断增加,如何建立并且应用真正高可靠性的系统方案,已成为目前广大用户的一个迫切需求。关键应用系统首先要求计算机的性能不断扩展,然后是对系统的可靠性要求不断提高。早期能够满足人们上述需求的系统主要是超级计算机和大型机,但是随着Web应用、DSS、OLTP应用的发展和普及,人们很快又希望系统具有良好的可扩展性和高的性能价格比。使用超级计算机对大多数用户而言实在是一件可望而不可即的事情。在这种情况下,集群(Cluster)技术渐渐引起了人们的注意。目前集群作为一项成熟技术,已得到了广泛的应用。本期产品专题有关集群技术与产品的几篇文章或许会对用户的应用建设有所帮助。
  在很多时候,人们容易将双机热备份技术与集群技术混为一谈,其实它们具有本质上的区别:即能否实现并行处理和节点机失效后的任务平滑接管。双机或多机热备份技术的原理是一台服务器做主机,其他服务器做备份机,主机失效时,备份机接管。这种工作模式存在三个主要问题:主机发生故障时,备份机不能实现平滑接管,即应用系统会中断;备份机平时不做任何工作,造成资源浪费;不具备负载均衡、并行处理的能力。
  而集群技术是使用特定的连接方式,将比超级计算机便宜许多的硬件设备结合起来,提供与超级计算机性能相当的任务处理能力。目前最为流行的方式是用高速网络传输设备将几台服务器相连,实现并行处理,屏蔽单点失效。而目前对集群技术需求最迫切,发展也最快的领域主要有Web应用、科学计算、数据库应用。

  集群技术的优势
 
  集群技术发展离不开SMP。对称多处理(SMP)是相对非对称多处理而言的,在非对称多处理器系统中,任务和资源由不同的微处理器进行管理。例如,一个处理器处理I/O,而另一个处理器处理操作系统提交的任务,非对称多处理器系统不能进行负载平衡。
    而在对称多处理器系统中,系统资源被系统中的所有处理器共享,工作负载被均匀地分配到所有的可用处理器上。在目前的大多数SMP系统中,中央处理器是通过共享总线来存取数据的。例如Intel的致强和Pentium Pro处理器都基于 Intel的P6总线仲裁算法,用2Bit标示顺序号来识别各个处理器。因此,除非装上用于总线仲裁的独立逻辑单元,否则,一条处理器总线上只能连接4颗处理器。SMP的扩展是比较有限的,为了能够使SMP技术支持更多的中央处理器,需要投入大量的资金和时间对处理器、处理器的总线和主板进行设计,以目前国内企业的技术和经济实力,开发大型对称多处理器系统是比较困难的。
    与SMP相比,集群技术更易于实现,它开发周期短,而且造价低。虽然节点之间数据传输的速度比SMP总线低,但是它的可扩展性远远超过了 SMP,在一个集群中可以很轻松地支持256个CPU。同时,由于各节点之间使用了松散耦合的方式连接,可以在系统正在运行的情况下方便地更换或添加节点,因此它的可靠性与可扩展性也优于目前的SMP技术。进入20世纪90年代后,IT界逐渐掀起了发展集群技术的热潮。
 
  集群技术在Web领域的应用

    随着Internet的迅猛发展,网上活动的日益频繁,各大站点和Web服务器越来越力不从心。高性能Web服务器应该具有这样的能力:处理速度快,I/O吞吐量大,容错性能好,可靠性高,而且还需要有良好的可扩展能力,因为没有人能够预测几年后的服务量会增长多少。这样一来,各个IT厂商分别对能够提供高性能价格比的集群技术倾注了极大热情。
    集群技术最大的特点之一是能够实现负载均衡。以Web 服务器为例,在一个集群结构的服务器组中,必然有一台服务器充当管理者(Cluster Manager)的角色,它最先收到用户发来的HTTP、FTP或其他类型的Web请求,然后判断集群中哪台服务器的负载最轻,就把这个请求发送过去。在用户访问率较低时,这种负载均衡表现的不会很明显,而一旦用户的请求量增大后,那么这种优势就会显现出来。
    集群的另一个优点是容错性好,如果集群管理服务器发现集群中有一个节点出现故障,那么它会将连在该节点上的连接重定向到其他节点机上。在重定向的过程中,有时会出现一些连接丢失的现象,因此重定向过程的时间长短以及用户连接丢失的比率是考核该集群系统的一个重要依据。同时,由于采用了一种松散耦合的模式,集群中的各个节点机使用TCP/IP或其他网络协议通过标准的网络设备连接在一起,可以非常方便地添加或更换集群中的单个节点机,因此松散耦合的集群系统有较好的可扩展性。

  数据库集群系统

  人们还需要在一些重负载的科学计算和商业数据运算(如数据库应用系统)上使用高可靠性、高性能的集群系统。特别是数据库应用系统的需求尤为迫切,原因之一是存储在数据库中的数据呈几何级数增长;另一方面,以数据资源为中心的数据库管理系统(DataBase Management System)面对越来越复杂的数据处理类型。因此,将传统数据库管理技术和并行处理技术相结合的并行数据库技术越来越为人们所瞩目。
    在本文中提到的数据库系统已不仅仅是软件意义上的单纯数据库管理系统,而是指服务器硬件平台、操作系统和数据库管理软件,甚至包括其他一些相关的应用软件。

    1. 并行数据库系统
    并行数据库系统(Parallel Database System)以高性能、高可用性和高扩充性为目标,充分利用多处理器平台的工作能力,在联机事务处理(OLTP)与决策支持(DSS)应用这两种典型环境中提供更快的响应时间与更大的事物吞吐量。到目前为止,并不是所有的数据库厂商都能提供真正的并行数据库软件。

    2. 并行数据库与分布式数据库的区别
    在Internet迅猛发展的今天,分布式计算的概念深入人心。因此人们马上会提出这样一个问题:分布式数据库系统与并行数据库系统有何区别?分布式数据库与并行数据库有很多相似点,它们都是用网络连接各个数据处理节点;整个网络中心的所有节点构成一个逻辑上统一的整体,用户可以对各个节点上的数据进行透明存取。但是由于出发点和实施中采用的手段不同,他们仍具有明显的区别:
    (1)并行数据库系统的目标是充分发挥并行计算机的优势,利用系统中的各个节点并行地完成数据库任务,提高数据库系统的整体性能。而分布式数据库系统的主要目的在于实现场地的自治和数据的全局透明共享,并不要求利用网络中的各个节点来提高系统的处理性能。
    (2)在并行数据库系统中,为了充分利用各个节点的处理能力,各节点间采用高速网络互连(节点间数据传输率通常在100Mb/s,甚至更高),节点间的数据传输代价相对较低,因此当某些节点处于空闲状态时,可以将工作负载过大的节点上的任务通过高速网络传给空闲节点,从而实现系统的负载平衡。但是在分布式数据库中,各节点间一般通过低速局域网或广域网相连,网络带宽较低,因此分布式数据库在进行查询处理时一般需要尽量减少节点间的数据传输量。
    并行数据库充分体现了分布计算、集中管理的优势,更适用于大型企业、机关的数据中心。

    3. 限制并行数据库系统性能的瓶颈
    对于并行数据库系统,都要面对一个节点间数据传输效率的问题。特别是在处理大量并发事务的系统中,为了能够保证真正的负载平衡,必然会有大量的数据在集群中的不同节点机之间互相传递,因此节点机间的通信将成为一个制约集群系统性能提升的严重瓶颈。以Intel架构的服务器为例,内存到CPU的数据传输速率已经达到了800MB/s以上,但是网卡的传输速率仅仅是100Mbps或1000Mbps(快速以太网),换算成字节就只有12.5MB/s和125MB/s。如果考虑使用ATM交换技术,一是网络设备的费用太昂贵,另外如果要达到1GB/s以上的传输速度,则目前在技术上也有一定难度。
    因此,绝大多数集群系统都使用了快速或千兆位以太网技术连接内部节点,首先因为这些设备价格合理,在整个集群系统中大约占1/10至1/5的费用比例;二是因为以太网技术已比较成熟,实现起来难度不大;三是因为网线插接方便,便于扩展和更换设备,因此在集群系统中使用以太网设备已经为大多数厂家和用户所接受。但是由于以太网技术的一些先天弱点,导致了集群系统中节点间的数据传输效率不高。
    数据从网卡到达数据库管理系统通常要经过网卡驱动程序、TCP/IP层、操作系统,最后到达数据库管理系统的应用软件层。而且,并不是所有的数据库软件都能实现并行处理技术,对于某些数据库软件有时需要额外增加一层集群应用软件才能使其达到并行处理的目的。也就是说对于有些数据库软件,数据还要在经过一层应用软件的解析才能被数据库管理软件使用。每经过一层,数据处理都要使用 CPU,极大地影响了系统的性能。

 责任编辑:王玥