AMD64 Opteron:初步印象

作者:Michael Baxter

在AMD64 Opteron处理器发布之前,我们有机会测试了一个双处理器SMP系统,该系统搭载了64位Linux发行版。对于大多数Linux用户而言,Opteron是本十年至今为止最重要的硬件新品。 这篇初步印象文章涵盖以下主要领域:

  • AMD64 Opteron架构概述。

  • 来自Newisys, Inc.的参考双路SMP系统。

  • 运行几个GPL应用程序的一些结果。

  • 早期系统性能评估的调查。

AMD64 Opteron 处理器

Opteron是一个基于新的64位架构的新设备系列,该架构与预先存在的x86 32位架构兼容。 AMD保留兼容性的选择对于迁移32位工作负载具有积极意义。

Opteron架构支持四种应用程序编程模型。 第一种是通用模型,它执行诸如内存访问、控制流、异常处理和I/O之类的基本操作。 通用模型还设置了其他应用程序编程模型使用的内存优化。 下一个模型是128位媒体编程,它使用128位XMM寄存器。 此模型下支持的操作包括向量和标量数据上的整数和浮点运算。 64位媒体编程模型中支持类似的功能。 最后一个编程模型称为x87浮点编程,它使用x87寄存器进行80位浮点和标量运算。

处理器核心的代号是Sledgehammer,该设备采用940针陶瓷微型PGA封装。 当前的Opteron在130纳米绝缘体上硅(SOI)工艺中使用了近1.06亿个晶体管。 这些设备是在德国德累斯顿的AMD Fab30工厂制造的。 L1缓存具有128KB的容量,分为64KB指令缓存和64KB数据缓存。 片上L2缓存具有1MB的容量。 处理器在1.55V电压下运行,芯片面积为193平方毫米。 “资源”部分提供了有关AMD64架构和此处理器开源软件支持的更多信息。

Opteron处理器是一款高度集成的处理器,其功能旨在实现均衡的系统性能。 因此,它包含一个称为HyperTransport的集成高性能耦合链路,该链路在处理器或其他HyperTransport节点之间提供6.4GB/秒的全双工数据交换。 最多支持三个HyperTransport链路,每个处理器总共可达19.2GB/秒的峰值带宽。 此外,每个Opteron都包含一个集成的内存控制器,该控制器提供非常高的带宽和错误控制功能。 为L1缓存数据、L2缓存数据和标签以及外部DRAM提供ECC(纠错码)保护,并对所有受ECC保护的阵列进行硬件擦洗。

AMD为Opteron采用三位数的部件编号方案。 第一位数字表示预期的SMP可扩展性,本文涵盖的1.8GHz Opteron Model 244和1.6GHz Opteron Model 242均为双路。 第二位数字表示可扩展性系列内的相对性能。 随着芯片制造成本的下降和工艺技术的进步,给定可扩展性类别的其他型号将以更高的频率和更低的成本出现。 AMD还将制造单路Opteron,旨在用于高性能、低成本的系统。

型号240、242和244在撰写本文时已上市。 支持八路的型号840、842和844计划于2003年5月上市,型号144计划于2003年第三季度上市。

Opteron扩展了x86架构,允许客户在64位操作系统上运行现有的32位应用程序。 运行64位操作系统的客户将准备好支持未来的64位应用程序,并按照自己的节奏进行迁移,同时保持其32位应用程序的可用性。

Newisys 2100 服务器

参考平台名为2100,由Newisys, Inc.实现,这是一家技术提供商,目前在Opteron方面拥有两年的经验(请参阅“资源”)。

AMD64 Opteron: First Look

图1. Newisys 2100将两个Opteron处理器置于1U机箱中。

2100是一款1U双处理器机架式系统,其工程设计非常出色。 机械和电气设计在紧凑的封装中提供了可靠性(图1)。 例如,电源实际上是为500,000小时的MTBF设计的。 如果您每年工作典型的2,080小时,那么这种可靠性水平就像工作240年而不会犯错一样。

凭借Opteron均衡芯片组和出色的板级集成功能,该系统显着提高了内存性能和容量。 结果是具有强大I/O的高性能均衡服务器设计。 评估系统配备了6GB的PC2700内存,但服务器支持16GB。

图2是系统的顶视图。 两个铜散热片是处理器。 支持两种速度等级:1.6GHz Opteron model 242或1.8GHz Opteron model 244。 Opteron使用HyperTransport相互连接并连接到芯片组。 CPU到CPU的带宽为3.2GB/秒——在每个方向上(全双工)。 每个Opteron都有一个内部内存控制器,该控制器支持ECC DDR SDRAM,带宽为5.33GB/秒(每个)。 有两个内存库,每个处理器旁边一个。

AMD64 Opteron: First Look

图2. Newisys 2100的顶视图

AMD-8000 HyperTransport芯片组包括一个AMD-8131 HyperTransport PCI-X芯片,以及一个AMD-8111 I/O Hub芯片。 AMD-8131配置为驱动全槽PCI-X 64位/133MHz,数据速率为1GB/秒,以及半槽PCI-X 64位/66MHz,数据速率为0.51GB/秒。 AMD-8131还提供一对三模NIC(10M/100M/1GB),以及一个双Ultra-SCSI RAID控制器。 我们的测试系统在机箱正面采用了RAID配置的双热插拔Ultra-SCSI驱动器。 AMD-8111芯片提供VGA端口、IDE CD-ROM和USB端口。 另外,SuperI/O芯片提供软盘、键盘、鼠标和传统串行端口。

AMD64 Opteron: First Look

图3. 服务器管理处理器在CD-ROM驱动器下方有自己的LCD显示屏。

该系统还包含一个单独的嵌入式服务器管理处理器,它运行Linux。 该子系统基于Motorola XPC855T PowerPC处理器,运行内核2.4.18。 除了小型前面板控制台外,服务器管理处理器还提供一对隔离的10/100以太网接口,用于连接到独立的管理子网。 因此,无需键盘和显示器,甚至无需串行控制台访问服务器即可完成系统管理,并且使用它不会占用PCI插槽之一。

该系统的管理功能非常先进。 管理处理器支持SNMP、CIM和IPMI协议。 提供了NIS、Microsoft Active Directory和LDAP身份验证支持。 服务处理器配置的克隆可以点对点完成。 此外,可以将一个服务处理器指定为整个服务器场的控制器。 管理处理器还提供零占用空间诊断。 机器检查分析(例如访问内存和处理器扫描)可以独立完成。

Newisys已宣布他们将提供核心技术集成和封装工程专业知识,但将制造和分销留给外部OEM和被许可方。 他们已通过Sanmina SCI安排合同制造,并通过Avnet安排分销。

Newisys的合作伙伴包括IT领域的一些知名企业:Angstrom Microsystems、APPRO、RackSaver、M&A Technology、Microway、New Technology Solutions, Inc.和ProMicro。 在撰写本文时,已在OEM、财富500强公司以及当然还有Linux Journal中部署了约600个系统用于开发和评估。

SuSE Linux 企业服务器 8 和 GNU 应用程序

因为这是一个新的快速系统,所以在bash提示符下键入uname -a后,接下来要做的就是cat /proc/cpuinfo

processor   : 0
vendor_id       : AuthenticAMD
cpu family      : 15
model           : 5
model name      : AMD Opteron™
stepping        : 0
cpu MHz         : 1594.286
cache size      : 1024 KB
fpu             : yes
fpu_exception   : yes
cpuid level     : 1
wp              : yes
flags           : fpu vme de pse tsc msr pae mce
    cx8 apic sep mtrr pge mca cmov pat pse36 clflush
    mmx fxsr sse sse2 syscall nx mmxext lm 3dnowext
    3dnow
bogomips        : 3178.49
TLB size        : 1088 4K pages
clflush size    : 64
address sizes   : 40 bits physical, 48 bits virtual
power management: ts ttp

处理器 1 的信息相同,但BogoMips为3185.04。

SuSE Linux 企业服务器 8 上支持的主要GUI环境是KDE 3.0,并且该系统随附SuSE发行版通常期望的所有常规工具和应用程序。 SuSE Enterprise Linux在Opteron上的实现本身是大量辛勤工作和64位Linux hacking悠久历史的结果,可以追溯到Jon “maddog” Hall首次向Linus Torvalds赠送Digital Alpha的时候。

GNU环境可以正常工作——仅在64位下。 所有常用的编译器和GNU构建环境都可以开箱即用。 使用此系统时,您首先注意到的事情之一是Emacs立即启动,速度比您眨眼还快。

第一个测试是编译并运行GNU科学库(GSL),这是一个数值计算库。 该库本身相当强大,我们编译了1.3版。 然后,我们从GNU科学库参考手册中编译了一些示例代码以生成随机数。 这个非常简单的程序在没有任何优化的情况下进行编译,结果表明该系统比x86上800MHz的相同程序快大约三倍。

但是,我们很快了解到,编程经常在无意识地认为它是32位系统的情况下完成。 测试程序的一部分将整数1左移sizeof(int) * 8 - 1以获得位数,这基于机器本机整数的位大小。 在这台机器上,与典型的x86 PC相比,使用该不可移植的hack编译程序会导致立即整数溢出。 尽管常用工具现在是64位clean,但您本地开发的代码可能需要进行一些工作。

我们使用Icarus Verilog编译器进行了下一个测试。 Icarus Verilog是一个GPL许可的Verilog HDL编译器,用于电子设计自动化(EDA),尤其是HDL仿真和综合。 Linux Journal 已经两次采访了Icarus的作者Stephen Williams [请参阅“电子设计自动化中的开源”,LJ,2001年2月,www.linuxjournal.com/article/4428 和“与Stephen Williams的对话”,LJ,2002年7月,www.linuxjournal.com/article/6002]。 随着时间的推移,我们记录了该编译器作为逻辑和FPGA设计的严肃工业级EDA工具所取得的稳步增长的进步。 由于Stephen在过去五年中一直在Linux for Alpha下将Icarus构建为64位clean代码,因此编译编译器相对容易。 感兴趣的是了解它的速度有多快,以及它在运行时方面对大型工作负载和更多操作周期的响应程度如何。

我们测试了Icarus测试套件中的大型乘法器逻辑模型和测试平台,结果发现它比运行相同二进制文件的1.5GHz Athlon处理器快了近两倍。 对于大型工作负载测试,我们编译了一个由1,720,648行Verilog代码组成的逻辑模型。 这也令人叹为观止。 在61分钟内,该机器编译了一个模型,其内存占用量大于32位Linux中最大的用户空间——3.6GB。

由于Icarus使用其自己的内部线程系统,因此这些特定的EDA测试仅使用了这台计算机的一半。 另一个具有可扩展内存带宽的处理器运行更多的EDA仿真项目,甚至不会影响第一个。 Opteron显然非常适合作为工程工作的服务器技术。

编译的最后一个主要测试是针对Linux测试项目(LTP)。 LTP是Linux的GPL许可测试环境,可在SourceForge上下载(请参阅“资源”)。 测试的版本是ltp-full-20030404,它来自2003年4月初。 它编译并运行了默认测试,没有任何问题。

对LTP测试的定性总结是,64位SuSE Enterprise Linux非常干净——LTP中测试了许多琐碎的Linux系统调用。 极少出现故障,并且在这些故障中,没有一个具有任何实质性影响。 根据我们的经验,在其他一些最新的32位Linux发行版上,相同的LTP有更多的测试失败,包括实际崩溃。

尽管LTP非常适合测试Linux,但关于Opteron的一些其他更定量的数据是必要的,以便开始在数值上了解此处理器和系统架构的性能限制。 现在我们转向一些初步基准测试。

性能基准测试

这些处理器速度非常快,并且仍处于系统特性分析周期的早期阶段。 例如,需要为64位操作系统编译新的应用程序才能充分发挥可用性能。 目前,表1和表2列出了在付印时可用的一些早期行业标准基准测试。 这些是针对双处理器SMP Opteron 244,采用PC2700内存配置,用于32位应用程序的基准测试。 在表1中,基准测试推断相对整数和浮点处理器性能。 表2中的基准测试旨在评估服务器运行Java应用程序的能力的性能。

您预期的应用程序决定了最佳基准。 程序可能看起来相似,但具有独特的特性,这些特性在系统负载下会受到不同的强调。

表1. Opteron 244 基准测试

表2. Opteron 244 Java中间件基准测试

结论

Opteron是突破性的64位处理器技术,它似乎注定为将32位架构程序干净地迁移到64位应用程序空间提供高性能和成本节省。 在不久的将来,在Linux上运行的64位“长模式”应用程序的优势似乎确实很高,因为八路SMP处理器即将问世。 Linux Journal 将在未来的其他文章中报道这项新兴技术。

资源

AMD64 Opteron: First Look
电子邮件:mab@cruzio.com

Michael BaxterLinux Journal 的技术编辑。

加载Disqus评论