找回密码
 新注册用户
搜索
查看: 13741|回复: 11

当代多处理器系统纵览[ZT]

[复制链接]
发表于 2003-11-10 00:00:00 | 显示全部楼层 |阅读模式
前言

  欢迎来到工业标准多处理器系统揭密第三部分。在前两部分里,我们涉及了单处理器系统的性能,工作站和服务器的划分以及设计CPU和系统的时候一些必须考虑的问题。 在这个部分里,我们将讨论一些多处理器系统构架的实施细节,其中包括那些基于Pentium III, Pentium 4, Athlon, PowerPC, Itanium和UltraSPARC处理器的构架。虽然这篇文章涉及了许多有关系统设计,性能和系统成本等方面的问题,但并不是为购买者而写的。这篇文章假设它的读者已经拥有一些基本的CPU和系统设计的基础知识,并将主要读者群锁定在与电脑系统有关的专业人士以及电脑技术爱好者上。

  为了缩小这篇文章所涉及范围,这篇文章将聚焦于那些被设计为拥有合理性价比和相当产量的CPU和系统。这里面当然包括AMD,Apple(PowerPC系统)以及Intel公司的产品。这些公司都拥有价格合理同时产量很高的桌面型CPU,这些CPU也被使用在多处理器工作站和服务器系统上。Intel公司还有一些CPU是专为多处理器系统而设计,而AMD公司也正计划发展这样的产品。Sun微系统公司的UltraSPARC系统是产量最高的64位系统,而他们最新的8-way服务器系统不但在与采用Intel处理器系统的竞争中也表现良好,还拥有许多有趣的低端管线(pipeline)设计。

  示意图解释

  上面这个示意图就是本文后面将会看到的众多图示中的一个例子,它展示了一个具备一些CPU核心特性(例如on-die cache)的CPU核心(蓝色框)。它还展示了特定CPU模块内的作为外部cache用的SRAM芯片(棕色框),以及CPU与外部系统的连接通道(黄色的倒T形,这常常被叫做FSB,前端系统总线)。

  图中的CPU die的尺寸只是大概精确,虽然CPU核心的大致尺寸是在一个一致的范围内 在现实中拥有更大CPU内核的产品的示意图往往会更大一些。其中也有例外,一两个较大系统的图表是按一半的比例尺构成的。

  芯片组的一部分也采用蓝色块来显示(但是周围没有棕色框),它们也可以被叫做ASIC(专用集成电路Application Specific Integrated Circuit)。

  内存到哪里去了——在实际的示意图中内存的类型将被指明。一般来说,显示的内存图标越多,则可以添加的独立内存模块就越多,虽然对于任意芯片组都很难确定可以添加的最大数目。

  CPU,ASIC,SRAM以及主内存间的连接用深黄色线条来显示。这些线条在哪里接触到芯片,连接就从哪里展开,而且线条的粗细是与连接的带宽成比例的。普通连接同一组线中即包含了地址信号线也包含了数据信号线,可是这两种信号线常常是彼此独立的。有些连接的控制线和地址线的完全独立于数据传输路线的。图中用鲜红色来表示只传输address(或者control)信号的连接。

       最常见的连接方式是双向总线以及点对点连接。总线连接用于连接两个或更多芯片,它使用额外的插脚(pin)以使芯片能决定谁“拥有”这条总线(能在上面传输数据)。而一个点对点连接基本上就像一条只连接2个芯片的总线连接,而这两个芯片也需要像总线连接那样的机制来决定谁拥有这条连接。对于一个双向连接,(这也是大多数总线以及点对点连接都采用的),数据可以在同一条线路上向任意方向传输,但是当数据在向一个方向传输的时候,其他数据都不能向相反的方向传输。

   一个双向传输的替代方案是两条单方向连接,一条专为一个方向传输。这意味着总带宽是两条通道的总和,但最高的读带宽和写带宽只是一条通道所占带宽的值。

  SDR和DDR信号

  几年前大多数连接方式都是采用SDR信号(单倍数据率),而更新的一些连接方式采用了DDR信号(双倍数据率)或者QDR(四倍数据率)。从电子的角度来看,这主要是运用了信号的更小的部分来传输数据。从带宽的角度来看,传输率的峰值加倍了,但是基本延迟还是一样(以百万分之一秒计)另一个看待133MHzDDR连接(比如PC2100内存)的方法是:将其看作拥有266MHz带宽但是延迟还是保持在PC133内存水平的连接。有时人们用到的一个替代的术语是“每秒上百万次的传输(MT/S)”―所以133MHzSDR就是133MT/S,而133MHzDDR就是266MT/S。

  其他的注意事项

  1.对于大多数的下列设计,都没有讨论ECC技术(纠错码,能够检测并纠正单比特错误,可以检测出双比特错误,但不能纠正它)以及parity check技术(奇偶检查,能够探测单比特错误)的类型。这主要是因为大多数的系统都已经拥有了这些技术,并且为可靠性而做的设计之间的差异并不大。虽然可靠性是非常重要的,但仅仅统计设计中的特性总数对于现实世界的情况并没有太大用处,要得到一个正确的特性总数也不太可能。而得到硬件可靠性的统计数据是非常困难的,所以文章中的大部分内容都已经排除了与之相关的内容。

  2.今天PC机芯片组的最常见设计就是设计北桥芯片和南桥芯片作为ASIC(专用集成电路)。北桥芯片通过FSB来连接CPU,它还包括内存控制器以及AGP连接,也包括到南桥芯片组的连接,南桥芯片则控制系统其余的I/O操作。

  3.当谈论到下面几页中的延迟数据的时候,一般指的都是装载延迟,虽然CPU和系统文档并没有常常指明他们所说的延迟是哪种类型。装载用途的延迟就是指从CPU核心开始装载数据到它可以使用数据(装载完成)所需的时间(一般用百万分之一秒来表示),所以包含了所有的cache效果。

  4.带宽的数据只是针对峰值而言,并且是针对单向传输,只是读操作或者只是写操作。持续不变的带宽是很难遇到的,有时带宽只有主内存内存带宽的50%。

  5.“关键任务”型应用常常在机房内运行,那里有昂贵的冷却系统,带花纹的地板等等。低能源消耗能帮助降低电力花费以及冷却花费(因为产生的热量更少了)。维持运行那样的机房的费用是很高的,所以房间所占空间越小就越好。大多数机房都充满了机架(racks)(每个大约2米高),可以容纳42个1U系统,1U约为1.75英寸。

2-way Intel Pentium 3 芯片组

  芯片组构架:主流2-way Pentium 3芯片组是440GX,它使用普通的SDRAM内存,但也有一款840芯片组使用了2个Rambus通道(与850 Pentium 4 芯片组类似),这两款都支持最高4GB的主内存。这个构架包含了标准的北桥和南桥芯片,由2路Pentium 3处理器分享一条系统总线。

  带宽以及延迟: 840芯片组实际上支持3.2GB/秒的内存带宽(与850芯片组的双Rambus连接一样的带宽),虽然市场上的系统中很少用到了这点 - 大多数卖出去Pentium 3 系统都使用采用PC133 SDRAM内存的ServerWorks的芯片组,这点与440GX一样。即使拥有3.2GB/秒的内存带宽,CPU还是会受1GB/秒的FSB带宽的限制。我没有找到任何官方的Pentium 3系统的延迟的数据,但一些使用软件进行的性能测试暗示它的延迟大约是130ns,这是一个通常北桥设计所该有的延迟。

  可扩展性:它拥有一个基于总线的系统构架以及相对简单的快取记忆体同步协议(cache coherency protocol)。它拥有良好的延迟,对于许多低层次的服务器应用程序将能够很好地扩展到2颗CPU。它的可扩展性的问题是它的FSB和内存带宽太低,除非是针对那些对带宽要求很低的程序。这是因为每颗CPU都有可能占用掉所有的内存带宽,这样当遇到完全依靠内存带宽的程序的时候,第二颗CPU将不会发挥任何作用。

  I/O: 440GX芯片组仅支持AGP和33MHz PCI总线,而840芯片组支持64位的66MHz PCI总线同时也支持AGP和33MHz PCI总线

  CPU cache:采用0.13um工艺的Pentium 3处理器拥有最高512KB的L2 cache,而L1指令和数据cache分别是16KB。0.18um工艺的Pentium 3 拥有256KB 的 L2 cache。

  CPU核心: 0.18um 工艺的Pentium 3 处理器最高时钟频率达到了1GHz,而采用0.13um工艺的时候则达到了1.4GHz。Pentium 3 拥有 3 issue 超级计数器(super-scaler)以及out of order issue,这点和Pentium 4 处理器一样,但是Pentium 3拥有更短的管线以及更弱的分流(branch)预测。采用0.18um工艺制造的Pentium 3处理器的体积仅有0.18um工艺的Pentium 4处理器的一半,最大功率为31W(1.4GHz的时候)。

  评论: 虽然这款处理器有些陈旧了,但是低端的基于Pentium 3处理器的设计还是被广泛应用在低端服务器上,特别是高密度的系统(采用1U/2U机架的服务器)。对于这些高密度的服务器,低能耗是很有用处的,能够在保持较低维护费用的同时提高单位面积所能获得的性能。虽然采用Pentium 3处理器的系统虽然相对较为陈旧而且处于低端应用的位置,它的价格还是相当便宜的,而且能够为大多数的小型商业任务提供足够的性能。根据市场调查公司,2-way x86服务器市场在2001价值100亿美元,其中的大部分都是采用Pentium 3处理器的系统。

4-way和8-way Pentium 3 Xeon 系统

  芯片组构架:前面提到的440GX芯片组估计能支持在单条FSB上使用4颗Pentium 3处理器,但看起来没有一家大型厂商采用了这个芯片组来作为4-way系统,转而采用了Serverworks公司的芯片组。可能采用得最多的8­-way芯片组是Intel ProFusion芯片组,虽然它最初是由另外的公司设计的。ProFusion 芯片组拥有3条普通Pentium 3的 FSB,每条可以管理4个设备,总共8颗CPU和4个I/O专用集成电路(ASIC)。虽然现在还不清楚ProFusion 芯片组的主要部分是一块单独的ASIC还是一组ASIC,全部3条FSB都连接到了上面,并在3条FSB domain 间拷贝数据和请求。

  带宽和延迟:ProFusion 芯片组的FSB和普通Pentium 3系统的一样,每条FSB都是64位并且运行在100MHz,能达到800MB/秒的带宽。内存控制器支持2条单独的内存通道,每条通道支持最高16GB的内存以及800MB/秒的带宽。根据文档介绍,系统空闲时的内存延迟大约是140ns。

  可扩展性:对于上面提到的8-way系统,一条单独的共享FSB从设计上说是不切实际的,也是可扩展性很差的(太多的连接),所以对于基于总线的FSB,采用了多重总线domain。8-way Pentium 3 Xeon 系统拥有2条系统总线供CPU使用,主内存和I/O请求只能使用其中一条,而cache snoop则可以两条都使用。这对提高系统性能有一定帮助,但前文里面的可扩展性指数显示,Pentium 3 Xeon系统在从4-way 到8-way系统的扩展中表现并不是很良好 - 系统需要太多的带宽。CPU拥有的2M on-die cache的确能帮助提高缓存命中率,但这2M cache还不够。

  CPU:高端的Pentium III Xeon 处理器基本上与低端的Pentium 3处理器一样,不一样的地方就是高端的处理器支持2M on-die L2 cache以及36位虚拟内存系统,这使得高端系统拥有最高64GB的内存。在采用0.18um工艺的时候,die尺寸是386 mm2(几乎是普通Pentium III处理器的4倍大小),他们最高能在900MHz的时钟频率下运行,而典型/最大能耗是27W/41W。

  评论:虽然他们的2M cache的确增加成本,但高端的Xeon处理器的确很需要这些cache因为可用的内存带宽仅为最高1.6GB/秒。然而,4-way x86系统上服务器应用程序看起来的确性能有了很大提高,特别是对于那些固定于x86平台上的客户。在4-way 以及8-way Pentium 3 Xeon系统的时代,他们是非常受客户欢迎的,因为在大多数时间里比任何RISC类型的替代品都要便宜。高端的Pentium 3产品线或多或少地走到了尽头。在2002年期间,整个Pentium 服务器的生产线基本已转向采用基于Pentium 4处理器的设计。
回复

使用道具 举报

 楼主| 发表于 2003-11-10 00:00:00 | 显示全部楼层 |阅读模式
2-way Pentium 4 Xeon 工作站

  芯片组构架:Intel针对1-way或者2-way Pentium 4的芯片组构架都是围绕着内存控制中心(Memory Controller Hub,MCH)这一特性而建立的,这个内存控制中心能够与所有系统内的主内存,AGP总线,控制其他I/O操作的I/O控制中心以及连接最多2颗CPU的FSB建立直接连接。理论上Intel公司能使用同样的芯片组和处理器来制造1-way或2-way工作站主板,因为Pentium 4处理器与MCH之间的的连接是一个总线构架。但是Intel公司PC型Pentium 4芯片组(850和845)都是采用的单处理器设计,并且有一款特殊的芯片组来面对双处理器工作站和服务器市场-860芯片组。Intel公司还有专门为这款芯片组(860)而设计的Pentium 4 Xeon处理器,虽然从设计上说Pentium 4和Pentium 4 Xeon都是一样的。860芯片组支持最高8GB主内存。

  带宽和延迟:860芯片组在主板上设计了2条单独的Rambus RIMM通道,每条采用PC800规格的RIMM内存(16位400MHzDDR内存,或者1.6GB/秒),总共拥有3.2GB/秒的主内存带宽。860芯片组的与Pentium 4处理器搭配的系统总线拥有64位 100MHzQDR,或者3.2GB/秒的带宽,而更新的主板和处理器支持133MHzQDR系统总线。虽然这样的带宽,特别是持续不变的带宽对于它这种类型的芯片组有些过于大了,它的延迟还是保持在PC1600 DDR内存的延迟水平。

  可扩展性: 和Pentium 3处理器一样,一颗单独的Pentium 4处理器就能用光所有的内存带宽,所以当完全依靠带宽的应用程序因为3.2GB/秒的带宽而获得极大的性能提升的时候,那颗额外的CPU帮不上一点忙。然而,大多数的工作站应用程序都不会依赖带宽到那种程度。和Pentium 3系统一样,基于总线的构架允许快速广播snoop请求,但当内存使用率非常高的时候,还是会有一些延迟发生。

  I/O:一条支持64位66MHz PCI总线,总共能支持2个64位66MHz PCI 插槽或者6个32位33MHz PCI 插槽。

  CPU cache:每颗Pentium 4处理器拥有256KB的L2 cache(采用0.13um技术的拥有512KB L2 cache)以及低延迟和高带宽。这样会带来很好的效果,因为L1 data cache仅仅8KB,虽然L1 cache的延迟仅为2个循环(cycle)。Pentium 4处理器拥有一个有趣的指令cache,它能将指令以部分编译过的形式存储起来,而不是以原始数据的形式。它能存储12,000条那样的指令,与大约48KB指令cache所起的作用类似。

  CPU核心:在用0.18um工艺的Pentium 4处理器能够最高运行在2GHz的频率下。但它也有个缺点,它可能会因为指令分流错误预测(branch mis-prediction)而导致大约20次循环(cycle)的延迟,这都是因为它过长的pipeline设计所致的。虽然它的确拥有非常精确和高级的指令分流预测单元,测试证明这个单元在遇到指令分流频繁的代码的时候表现并不是十分出色。处理器能乱序地(out of order)每个循环发布3条指令,并且拥有一个128位的SIMD单元(SSE2),而这个单元对于许多工作站任务都非常有用。典型的/最大能耗分别是75W/100W(0.18um工艺的2GHz的CPU)。

  评论:双Pentium 4处理器系统不光表面上看很适合工作站应用程序,在实际中通过benchmark软件也可以发现它的确如此。但它对于服务器应用程序的适合程度就不及工作站应用程序。与双Pentium 4处理器系统相比较,采用基于0.13um技术Pentium 3 Tualatin的双处理器服务器就要受欢迎的多,可能是因为价格更便宜,而且在拥有能与标准Pentium 4系统相比的性能的同时能耗更低。实际上,Intel公司也仅仅将860芯片组作为工作站解决方案而进行推广,而且没有一家大型OEM厂商采用860芯片组来制造服务器。直到Prestonia版本的 Pentium 4处理器的推出,Pentium 4处理器才被作为服务器用途的处理器而被推广。

2-way及 4-way Itanium 系统

[IMG]  芯片组构架:虽然与Intel其他芯片组的设计类似,这款芯片组也采用了基于总线的系统构架,但它还设计了两个主ASIC来控制FSB - 一个用来进行address以及control,另一个完全供data使用。这样将系统的操作分开进行(有些高端RISC芯片组也这样类似,采用2个ASIC)相对于采用一个单独的主ASIC要更容易提供一个高端解决方案。SAC(系统编址控制器)ASIC直接连接到3个I/O ASIC上,而这3个I/O ASIC则管理着PCI,AGP,以及系统的其他I/O操作。从I/O操作返回到SAC的数据被路由(route)到SDC(系统数据控制器),反过来也一样,(SDC到SAC,最后进行I/O操作)。SAC会发送内存address/control信号到内存库(memory bank),而SDC则会发送和接受数据。SAC和SDC ASIC 有一条私有连接来在I/O系统与CPU,主内存之间传输数据。这款芯片组支持最高64GB的主内存。
回复

使用道具 举报

 楼主| 发表于 2003-11-10 00:00:00 | 显示全部楼层 |阅读模式
2-way Apple PowerPC 系统

  芯片组构架:它的基本构架与Intel的双处理器系统相类似 - 两颗CPU共享一条带有一个ASIC(GT-64260,其中包含了一个内存控制器)的系统总线。但看起来Apple公司在芯片组上集成了南桥芯片,这样将能节约成本,减小能耗和芯片组的尺寸,并提高一点点性能(I/O相关的)。它支持最高1.5GB 的SDRAM,而最新的版本支持2GB的DDR SDRAM。

  带宽和延迟:它的FSB运行在64位,133MHz的状态下,并且使用133MHz的SDRAM,所以这点上它和Pentium 3系统基本一致。新版本的芯片组支持133MHz DDR SDRAM内存,这样虽然系统FSB还是一样,但主内存带宽加倍了。

  可扩展性:芯片组的的共享FSB从性能和延迟上说拥有与Pentium 3系统大致一样的特性。然而,因为每颗PowerPC处理器拥有最高2M cache,许多程序和benchmark测试软件将能从高带宽,低延迟的cache获得好处(相对于它的主内存所能带来的好处)。此外它还能较好地扩展到使用2颗CPU,因为对于FSB和主内存的的竞争要少得多。

  I/O:芯片组的GT-64260 ASIC 拥有两条单独的PCI 通道,一条支持32位 33MHz PCI总线,另一条支持64位66MHz PCI总线。新版本的芯片组支持2个64位66MHz PCI插槽以及1个32位33MHz/66MHz的插槽。

  CPU cache:G4+ PowerPC处理器的指令和数据缓存分别是32KB,3个时钟循环的延迟;L2 cache 容量是256KB,9个时钟循环的延迟,以及通过64位,250MHz,40个时钟循环的延迟的通道与CPU相连(相当慢)的1-2M 容量的off-die L3 cache。而更新版本的芯片组采用了2M的高效率 DDR SDRAM ,并以CPU时钟频率一半的速度运行

  CPU核心:PowerPC处理器拥有一个32位RISC构架(是IBM POWER CPU设计的的一个简化版本),它每个时钟循环能乱序地(out of order)发布3条指令,同时还有7条阶段性管线(stage pipeline)以及一个高级的128位SIMD单元(叫做AltiVec)。采用0.18um工艺制造的 PowerPC G4+处理器的die尺寸是106 mm2,最高能以1000MHz的速度运行(采用Motorola 0.18um SOI工艺的时候)。它最高能产生30的能耗(1GHz的时候),而一般能耗是21.3W。

  同CISC设计相比较,采用RISC设计的CPU一般要更易于设计并小得多,因为RISC ISA(指令集构架)更具流线型并浪费得更少(空间)。与Itanium 处理器的VLIW设计相同,采用RISC设计的CPU也需要一个更好的编译器(主要是为了更好的利用额外的register),但RISC ISA并没有指明指令将如何被并行执行,这点有很多不同,所以从这方面来说,采用RISC设计的CPU与采用CISC的CPU更类似。这种更有效的设计就是几乎整个嵌入式系统的市场现在都是基于RISC或者VLIW设计的原因-这块市场更注重性能,成本以及能耗。

  评论:如果没有2M L3 cache以及AltiVec单元,现在的PowerPC系统将肯定在所有的benchmark测试中被本文中的其他系统打败-时钟频率,核心设计,cache 容量和带宽,内存延迟和带宽都是属于同等系统中较低的。这很大程度上是因为现在PowerPC 处理器大部分都是被售给嵌入式系统(这种系统需要低成本和低能耗,并且很需要DSP芯片类似的算法,而AltiVec单元就很适合这类算法),Motorola公司还发布了一款高端的更具竞争力的核心设计的版本。而正是嵌入式设计的要求导致了芯片组的较慢的SRAM速度(慢速的SRAM体积更小,能耗也更小)以及相对较低的时钟频率(体积更小,管线更短),并且更高的核心电压对它毫无用处(1.6v 核心电压)。

  采用了DDR SDRAM内存的新版本的芯片组虽然对性能有一定帮助,但是FSB也需要更快才行,并且具有讽刺意味的是,Apple公司发布的第一款采用DDR SDRAM内存的系统竟然是针对服务器系统的,其实工作站系统能更好的利用那些带宽。即使拥有了DDR内存,CPU的速度对于许多工作站任务还是太慢了 - CPU的核心以及cache的速度都太低了。然而,因为它拥有相对较小的能耗以及cache尺寸和良好的I/O性能,这使它很适合低端的多处理器系统,特别是对于高密度系统市场(rack-mount)。

回复

使用道具 举报

 楼主| 发表于 2003-11-10 00:00:00 | 显示全部楼层 |阅读模式
2-way AMD AthlonMP系统

  芯片组构架: 每颗AthlonMP处理器都拥有一个点对点的与760MPX芯片组上的主ASIC(“AMD-762”)的连接,而且两颗处理器都只能通过这块ASIC来进行彼此的“对话”。芯片组的北桥芯片含有一个DDR SDRAM内存接口,AGP端口以及通往南桥芯片(“AMD-768”)的连接。与普通的Pentium 4和Xeon处理器系统一样,AthlonMP以外的处理器也可以MP系统上工作,但AMD公司只保证AthlonMP处理器能在MP系统上正常工作。芯片组的北桥芯片体积很大并且是以949 pin 的形式封装(相当的大),它支持最高4GB的DDR SDRAM内存。

  带宽和延迟:芯片组的FSB为133MHz DDR,和主内存的速度相同,而且还是64位能提供2.1GB/秒的带宽。通过2条单独的FSB连接,FSB总共的带宽是4.2GB/秒,但因为大部分的带宽都是由主内存请求获得,这样就被限制在了2.1GBm/秒,所以FSB带宽 的利用率很少达到很高的水平,而I/O操作和cache snooping所需要的带宽也远远达不到那种水平。一个空闲系统的延迟和基于总线的FSB是相同的(当使用相同速度内存的时候)。

  可扩展性:当工作任务很繁重的时候,延迟应该扩展得更好,而实际的最大吞吐量应该比一条3个设备共享的总线(速度相同)高一些 - 通过两条连接,两颗处理器能同时发布请求或者接收数据。当工作量较轻的时候(或者只有一颗CPU被激活的时候),系统的延迟和带宽应该与一条同类的共享总线的延迟和带宽相当。然而,因为两颗处理器间的请求和数据传输都要经过中央的交换器(ASIC),cache snoop的延迟是同速度总线的两倍,因为cache 每处理一个请求(或者回应一个请求)都要经过2次总线传输(而不是一次)。因为拥有两条连接到北桥芯片的通道,一颗CPU在读数据的时候,另一颗还能写数据(主内存数据或者I/O数据)。

  I/O:北桥芯片与南桥芯片间的连接实际上是一个64位的66MHz的PCI总线,这条总线也能支持2块64位66MHz的PCI卡。此外,南桥芯片还拥有一条32位33MHz的PCI总线,能支持8个PCI设备,以及其他的系统组件,如IDE设备和USB设备。

  CPU cache:Athlon处理器的指令和数据cache分别是64KB,带有3个时钟循环的延迟,L2 cache是256KB。因为Athlon处理器的比Pentium 4处理器大得多的L1 cache,它的L2 cache的性能的影响并不是最大的,而且L2 cache的延迟和带宽也要差得多,这部分是由于Athlon处理器的L2 cache设计原本是个外置的设计。Athlon处理器还有一个“exclusive(排他的)”的设计,通过这个设计能使L1 cache与L2 cache没有任何的重复的数据。虽然这会使cache算法更为复杂一点,但它能增加可缓存的代码和数据的总量。大多数的cache设计都是“inclusive(包含的)”的,这样的设计中L1 cache中的数据还是会存在于L2 cache中。

  CPU 核心:和Pentium 3处理器的设计相似,Athlon处理器看起来是个全面的,均衡的设计,在实施过程中它每个方面都表现得很好,特别是在拥有与Pentium 4处理器类似的长管线的情况下达到了这么高的时钟频率。它的普通浮点运算性能比其他的x86构架的CPU要好得多,不过还是输给了经过SSE2优化的Pentium 4处理器。采用0.18um工艺制造的1666MHz的Athlon处理器的平均/最高能耗是62/70W,当采用0.13um工艺制造的时候,很可能达到54/60W。

  评论:考虑到这是AMD公司的首款双处理器系统,它受到爱好者和许多公司的好评,因为它的高性能和良好的性价比。它不足的一个方面是它的能耗,当以最快速度运行的时候,它的能耗几乎是采用0.13um工艺制造的最快的Pentium 3处理器的2倍。而对于商用软件,两种处理器的性能差异远没有那么明显。虽然AMD公司没有递交这款系统的服务器benchmark结果,但一些表明,它能构成一款好的服务器,但目前它的相关性能还不是十分清晰。AMD已经赢得了小型OEM厂商的一定数量的订单并且把注意力集中于"white box(自由品牌)" OEM厂商上。而大型的OEM厂商还没有一家采用AMD公司的芯片组或者宣布有相关的计划。
回复

使用道具 举报

 楼主| 发表于 2003-11-10 00:00:00 | 显示全部楼层 |阅读模式
2-way Sun UltraSPARC-III 系统

  芯片组构架:这款芯片组看起来相当的复杂(画起来肯定也很费劲),而Sun公司的文档对于芯片组的布局与运行方式也介绍得不够,所以上面也只是设想中的图形。每颗UltraSPARC-III处理器都拥有一个on-die内存控制器并具有直接address最高4个bank的2条SDRAM DIMM的能力。Sun公司把这些DIMM叫做"NG-DIMM"(next generation下一代的),因为他们虽然使用了普通SDRAM芯片,但都是128位的。4个bank每个都拥有一个连接到6个单独ASIC(这6个ASIC组成了联合处理器内存转换器,CPMS)。这款芯片组还有一定程度的冗余(实际上系统仅仅需要6个CPMS中的4个就行了),设想中的具体实施过程已经展示在上图中了-内存模块与Switch2和Switch5的连接是用虚线表示的,这个意味着这两条连接是可选的,可能当Switch1或者Switch3出故障的时候,Switch2能够接管他们的工作,依此类推。

  每个switch ASIC都有两条单独的与总线类似的连接通道,一条与2颗CPU相连,另一条与主I/O芯片相连。任何一个单独的ASIC都能同时对1颗或2颗处理器读或写数据,而且通过一条单独的总线来在switch ASIC间传输数据。每个ASIC 都能轮流来传输从内存到CPU的数据,而当一个ASIC往CPU传输数据的时候,其他的也可以同时往CPU中传输数据(这点上Sun公司的文档没有说得太清楚)。CPU之间的数据传输也得通过这些ASIC,虽然address请求是由CPU与主I/OASIC共享的总线发出的,这样要比通过一个switch ASIC发送请求获得更低的延迟-address请求需要的带宽比数据请求少得多,这样就更为实用。在采用的双UltraSPARC-III处理器Sun系统中,只有一颗CPU被用来处理内存请求(也许为了降低成本),而且采用共享address总线来初始化请求。

  带宽和延迟:每颗UltraSPARC-III处理器都拥有一条独立的128位 150MHz与芯片组的连接通道(2.4GB/秒的带宽),芯片组支持最高4.8GB/秒的内存带宽以及1.2GB/秒的I/O带宽。拥有一个on-die 内存控制器以及一个很短的数据传输通道,系统延迟将比其他的采用同样的75MHzSDRAM内存的解决方案要低,或许能达到采用100MHz SDRAM内存的简单北桥设计所能带来的延迟水平。

  可扩展性:芯片组拥有一条共享address总线,一条专用数据总线。这种设计与Pentium 系统的共享总线和Athlon系统的点对点专用总线相比,算是一个复合型的设计。Address总线是共享的并有1个时钟循环的延迟,但因为是用在2-way系统上,即使依赖于带宽的应用程序也不能通过cache snoop和内存请求而占满整个address总线。因为每颗CPU拥有一条单独的数据总线,cache snoop 数据,内存数据和I/O数据能够同时出现,这能帮助提高带宽的可扩展性。

  I/O:芯片组支持1条64位66MHz PCI 总线,2条64位33MHz PCI总线以及2块UPA64S图形卡(Sun公司的与AGP图形卡类似的产品)。

  CPU cache:UltraSPARC-III处理器带有8M的外置 cache,cache使用256位,最高能达到350MHz的SRAM,能提供11GB/秒带宽。更新一些的UltraSPARC-III Cu处理器替代了速度较慢的UltraSPARC-III处理器(它的SRAM速度仅为150MHz)。处理器核心拥有90KB的 tag-RAM来作为外置cache(用来缓存数据address记录),64KB,2个循环延迟的L1 数据cache,32KB,2个循环延迟的指令cache,2KB的pre-fetch(预读取)cache(仅为浮点数据使用)以及2KB的写cache。

  CPU核心:CPU核心拥有9条阶段性管线来发布整数指令,而内存请求,指令分流和浮点运算总共使用14条阶段性管线。而一个特殊的替补指令分流缓冲区能将指令分流预测错误的惩罚降低至4个循环。最初的1988的SPARC指令集构架大部分都是建立在最初的RISC-1设计上,并在1995年发展到采用64位的UltraSPARC-I处理器。UltraSPARC-III处理器和UltraSPARC-II处理器一样,采用in-order 4-way issue的设计,但在cache性能和指令分流预测系统上取得了显著进步。CPU核心运行在1.6V的电压下,在1050MHz的时候能耗为75W。

  评论:近10年来Sun公司都是RISC/Unix工作站系统的最大的供货商,主要从事高端系统的研究,并且和SGI公司不同,他们很少涉及3D 动画行业。虽然在写作本文的时候,Sun公司的Blade 2000服务器取得了第二高的2-way SPECfp_rate峰值测试结果,它的性价比与基于x86构架的系统相比还是差很多。此外,Sun公司内的图形卡的开发速度相当的慢,虽然他们最新的XVR-1000比起上一代的图形卡要快了3倍多,它的性能仍显得落后并且价格昂贵,即使它拥有许多高级的视觉特性。

  需要64位addressing能力和大量内存的工作站系统在工作站市场上占的比例每年都在增加,而且许多高端的工作站市场的附加软件和软件包都只能运行在UltraSPARC和HP的PA-RISC系统上(这两种系统是采用64位构架的工作站系统中最先进的)。此外,对于高端的工作站任务,软件的花销可能是巨大的,而且任何的软件故障带来的损失更是显著的。即使是昂贵的工作站系统都没法这些损失相比。这些因素可能就是高端的RISC工作站市场仍然有利可图的原因。随着HP转向采用Itanium处理器,AMD致力开发64位 的扩展性x86构架的系统,高端工作站市场的竞争将会变得白热化,也会使产品的价格降低。对于有些工作站任务,如EDA(集中于CPU运算和内存性能上,但对图形运算要求很低),Sun公司已经开始转向采用一种服务器的模式,由低端工作站或者瘦客户机来共享一个计算场(compute farm)的资源。

  Sun公司的服务器版的双UltraSPARC-III系统(Sun Fire280R和Netra20)都是rack-mount的系统,却采用了4U的机箱。虽然对这些系统进行web-serving之类的benchmark测试表明他们的性能能够与高端的基于x86构架的2-way 系统相比,Sun公司的产品对于这一类的大多数产品都显得过于昂贵,而且大多数的web服务器并不需要超过4GB的内存以及高等级的内存带宽。鉴于许多基于x86构架的2-way系统都采用的1U机箱,Sun公司采用4U机箱的系统并没有良好的性能密度比(而4-way Sun Fire V480采用的是5U机箱),虽然Sun公司已经开始研究更为“苗条的”模型。然而,任务繁重的应用服务器以及低端的数据库服务器将能从它的额外的内存和高速而且大容量cache中获得好处。但2-way UltraSPARC-III系统的价格几乎是2-way Pentium 系统的2倍,在这点上Sun公司的竞争力很差。

8-way Sun UltraSPARC-III 服务器

  芯片组构架:Sun公司的8-way UltraSPARC-III工作组服务器(Sun Fire V880)采用了与2-way系统相同的芯片组(从CPU的层面上说),但从系统的层面上说则引进了许多新特性。Sun公司的整条UltraSPARC-III系统生产线也是建立在同样基本芯片组的基础上。系统分布在4块CPU/memory卡上,每块卡支持最高2块CPU和16GB内存(目前),而每个CPU能控制8个DIMM。4块CPU/memory卡通过一条backplane连接(Fireplane interconnect)。4块CPU/memory卡和2条I/O系统连接之间还有一个6端口的crossbar switch(矩阵交换)。不幸的是,官方文档对于许多细节都没有说得太清楚―但文档上说芯片组采用了4个ASIC来进行Fireplane interconnect(建立在一个256位,150MHz的点对点连接构架的基础上),不过没有具体构造的情况。虽然2-way系统采用了6个单独的ASIC来保障2颗CPU和本地内存间的连接,Sun Fire V880 系统的CPU/memory卡则拥有8个ASIC,不过没有具体细节资料。

  带宽和延迟:在2-way系统中,一个CPU要控制8个DIMM,最高的内存带宽为4.8GB/秒。在8-way系统(也有可能4-way系统)或者更高级的系统中,每个CPU要控制8个DIMM,但每个只能获得2.4GB/秒的带宽,所以8-way系统的总带宽将达到19.2GB/秒。本地内存(同一块CPU/memory卡上的)的延迟应该与2-way系统的相类似。一个非本地的请求(不在同一块CPU/memory卡上的)将会增加几个循环的延迟(150MHz的时候)。每块CPU/memory卡与中央Fireplane interconnect连接的带宽都是4.8GB/秒(持续不变的)。Fireplane interconnect总共能维持8.6GB/秒的数据传输带宽。

  可扩展性:从可扩展性的角度看,一个使问题变得更复杂的情况就是当遇到基本上采用随机内存读取模式(平均地从各个分散的内存控制器中读取数据)的应用程序和8颗CPU的时候,仅有八分之一的内存请求会发往CPU自己的内存控制器,另外八分之一将发往与之配成一对的CPU的内存控制器,而剩下的则会在其他的内存控制器间平均分布。如果所有的内存请求都是本地的(位于同一块CPU/memory卡),理论上最大带宽将达到19.2GB/秒(当8颗CPU都处于激活的状态的时候)。但当内存请求是分散的时候,带宽将会受到9.6GB/秒的backplane带宽的限制。

  不过因为每颗CPU拥有8M cache,可能只有技术性计算用途的应用程序才会需要持续的高内存带宽(高到使9.6GB/秒的backplane成为带宽的瓶颈)。采用软件优化来增加本地内存请求发生的机率将使所有的应用程序从中受益,因为这样不但能降低延迟还能增加最大带宽。不过假设遇到这样的系统设计的时候(本地延迟和远程延迟没有太大差别,而且通过中央switch中转后的带宽不会成为系统瓶颈),那样的软件优化带来的性能提升将会很小。

  I/O:I/O系统以与CPU/内存卡接近的速度与backplane相连,并且支持4条PCI通道,包括两条64位 66MHz 通道和两条64位 33MHz通道,以及总共9块PCI卡。这些PCI卡还可以随时添加和使用,不会导致系统停机。

  CPU和cache:整个UltraSPARC-III系列的系统都采用了相同CPU和 SRAM cache设计,所以它和2-way系统的设计没有太大的差别。不过和2-way工作站系统不同的是,目前还没有1050MHz速度的CPU,预计要到2002年第三季度才能实现。

  评论:很难将它的内存延迟与当前的基于Intel芯片的8-way系统相比较,但是因为拥用更多cache,更快的CPU核心,更大的内存带宽以及基于switch的构架,Sun公司的系统拥有明显的性能优势。虽然只有相对很少数量的针对v880的benchmark软件被发布,它的性能已经要优于最新的8-way Pentium 系统。不幸的是,目前还没有太多优秀的跨平台的服务器benchmark软件。

  当Sun Fire V880系统2001年八月发布的时候,它的价格与类似配置的8-way 900 Pentium 3 Xeon系统相似,并因此变得十分受欢迎。实际上它的受欢迎的程度就是它的4-way版本(Sun Fire V480)推迟面市的原因,而本来这款4-way系统是预计正好本文发行之前面市。V480系统与V880系统基本上是一致的,除了V480系统只有2块CPU/Memory卡以及较低的I/O能力。而这两款系统都难以销售的区域就是那些完全采用基于Windows系统的客户。这些客户显然不太可能已经拥有管理Unix系统的员工,所以对他们来说,购买一台Sun公司的服务器会导致巨大的额外花销,因为需要一名额外的受过训练的员工支持它。

  IDC 关于 Sun Fire V480的白皮书 - 只有很少的关于4-way系统的文档,不过这篇文章有一些有用的关于整体服务器市场的数据。

  最后

  这一次我们就讲到这里,在下一篇文章里我们会涉及一些2003年即将面市的新技术和经过改良的技术,如集成了北桥芯片和内存控制器的芯片组,通过单晶片多处理器(CMP)和采用纯消除多线程技术(fine-grained multithreading)而实现的线程级并行运算。请感兴趣的朋友继续关注。
回复

使用道具 举报

 楼主| 发表于 2003-11-10 00:00:00 | 显示全部楼层 |阅读模式
回复

使用道具 举报

发表于 2003-11-10 00:00:00 | 显示全部楼层
强帖!!长见识!!
回复

使用道具 举报

发表于 2003-11-10 00:00:00 | 显示全部楼层
太多了..没看:)
回复

使用道具 举报

发表于 2003-11-11 00:00:00 | 显示全部楼层
灌水的本性又显露出来了:)
回复

使用道具 举报

 楼主| 发表于 2003-11-11 00:00:00 | 显示全部楼层
以下是引用equn在2003-11-11 13:05:42的发言:
灌水的本性又显露出来了:)

这个不能说是灌水吧~~
回复

使用道具 举报

发表于 2003-11-11 00:00:00 | 显示全部楼层
以下是引用Lightalt在2003-11-11 14:51:30的发言:
这个不能说是灌水吧~~

就是!不能算灌水啊。我们的目标是——算得更快!!!
回复

使用道具 举报

 楼主| 发表于 2003-11-12 00:00:00 | 显示全部楼层
以下是引用小强在2003-11-11 15:46:14的发言:
[quote]以下是引用Lightalt在2003-11-11 14:51:30的发言:
  这个不能说是灌水吧~~

就是!不能算灌水啊。我们的目标是——算得更快!!!
[/quote]
9494
我要灌也在水区灌~~
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 新注册用户

本版积分规则

论坛官方淘宝店开业啦~

Archiver|手机版|小黑屋|中国分布式计算总站 ( 沪ICP备05042587号 )

GMT+8, 2024-4-29 23:13

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表