对称多处理(SMP,Symmetrical Multi-Processing)技术,是指在一台计算机上使用两个或两个以上处理器去进行计算处理,它是一种应用广泛的并行处理技术。在对称多处理技术中,使用的CPU是相同的,每个CPU都同时运行操作系统的单一副本,它们共享内存子系统及总线结构以及计算机其他资源,对系统资源具有相同的支配能力,它们可以平等地访问内存,I/O和外部中断,而工作负载则能均匀地分配到所有可用处理器之上。虽然对称多处理系统中使用了多个CPU,但从系统管理的角度来说,与我们只使用一个CPU并没有两样,系统能自动将任务队列对称分配到多个CPU上,从而提高整个系统的数据处理能力。
对称多处理技术,是为了解决在一些计算需求比较大的应用中,单个CPU性能不足的问题而出现的。在普通的商业、家庭应用之中,由于计算需求并不高,单个CPU就能很好地满足计算需求,因而这种技术用处不大,但在某些计算需求比较高的地方,比如专业制作,3D设计等,单个CPU已经不能满足要求,而对于需求更高的企业运用如OLTP(联机事务处理)、协作计算、数据仓储等,更是远远不够,这时2路,4路,乃至8路,16路SMP技术成为一种很好的解决方式。
要组建SMP系统,关键是使用的CPU要能相配合,这些CPU内部必须内置APIC(Advanced Programmable Interrupt Controllers,高级可编程中断控制器)单元。CPU通过彼此发送中断来完成它们之间的通信。通过给中断附加动作(actions),不同的CPU可以在某种程度上彼此进行控制。每个CPU有自己的APIC(成为那个CPU的本地APIC),并且还有一个I/O APIC来处理由I/O设备引起的中断,这个I/O APIC是安装在主板上的,但每个CPU上的APIC则不可或缺,否则将无法处理多CPU之间的中断协调。 而且仅仅具有APIC单元还是不够的,更要求这些CPU具有相同的CPU核心,产品型号,完全相同的运行频率,而且最好这些CPU还是同一批次生产出来的。由于对CPU的严格限制,使得构建一个稳定的SMP系统并不是一件容易的事情。一般来说,SMP系统可扩展性较差,不利于保护用户投资,它很难做到100个以上多处理器,常规的一般是8个到16个,不过这对于多数的用户来说已经够用了。目前在国内市场上这类机型的处理器一般以4个或8个为主,有少数是16个处理器。
而且,由于多个处理器共享操作系统及存储器,一旦操作系统或存储器出问题,整个系统就将瘫痪,因而其可用性并不高。但是目前这类机型技术已经比较成熟,相应的软件也比较多,现在国内市场上推出的并行机大量都是这一种。这种机器的好处在于它的使用方式和微机或工作站的区别不大,编程的变化相对来说比较小,原来用微机工作站编写的程序如果要移植到SMP机器上使用,移植过来也相对比较容易。在PC服务器中最常见的对称多处理系统通常采用2路、4路、6路或8路处理器。
网友评论