注解高端Unix操作系统服务器之技术

文章作者 100test 发表时间 2007:03:14 16:45:39
来源 100Test.Com百考试题网


对于服务器而言(不管是PC服务器,还是UNIX服务器),单纯地提高单个处理器的运算能力和处理能力正在变得越来越难,虽然许多制造商从材料、工艺和设计等方面进行了不懈的努力,近期内仍然使得CPU保持着高速的增长势态,但高频之下的高功耗所引起的电池容量问题和散热问题等负面效应,以及这些负面效应对整机系统产生的电磁兼容性问题,又反过来将CPU运算能力的提升推到了暮年。显然,提高单个处理器速度和性能已是强弩之末,而研发多个CPU的并行处理技术,才是真正提高现代服务器处理能力和运算速度的有效途径。这也正是多处理器服务器不仅是UNIX服务器的专利,而且也是已经在PC服务器中普遍采用的原因。目前,业界比较关注的并行处理技术主要有SMP技术、MPP技术、COMA技术、集群技术和NUMA技术等。

1.SMP技术

SMP(对称多处理—Symmetrical MultiProcessing)技术是相对非对称多处理技术而言的、应用十分广泛的并行技术。在这种架构中,多个处理器运行操作系统的单一复本,并共享内存和一台计算机的其他资源。所有的处理器都可以平等地访问内存、I/O和外部中断。

在非对称多处理系统中,任务和资源由不同处理器进行管理,有的CPU只处理I/O,有的CPU只处理操作系统的提交任务,显然非对称多处理系统是不能实现负载均衡的。在对称多处理系统中,系统资源被系统中所有CPU共享,工作负载能够均匀地分配到所有可用处理器之上。

目前,大多数SMP系统的CPU是通过共享系统总线来存取数据,实现对称多处理的。如某些RISC服务器厂商使用Crossbar或Switch方式连接多个CPU,虽然性能和可扩展性优于Intel架构,但SMP的扩展性仍有限。

在SMP系统中增加更多处理器的难点是系统不得不消耗资源来支持处理器抢占内存,以及内存同步两个主要问题。抢占内存是指当多个处理器共同访问内存中的数据时,它们并不能同时去读写数据,虽然一个CPU正读一段数据时,其他CPU可以读这段数据,但当一个CPU正在修改某段数据时,该CPU将会锁定这段数据,其他CPU要操作这段数据就必须等待。

显然,CPU越多,这样的等待问题就越严重,系统性能不仅无法提升,甚至下降。为了尽可能地增加更多的CPU,现在的SMP系统基本上都采用增大服务器Cache容量的方法来减少抢占内存问题,因为Cache是CPU的“本地内存”,它与CPU之间的数据交换速度远远高于内存总线速度。又由于Cache支持不共享,这样就不会出现多个CPU抢占同一段内存资源的问题了,许多数据操作就可以在CPU内置的Cache或CPU外置的Cache中顺利完成。

然而,Cache的作用虽然解决了SMP系统中的抢占内存问题,但又引起了另一个较难解决的所谓“内存同步”问题。在SMP系统中,各CPU通过Cache访问内存数据时,要求系统必须经常保持内存中的数据与Cache中的数据一致,若Cache的内容更新了,内存中的内容也应该相应更新,否则就会影响系统数据的一致性。由于每次更新都需要占用CPU,还要锁定内存中被更新的字段,而且更新频率过高又必然影响系统性能,更新间隔过长也有可能导致因交叉读写而引起数据错误,因此,SMP的更新算法十分重要。目前的SMP系统多采用侦听算法来保证CPU Cache中的数据与内存保持一致。Cache越大,抢占内存再现的概率就越小,同时由于Cache的数据传输速度高,Cache的增大还提高了CPU的运算效率,但系统保持内存同步的难度也很大。

在硬件方面,SMP可以在UltraSPARC、SPARCserver、Alpha以及PowerPC架构上实现,也可以利用包括486以上所有Intel芯片来实现。

2.集群技术

集群(Cluster)技术是近几年兴起的发展高性能计算机的一项技术。它是一组相互独立的计算机,利用高速通信网络组成一个单一的计算机系统,并以单一系统的模式加以管理。其出发点是提供高可靠性、可扩充性和抗灾难性。一个集群包含多台拥有共享数据存储空间的服务器,各服务器通过内部局域网相互通信。当一台服务器发生故障时,它所运行的应用程序将由其他服务器自动接管。在大多数模式下,集群中所有的计算机拥有一个共同的名称,集群内的任一系统上运行的服务都可被所有的网络客户使用。采用集群系统通常是为了提高系统的稳定性和网络中心的数据处理能力及服务能力。

常见集群技术有:

(1)服务器镜像技术

(2)应用程序错误接管集群技术

错误接管集群技术是将建立在同一个网络里的两台或多台服务器通过集群技术连接起来,集群节点中的每台服务器各自运行不同的应用,具有自己的广播地址,对前端用户提供服务,同时每台服务器又监测其他服务器的运行状态,为指定服务器提供热备份服务。

错误接管集群技术通常需要共享外部存储设备—磁盘阵列柜,两台或多台服务器通过SCSI电缆或光纤与磁盘阵列柜相连,数据都存放在磁盘阵列柜上。这种集群系统中通常是两个节点互为备份的,而不是几台服务器同时为一台服务器备份,集群系统中的节点通过串口、共享磁盘分区或内部网络来互相监测对方的心跳。

错误接管集群技术经常用在数据库服务器、MAIL服务器等的集群中。这种集群技术由于采用共享存储设备,所以增加了外设费用。它最多可以实现32台机器的集群,极大地提高了系统的可用性及可扩展性。目前在提高系统的可用性方面用得比较广泛的是应用程序错误接管技术,即我们通常所采用的双机通过SCSI电缆共享磁盘阵列的集群技术。

(3)容错集群技术

容错集群技术的一个典型的应用即容错机,在容错机中,每一个部件都具有冗余设计。容错集群技术的实现往往需要特殊的软硬件设计,因此成本很高,但是容错系统最大限度地提高了系统的可用性,是财政、金融和安全部门的最佳选择。



相关文章


打造Linux操作系统网络自动补丁机[2]
打造Linux操作系统网络自动补丁机[3]
注解高端Unix操作系统服务器之技术
Apache重写规则的常见应用及实例说明
WindowsNT、Linux、Unix等服务器互连
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛