热点科技

标题: SMP系统相关问题 [打印本页]

作者: willzero    时间: 2006-2-22 04:42
提示: 作者被禁止或删除 内容自动屏蔽
作者: admin    时间: 2006-2-22 05:00
<P>1、不是(你要买服务器芯片组的主板)</P>
<P>2、是的(奔腾好像也要分的)</P>
<P>3、是的</P>
<P>4、不会</P>
<P>5、支持</P>
<P>6、对游戏没有帮助,就算是图像软件,现在好像也只有adobe几个软件支持。。。</P>
作者: admin    时间: 2006-2-22 05:01
&nbsp;&nbsp; <strong>SMP的全称是"对称多处理"(Symmetrical Multi-Processing)技术,是指在一个计算机上汇集了一组处理器(多CPU),各CPU之间共享内存子系统以及总线结构。</strong>它是相对非对称多处理技术而言的、应用十分广泛的并行技术。在这种架构中,一台电脑不再由单个CPU组成,而同时由多个处理器运行操作系统的单一复本,并共享内存和一台计算机的其他资源。虽然同时使用多个CPU,但是从管理的角度来看,它们的表现就像一台单机一样。系统将任务队列对称地分布于多个CPU之上,从而极大地提高了整个系统的数据处理能力。所有的处理器都可以平等地访问内存、I/O和外部中断。在对称多处理系统中,系统资源被系统中所有CPU共享,工作负载能够均匀地分配到所有可用处理器之上。<BR><BR>&nbsp;&nbsp;&nbsp; 我们平时所说的双CPU系统,实际上是对称多处理系统中最常见的一种,通常称为"2路对称多处理",它在普通的商业、家庭应用之中并没有太多实际用途,但在专业制作,如3DMax Studio、Photoshop等软件应用中获得了非常良好的性能表现,是组建廉价工作站的良好伙伴。随着用户应用水平的提高,只使用单个的处理器确实已经很难满足实际应用的需求,因而各服务器厂商纷纷通过采用对称多处理系统来解决这一矛盾。在国内市场上这类机型的处理器一般以4个或8个为主,有少数是16个处理器。但是一般来讲,SMP结构的机器可扩展性较差,很难做到100个以上多处理器,常规的一般是8个到16个,不过这对于多数的用户来说已经够用了。这种机器的好处在于它的使用方式和微机或工作站的区别不大,编程的变化相对来说比较小,原来用微机工作站编写的程序如果要移植到SMP机器上使用,改动起来也相对比较容易。SMP结构的机型可用性比较差。因为4个或8个处理器共享一个操作系统和一个存储器,一旦操作系统出现了问题,整个机器就完全瘫痪掉了。而且由于这个机器的可扩展性较差,不容易保护用户的投资。但是这类机型技术比较成熟,相应的软件也比较多,因此现在国内市场上推出的并行机大量都是这一种。PC服务器中最常见的对称多处理系统通常采用2路、4路、6路或8路处理器。目前UNIX服务器可支持最多64个CPU的系统,如Sun公司的产品Enterprise 10000。SMP系统中最关键的技术是如何更好地解决多个处理器的相互通讯和协调问题。<BR><BR>&nbsp;&nbsp;&nbsp; 要组建SMP系统,首先最关键的一点就是需要合适的CPU相配合。我们平时看到的CPU都是单颗使用,所以看不出来它们有什么区别,但是,实际上,支持SMP功能并不是没有条件的,随意拿几块CPU来就可以建立多处理系统那简直是天方夜谈。要实现SMP功能,我们使用的CPU必须具备以下要求: <BR><BR>&nbsp;&nbsp;&nbsp; 1、CPU内部必须内置APIC(Advanced Programmable Interrupt Controllers)单元。Intel 多处理规范的核心就是高级可编程中断控制器(Advanced Programmable Interrupt Controllers--APICs)的使用。CPU通过彼此发送中断来完成它们之间的通信。通过给中断附加动作(actions),不同的CPU可以在某种程度上彼此进行控制。每个CPU有自己的APIC(成为那个CPU的本地APIC),并且还有一个I/O APIC来处理由I/O设备引起的中断,这个I/O APIC是安装在主板上的,但每个CPU上的APIC则不可或缺,否则将无法处理多CPU之间的中断协调。<BR>&nbsp;&nbsp;&nbsp; 2、相同的产品型号,同样类型的CPU核心。例如,虽然Athlon和Pentium III各自都内置有APIC单元,想要让它们一起建立SMP系统是不可能的,当然,即使是Celeron和Pentium III,那样的可能性也为0,甚至Coppermine核心的Pentium III和Tualatin的Pentium III也不能建立SMP系统--这是因为他们的运行指令不完全相同,APIC中断协调差异也很大。<BR>&nbsp;&nbsp;&nbsp; 3、完全相同的运行频率。如果要建立双Pentium III系统,必须两颗866MHz或者两颗1000MHz处理器,不可以用一颗866MHz,另一颗1000MHz来组建,否则系统将无法正常点亮。<BR>&nbsp;&nbsp;&nbsp; 4、尽可能保持相同的产品序列编号。即使是同样核心的相同频率处理器,由于生产批次不同也会造成不可思议的问题。两个生产批次的CPU作为双处理器运行的时候,有可能会发生一颗CPU负担过高,而另一颗负担很少的情况,无法发挥最大性能,更糟糕的是可能导致死机,因此,应该尽可能选择同一批生产的处理器来组建SMP系统。
作者: admin    时间: 2006-2-22 05:05
<P> <strong>1. SMP(对称多处理器)技术</strong></P>
<P>  (SMP)技术的英文全称为"Symmetric Multi-Processing",是指在一个计算机上汇集了多个处理器(多CPU),各CPU之间共享内存子系统以及总线结构。虽然同时使用多个CPU,但是从管理的角度来看,它们的表现就像一台单机一样。但要注意的是,所用CPU必须是成对出现的,也就是必须是如2、4、6、8之类的双数,当然除单CPU的服务器外。</P>
<P>  随着用户应用水平的提高,只使用单个的处理器确实已经很难满足实际应用的需求,因而各服务器厂商纷纷通过采用对称多处理系统来解决这一矛盾。PC服务器中最常见的对称多处理系统通常采用2路、4路、6路或8路处理器。目前UNIX服务器可支持最多106个CPU的系统,如Sun的Fire 15K。SMP系统中最关键的技术是如何更好地解决多个处理器的相互通讯和协调问题。如图4所示为一块支持双路CPU的服务器主板截图。</P>
<P align=center><IMG hspace=3 src="http://www.pc150.com/UploadFiles/200546122738112.jpg" align=center vspace=1 border=1 &#111nerror="this.src='UploadFiles/200546122738112.jpg';" border="0"><BR>图4</P>
<P>  目前在服务器中广泛采用的多处理(MP)系统有以下几种:</P>
<P>  <EM>(1)非共享 MP(纯群集)</EM></P>
<P>  非共享MP是指每个处理器都是一个完全独立的机器,运行操作系统的一个副本。处理器之间没有共享的部分(每一个都有自己的内存,高速缓存和磁盘),但是它们是互联的。通过LAN连接时,处理器之间是松散耦合的。而通过转换器连接时,处理器之间是紧密耦合的。处理器之间的通信是通过消息传送来实现的。</P>
<P>  这种多处理器系统的优点是它具有很好的可伸缩性和高可用性;而缺点则是该系统是一个不为人熟悉的编程模型(消息传送)。</P>
<P>  <EM>(2)共享磁盘 MP</EM></P>
<P>  共享磁盘MP类型是处理器拥有自身的内存和高速缓存,处理器并行运行并共享磁盘。每个处理器都运行操作系统的一份副本,并且处理器之间是松散耦合的(通过 LAN 连接)。处理器之间的通信是通过信息传送实现的。</P>
<P>  共享磁盘的优点是保留了熟悉的编程模型的一部分(磁盘数据是可寻址和连续的,而内存则不是),而且与共享内存的系统相比,这种系统更容易实现高可用性;缺点是由于在对共享数据进行物理和逻辑访问时存在瓶颈,它的可伸缩性受到限制。</P>
<P>  <EM>(3)共享内存群集(SMC)</EM></P>
<P>  一个共享内存群集中的所有处理器有自己的资源(主存储器、磁盘和 I/0),并且每个处理器运行一份操作系统的副本。处理器之间是紧密耦合的(通过一个转换器连接),处理器之间的通信是通过共享内存实现的。</P>
<P>  <EM>(4)共享内存 MP</EM></P>
<P>  共享内存MP类型是所有处理器通过一条高速总线或者一个转换器在同一机器中紧密耦合,处理器共享同样的全局内存、磁盘和 I/0 设备,只有一份操作系统的副本跨所有处理器运行,并且操作系统必须设计为能利用这种体系结构(多线程操作系统)。</P>
<P>  SMP系统中最关键的技术是如何更好地解决多个处理器的相互通讯和协调问题。虽然系统同时使用多个CPU,但是从管理的角度来看,它们的表现就像一台单机-样。系统将任务队列对称地分布于多个CPU之上,从而大大地提高了整个系统的数据处理能力。</P>
<P>  目前支持SMP的服务器主要是RISC架构和Intel的IA架构,AMD新推出的Opteron目前也可支持多达8路对称多处理器系统。</P>
<P><SPAN =f14><FONT size=3></FONT></P>
<P></P>
<P>  构建一套SMP系统的必要条件是:</P>
<P>  ·支持SMP的硬件,包括主板和CPU;<BR>  ·支持SMP的系统平台,如Windows NT/2000 Server、Windows Server 2003、Linux以及其他Unix等32位操作系统;<BR>  ·还需要有支持SMP的应用软件,才能发挥SMP的威力。</P>
<P>  在CPU方面,要组建一个SMP系统,最关键的就是需要合适的CPU相配合。支持SMP是有许多必要条件的,不可能随便拿几颗CPU就凑成SMP系统。支持SMP的CPU必须满足以下几个条件:</P>
<P>  <EM>(1)CPU必须内置APIC单元</EM></P>
<P>  Intel多处理规范的核心就是高级可编程中断控制器(Advanced Programmable Interrupt Controllers,缩写为APIC)。CPU通过彼此发送中断来完成它们之间的通信,通过给中断附加动作,不同的CPU可以在某种程度上彼此进行控制。每个支持SMP的CPU都必须有自己的APIC,否则将无法处理多CPU之间的中断协调。</P>
<P>  <EM>(2)CPU的型号必须相同</EM></P>
<P>  SMP的CPU必须具有相同的产品型号和同样类型的CPU核心。虽然AMD Athlon XP和Intel Pentium 4各自都内置有APIC单元,想要让它们一起建立SMP系统是不可能的,因为它们的运行指令不完全相同,APIC的中断协调差异也很大。即使是Intel Celeron和Intel Pentium 4也不能一起建立SMP,甚至即使是相同核心但是产品批号不同的CPU,也可能会影响SMP的建立。</P>
<P>  <EM>(3)运行频率要相同</EM></P>
<P>  SMP的CPU需要运行在完全相同的运行频率上。例如要建立双Pentium 4系统,必须使用两颗频率相同的Pentium 4 CPU,比如都是2GHz,而不能是一颗1.8GHz,另一颗2GHz,否则系统将无法正常使用。</P>
<P>  <EM>(4)尽可能使用相同产品序列号的CPU</EM></P>
<P>  即使是同样核心的相同频率处理器,由于生产批次不同也会造成意想不到的问题。两个生产批次的CPU作为双处理器运行的时候,有可能会发生一颗CPU负担过高,而另一颗负担很少的情况,无法发挥最大性能,更糟糕的是可能导致死机,因此,应该尽可能选择同一批生产(即具有相同产品序列号)的CPU来组建SMP系统。</P>
<P>  除了CPU外,服务器的主板也必须支持SMP,它是实现SMP诸多因素中仅次于CPU的因素。</P>
<P>  首先主板要支持SMP,否则这么多的CPU插在哪儿呢?有的SMP主板支持两颗CPU,有的能够支持4颗CPU,还有的主板支持更多的CPU,但是支持SMP的主板的CPU插槽数量必须是偶数。</P>
<P>  SMP主板并非只是增加几个CPU插槽,其中涉及非常复杂的多处理技术。SMP主板也需要I/O APIC来处理由I/O设备引起的中断。</P>
<P>  另外服务器的操作系统也要支持SMP。</P>
<P>  有了支持SMP的CPU和主板,并不等于万事大吉了。如果没有多处理器操作系统的支持,即使安装了多颗CPU和相应的主板,系统性能会跟装有1颗CPU的系统没有什么差别,原因就在于因为没有操作系统的支持。现在服务器操作系统一般都支持多CPU,比如Windows NT/2000 Server、Windows Server 2003、Linux以及其他Unix等32位服务器操作系统,而Windows 9x/Me等用于PC的操作系统是不支持多处理的。</P>
<P>  在应用软件方面,如果要体现SMP的优越性,也就有必要支持SMP。</P>
<P>  即使有了CPU、主板、操作系统的支持,但是如果没有针对SMP优化了的应用程序的支持,如PhotoShop、3D Studio MAX和AutoCAD等,SMP也不能自由发挥。只有针对SMP优化了的应用系统才能在SMP系统上大展身手,SMP可以显著提高经过优化了的应用软件的多任务和多线程性能。</P>
<P>  说了这么些,您对SMP有了一定的了解了吧?在以上的讲解中,我们忽略了相当多的技术细节,因为对于一般读者来说,没有必要知道这些技术细节,了解SMP的一般原理和如何实现就足够了。</P></SPAN>
作者: willzero    时间: 2006-2-22 05:12
提示: 作者被禁止或删除 内容自动屏蔽




欢迎光临 热点科技 (http://www.itheat.com/activity/) Powered by Discuz! X3.2