有勇气来改变可以改变的事情,有度量接受不可改变的事情,有智慧来分辨两者的不同。[09-01-03] 注册 | 登陆

你也来了解下:INTEL XEON ITANIUM 服务器对称多处理器技术SMP

SMP:是Symmetric Multi Processing的简称,意为对称多处理系统,内有许多紧耦合多处理器,这种系统的最大特点就是共享所有资源。另外与之相对立的标准是MPP (Massively Parallel Processing),意为大规模并行处理系统,这样的系统是由许多松耦合处理单元组成的,要注意的是这里指的是处理单元而不是处理器。每个单元内的 CPU都有自己私有的资源,如总线、内存、硬盘等。在每个单元内都有操作系统和管理数据库的实例复本。这种结构最大的特点在于不共享资源。
SMP的全称是"对称多处理"(Symmetrical Multi-Processing)技术,是指在一个计算机上汇集了一组处理器(多CPU),各CPU之间共享内存子系统以及总线结构。它是相对非对称多 处理技术而言的、应用十分广泛的并行技术。在这种架构中,一台电脑不再由单个CPU组成,而同时由多个处理器运行操作系统的单一复本,并共享内存和一台计 算机的其他资源。虽然同时使用多个CPU,但是从管理的角度来看,它们的表现就像一台单机一样。系统将任务队列对称地分布于多个CPU之上,从而极大地提 高了整个系统的数据处理能力。所有的处理器都可以平等地访问内存、I/O和外部中断。在对称多处理系统中,系统资源被系统中所有CPU共享,工作负载能够 均匀地分配到所有可用处理器之上。

我们平时所说的双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系统中最关键的技术是如何更好地解决多个处理器的相互通讯和协调问题。

要组建SMP系统,首先最关键的一点就是需要合适的CPU相配合。我们平时看到的CPU都是单颗使用,所以看不出来它们有什么区别,但是,实际上,支持 SMP功能并不是没有条件的,随意拿几块CPU来就可以建立多处理系统那简直是天方夜谭。要实现SMP功能,我们使用的CPU必须具备以下要求:

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之间的中断协调。

2、相同的产品型号,同样类型的CPU核心。例如,虽然Athlon和Pentium III各自都内置有APIC单元,想要让它们一起建立SMP系统是不可能的,当然,即使是Celeron和Pentium III,那样的可能性也为0,甚至Coppermine核心的Pentium III和Tualatin的Pentium III也不能建立SMP系统--这是因为他们的运行指令不完全相同,APIC中断协调差异也很大。

3、完全相同的运行频率。如果要建立双Pentium III系统,必须两颗866MHz或者两颗1000MHz处理器,不可以用一颗866MHz,另一颗1000MHz来组建,否则系统将无法正常点亮。

4、尽可能保持相同的产品序列编号。即使是同样核心的相同频率处理器,由于生产批次不同也会造成不可思议的问题。两个生产批次的CPU作为双处理器运行的 时候,有可能会发生一颗CPU负担过高,而另一颗负担很少的情况,无法发挥最大性能,更糟糕的是可能导致死机,因此,应该尽可能选择同一批生产的处理器来 组建SMP系统。

SMP(SYMMETRICMULTI-PROCESSING):就是允许多个微处理器共享CPU负载请求的方法。
64位开拓者:Itanium(安腾)处理器

2001年,一款基于IA-64平台的服务器产品——HP与Intel携手研发的安腾(Itanium)处理器隆重发布了。Itanium处理器 是英特尔第一款64位元的产品,具有64位寻址能力和64位宽的寄存器,所以我们称它为64位CPU。由于具有64位寻址能力,它能够使用1百万TB的地 址空间,足以运算企业级或超大规模的数据库任务;64位宽的寄存器可以使CPU浮点运算达到非常高的精度。其实IA--64处理器还具有显性并行性 、分支预测、投机装载等特性,这些技术都是为顶级、企业级服务器及工作站而设计的,指令级并行性可促进最优化的软件指令结构,从而使处理器能够在相同时间 内执行更多的指令。 推测:推测技术允许提前载入数据,甚至在代码分支发生以前进行。通过尽早从内存载入数据,推测技术可以避免内存等待时间。预测技术避免了许多代码分支,以 及因相关的数据分支预测错误而导致的性能下降。IA-64还允许处理器上有更多的空间用于执行指令--更多的执行单元、更多的寄存器和更多的高速缓存。随 着处理器技术的发展为这些执行资源提供更多的空间,IA-64的性能将相应地得到增长。

在Itanium处理器中体现了一种全新的设计思想,完全是基于平行并发计算而设计(EPIC)。对于最苛求性能的企业或者需要高性能运算功能支 持的应用(包括电子交易安全处理、超大型数据库、电脑辅助机械引擎、尖端科学运算等)而言,Itanium处理器很好的满足了用户的要求。

续写辉煌:Itanium 2(安腾2)处理器

2002年英特尔发布了Itanium 2处理器。代号为McKinley的Itanium 2处理器是英特尔第二代64位系列的产品。安腾2处理器高速缓存系统最重要的创新就是将大容量的3级高速缓存集成到处理器硅核上,而不是作为系统主板的一 个独立芯片。这不仅加快了数据检索速度,同时可将3级高速缓存和处理器内核间的整体通信带宽提高近3倍。加之其它在高速缓存效率方面的众多改进,使得处理 器内核即使在高度复杂的内存密集型交易中也能高速运行。因此,Itanium 2可以适用于运算要求更苛刻的场合,并提供给高阶服务器与工作站各种平台与应用支持。

Itanium 2处理器是以Itanium架构为基础所建立与扩充的产品。提供了二位元的相容性,可与专为第一代Itanium处理器优化编译的应用程序兼容,并大幅提 升了50%~100%的效能。Itanium 2具有6.4GB/sec的系统总线带宽、高达3MB的L3缓存,据英特尔称Itanium 2的性能,足足比Sun Microsystems的硬件平台高出50%。

IA-64

IA-64是英特尔公司与惠普公司共同开发的纯64位微处理器。IA是Intel Architecture(英特尔架构)的缩写,64指64位系统。
体系结构
IA-64架构是EPIC(Explicitly Parallel Instruction Computing)的64位架构。EPIC是基于超长指令字VLIW(Very Long Instruction Word)的设计,通过将多条指令放入一个指令字,有效的提高了CPU各个计算功能部件的利用效率,提高了程序的性能。
相关处理器
IA-64是一种CPU架构,使用这种架构的CPU有Itanium, Itanium 2。

显性并行指令计算(EPIC)

众所周知,人们主要通过提高IPC(每个周期执行的指令数)和主频来提高芯片的性能。为了提高IPC,必须提高处理器指令级并行(ILP)的能力。所谓 ILP是指处理器同时执行多条指令的能力,即处理器在每个时钟周期内发送和执行尽可能多条指令的能力。为此要求处理器:(1)能够找到和标识程序中可以并 行执行的指令段;(2)具有充分的资源在最短时间内发送和同时执行可并行执行的指令段。这就要求处理器具有足够的智能和资源来完成这两项任务。不断探索更 快速、更经济的途径完成这两项任务,推动处理器技术向前发展。

传统的RISC设计师们希望通过在芯片上增加更多的逻辑和智能(“聪明的处理器”)来提高指令并行度,同时又不必采用太高的工艺、增加太多的资源。他们把 指令级并行分为静态和动态两类:静态并行在编译时由编译程序发现和处理,动态并行在运行时由处理器发现和处理。大多数现代的RISC处理器(如EV6以后 的Alpha处理器)都具有这两种并行功能。例如,Alpha就设计成能够利用编译时和运行时信息。首先通过编译程序把程序改造成一个由许多可并行执行的 指令段组成的记录(静态并行)。但是,许多有关程序执行过程的信息只有处理器能够在运行时了解到,例如内存访问是否命中缓存、比较指令的结果和转移指令的 方向等。因此, Alpha还具有无序指令发送机制,使得处理器能够根据程序的运行实际结果、改变指令发送和执行的次序,而不会阻塞处理器的运行。这种无序执行技术的主要 优点是能够在有限的工艺和资源条件下,大大提高指令并行度。最出色的例子是,Alpha EV6采用无序执行技术实现了在基于与EV56相同的0.35m工艺条件下,把性能提高了1倍以上,使芯片不仅具有高性能,而且在批量不太大的条件下具有 较高的性能价格比。

虽然无序执行技术已经成为当前64位RISC芯片设计思想的主流、取得了很大的成功,但是这种技术也有其缺点,其中主要有:

(1)无序执行技术要求处理器具有较高的智能和复杂的逻辑,使得芯片的结构越来越复杂,也妨碍了主频和性能的提高;

(2)设计难度越来越大,使得许多RISC芯片的设计周期越来越长、而且经常不能按期上市,难以满足应用发展的需要;

(3)处理器在运行时没有能够充分利用编译程序所产生的许多有用的信息来提高指令并行度,也就是说传统的RISC技术没有充分发挥硬件和软件相结合的合力;

IA-64的EPIC体系结构在吸收这些教训基础上另辟蹊径,它的基本设计思想是:

(1)提供一种新的机制,利用编译程序和处理器协同能力来提高指令并行度。传统的RISC体系结构没有能够充分编译程序所产生许多有用的信息如关于程序运 行线路的猜测信息,也没有充分利用现代编译程序强大的对程序执行过程的调度能力。EPIC体系结构采用创新的技术充分利用编译程序提供的信息和调度能力来 提高指令并行度,同时保证在程序运行过程中发现猜测和调度有错时,处理器仍然给出正确的结果,并且尽量减少由此而带来的延迟和惩罚;

(2)在此基础上简化芯片逻辑结构,为提高主频和性能开辟道路,在工程上有一条基本原则,不是越复杂越好,而是越简捷越好,事实上,简捷的构思比复杂的构思更困难;

(3)提供大量的资源来实现EPIC,包括存储编译程序提供的信息以及提高并行计算效率所需的处理单元、缓存和其他资源。事实上,IPF系列提供远比RISC处理器丰富的资源,包括:

供指令引用的5组寄存器存储器:128个64位整数寄存器、128个82位浮点寄存器、64个1位预测寄存器、8个转移寄存器、128个专门的应用寄存器。每条指令一般引用两个输入寄存器和1个输出寄存器。

容量和性能可以随IPF系列产品升级而增加和提高的处理单元、缓存和其他资源。Itanium 1提供的此类资源已超过许多RISC处理器,Itanium 2提供的资源量又有进一步的增加.

 

 

文章来自:http://hi.baidu.com/daejanggeum

Tags: smp, xeon

« 上一篇 | 下一篇 »

Trackbacks

点击获得Trackback地址,Encode: UTF-8

发表评论

评论内容 (必填):