多处理器技术[2]

作者在 2007-06-22 00:34:00 发布以下内容
SMP多处理器系统

    所谓多处理器系统(Multi-Processor Systems,MPS),即一个含有多个处理器的计算机系统,是一种专门为高端工作站或超级服务器设计的处理技术系统。MPS需要硬件和软件的同时支持。在硬件上,根据多处理器之间的相互联系程序和工作特点,MPS又可以简单地分成松耦合多处理器系统、对称多处理器(Symmetric Multi-Processor,SMP)系统和非对称多处理器(Asymmetric Multi-Processor,ASMP)系统。

    松耦合多处理器系统中,每个处理器都有较大容量的本地存储器,可以各有一套I/O设备,系统的耦合度比较松散,并行运行的协调以消息传送方式进行通信。这种多处理器系统在WINTEL架构中,处理器组合性能并没有达到最佳效果,应用价值十分有限。而在ASMP系统中,任务和资源由不同的处理器管理,系统将执行的所有任务按照功能的不同,分配给不同的处理器去完成,如基本处理器运行系统软件、实用软件和中断服务,I/O任务则交给一个或多个专门化的处理器去完成。显然,ASMP系统不能实现负载平衡,因而容易产生一个处理器忙碌不堪,另一个处理器却空闲无事的资源浪费现象。当然,松耦合多处理器系统和ASMP系统也有非常明显的优势,可以方便完成多达百颗以上处理器的组合,所以这类多处理器技术主要应用在小型机和大型机,属于专有系统技术。

    与前者完全不同的是,在SMP系统中,存储器、磁盘I/O等系统主要资源被系统中的所有处理器共享,工作负载被均匀地分配到所有可用的处理器上,这就避免了系统在执行某些特定任务时一些处理器忙不过来,而另一些处理器却闲着的性能浪费弊病,因为当系统增加了一个处理器时,系统就会重新分配正在执行的任务,将其他处理器上的部分任务调剂到这颗处理器上,使系统执行的所有任务,由所有处理器共同均担。可见,SMP系统具有很强的负载均衡与调节能力,不仅可保证计算系统的整体性能得到充分提高,在可靠性和稳定性方面也使得系统得到了极大改善。SMP广泛应用于RISC和IA系统中,之所以普遍在IA服务器系统中采用,因为SMP技术非常适合IA架构,或者说SMP技术更容易在IA架构中实现。

    不过,与ASMP和松耦合多处理器系统相比,SMP支持的多处理器数量的能力非常有限,在SMP系统结构中,由于多个处理器都是通过共享总线来存取数据,虽然两个或多个处理器能够紧密协同处理一个任务或多个任务,能够共享系统的内存和外部存储系统,且每个处理器都能执行任何任务,都能响应任何中断请求,但这种采用了相关特殊技术的共享总线,在支持多处理器的数量时还是受到了较大的限制。如Intel至强处理器就是采用一种基于Intel的P6总线仲裁算法,用2Bit标示顺序号来识别各个处理器的多处理器技术,除非装上用于总线仲裁的独立逻辑单元,否则,一条处理器总线上只能连接4颗处理器,若采用与软件技术相结合的其他先进技术,最多也不能超过8颗。所以,IA架构服务器中最常见的SMP采用的是2路、4路或8路处理器,SMP的扩展能力远不及松耦合多处理器系统和ASMP系统。

程序生涯 | 阅读 1575 次
文章评论,共0条
游客请输入验证码