《思科UCS服务器统一计算》一第2章 服务器架构2.1 处理器的演变

简介:

本节书摘来自异步社区《思科UCS服务器统一计算》一书中的第2章,第2.1节,作者【美】Silvano Gai,Tommi Salli, Roger Andersson,更多章节内容可以访问云栖社区“异步社区”公众号查看

第2章 服务器架构

思科UCS服务器统一计算
从性能角度来看,处理器、内存和I/O是服务器中最重要的三个子系统。在某个给定的时间点,其中一个常常会成为瓶颈。我们经常会听说应用程序受CPU限制、受内存限制或受I/O限制。

在本章中,我们将详细介绍这三个子系统,具体参照根据IA-32(Intel架构,32位)构建的服务器,IA-32通常称为x86架构。具体地讲,我们将介绍与IA-32架构兼容的最新一代Intel处理器,也就是Intel微架构(以前的代号为Nehalem)1。

Nehalem微架构(参见本章的“Intel微架构”部分)及其变体Westmere微架构,包括了思科UCS使用的三个处理器系列:Nehalem-EP、Nehalem-EX和Westmere-EP。表2-1总结了这三个处理器的主要特征。


d617170601b0a95e901389b7f2453a41ad4a31b3

1作者对编辑本章所采用的信息和材料向Intel公司表示感谢。大多数图片承蒙Intel公司提供。

2.1 处理器的演变

思科UCS服务器统一计算
现代处理器或中央处理器(Central Processing Unit,CPU)都采用了最新的硅技术,一个晶片(包含一个处理器的半导体材料块)上有数百万个晶体管和数兆内存。

多个晶片焊接到一起就形成了一个硅片(硅晶圆),每个晶片都是独立切块、测试和用陶瓷封装的。这个过程包括安装晶片、将晶片衬垫连接到陶瓷封装的插脚上,然后密封晶片。至此,封装好的处理器就可以上市并在服务器上安装它们了。图2-1显示了封装好的Intel Xeon 5500处理器。


2b4b3046d93e8ee1bb5fa37fe29131234d0e9d20

2.1.1 插槽

处理器是使用称为“插槽”的装配/互联结构安装到主板上的。图2-2显示了用于Intel处理器的插槽。用户可根据自己的需要,安装不同时钟频率和功耗的处理器到服务器主板。

服务器主板上插槽的数量决定了可安装的处理器数量。最初,服务器都只有一个插槽,但最近,为了提高服务器的性能,市场上已经出现了包含2个、4个和8个插槽的服务器。

在处理器架构的演变过程中,在很长一段时间里,性能的改善都与提高时钟频率紧密相关。时钟频率越高,完成一次计算需要的时间就越短,因此性能就越高。

随着时钟频率接近几个GHz,处理器的物理材料明显限制了时钟频率的进一步提高,因此必须找出提高性能的替代方法。


dab70f152c6e6660775511527c9beed655f20f5b

2.1.2 核心

晶体管尺寸不断缩小(Nehalem使用45nm技术,Westmere使用32nm技术),可以在单块晶片上集成数百万个晶体管。利用这个优势,可在一块晶片上多次复制基本的CPU(核心)。

现在市场上多核处理器(参见图2-3)已经随处可见,每个处理器(即插槽)包含多个CPU核心(通常是2、4、6或8个),每个核心都与一级缓存(L1)关联。缓存是用于减少访问主内存平均时间的小型快速内存。通常,所有的核心会共享一个较大的二级(L2)或三级缓存(L3)、总线接口和外部晶片连接。


347c9eecce92e8e054b6ade9f1e56eca4a64a2a1

在现代服务器中,核心的数量等于插槽数量与每个插槽核心数量的乘积。例如,基于Intel Xeon处理器5500系列(Nehalem-EP)的服务器通常使用两个插槽,每个插槽四个核心,总共八个核心。对于Intel Xeon7500系列(Nehalem-EX),服务器通常包含8个插槽,每个插槽8个核心,总共可容纳64个核心。

图2-4显示了更详细的双核处理器视图。CPU的主要组件(指令提取、解码和执行)都被复制,但访问系统总线是公用的。


d3612216ebb1bf9eab932ab6737c09c53cfc0c1d

2.1.3 线程

为了更好地理解多核架构的含义,我们先看一下程序是如何执行的。服务器会运行一个内核(比如Linux、Windows)和多个进程。每个进程可进一步细分为“线程”。线程是分配给核心的最小工作单元,一个线程需要在一个核心上执行,不能进一步分割到多个核心上执行(参见图2-5)。

进程可以是单线程也可以是多线程的。单线程进程同一时间只能在一个核心上执行,其性能取决于核心本身。多线程进程同一时间可在多个核心上执行,因此它的性能就超越了单一核心上的性能表现。

由于许多应用程序都是单线程的,因此在多进程环境中多插槽、多核心架构通常会带来方便。在虚拟化环境中,这个道理一样正确,Hypervisor允许在一台物理服务器上整合多个逻辑服务器,创建一个多进程和多线程的环境。


91a0605be56d657e78c0bea1a2370122ab6fdbb4

2.1.4 Intel超线程技术

虽然线程不能再拆分到两个核心上运行,但有些现代处理器允许同一时间在同一核心上运行两个线程。每个核心有多个可并行工作的执行单元,很难看到单个线程能让所有资源繁忙起来。

图2-6展示了Intel超线程技术的工作方式。同一时间在同一核心上执行两个线程,它们使用不同的资源,因此提高了吞吐量。


29a0abe3b0ec29bb41a91b367195f4a3738ed528

2.1.5 前端总线

在存在多插槽和多核心的情况下,理解如何访问内存以及两个不同核心之间是如何通信的非常重要。

图2-7显示了过去许多Intel处理器使用的架构,被称为前端总线(Front-Side Bus,FSB)。在FSB架构中,所有流量都是通过一个单一的、共享的双向总线发送的。在现代处理器中,64位宽的总线以4倍的总线时钟速度运行。在某些产品中,FSB信息传输速率已经达到1.6GT/s(12.8GB/s)。


4ac16e04d1c6fecfb2d44bb7bb904ed1ba96214e

FSB将所有处理器连接到芯片组的叫做北桥(也称为MCH,内存控制器中枢)。北桥连接所有处理器共享访问的内存。

这种架构的优点是,每个处理器都可以访问系统中其他所有处理器可以访问的所有内存。每个处理器都实现了缓存一致性算法,从而使其内部缓存与外部内存,以及其他所有处理器的缓存保持同步。

但以这种方式设计的平台要争夺共享的总线资源。随着总线上信号传输速度的加快,要连接新设备就变得越来越困难了。此外,随着处理器和芯片组性能的提升,FSB上的流量也会随之上升。由于总线是共享资源,因此这会导致FSB变得拥挤不堪,成为瓶颈。

2.1.6 双独立总线(DIB)

为了进一步提高带宽,单一共享总线演变成了双独立总线(Dual Independent Bus,DIB)架构,如图2-8所示,可用带宽基本上提高了一倍。

但在双独立总线架构中,缓存一致性流量必须广播到两条总线上,从而减少了总有效带宽。为了缓解这个问题,在芯片组中引入了“探听过滤器(snoop filter)”来减少带宽负载。


29cb6d95d0509ff5b84b0975f794357d88a951da

如果缓存未被命中,最初的处理器会向FSB发出一个探听命令。探听过滤器拦截探听,确定是否需要将其传递给其他FSB。如果同一FSB上的其他处理器能满足读取请求,就会取消探听过滤器访问。如果同一FSB上其他处理器不满足读取请求,探听过滤器就会确定下一步的行动。如果读取请求忽略了探听过滤器,则会直接从内存返回数据。如果探听过滤器表示请求的目标缓存行在其他FSB上存在,它将向其他部分反映探听情况。如果其他部分仍然具有缓存行,就会将请求路由到该FSB。如果其他部分不再有目标缓存行,数据还是直接从内存返回。因为协议不支持写请求,所以必须始终将写请求传送到上述具有缓存行副本的所有FSB上。

2.1.7 专用高速互联

在双独立总线之后又出现了如图2-9所示的专用高速互联(Dedicated High-Speed Interconnect,DHSI)。


16184dfeb7d1ed083ad31d083cfd61d4235349bf

基于DHSI的平台使用4个独立的FSB,每个处理器各使用一个FSB。引入探听过滤器实现了更好的带宽扩展。

FSB本身没有多大变化,只是现在变成点对点的配置了。

使用这种方法设计的平台仍然需要应对快速FSB上电子信号传输的挑战,DHSI也增加了芯片组上的针脚数量,需要扩展PCB路线,才能为所有FSB建立好连接。

2.1.8 Intel QuickPath互联

随着Intel酷睿i7处理器的引入,许多Intel产品已经采用了一种新的系统架构。这就是著名的Intel QuickPath互联(Intel QuickPath Interconnect,QPI)。这个架构使用了多个高速单向链接,将处理器和芯片组互联。使用这种架构,使我们认识到了:

多插槽和多核心共用的内存控制器是一个瓶颈;
引入多个分布式内存控制器将最符合多核处理器的内存需求;
在大多数情况下,在处理器中集成内存控制器有助于提升性能;
提供有效的方法来处理多插槽系统的一致性问题,对大规模系统至关重要。
图2-10显示了一个多核处理器,集成了内存控制器和多个链接到其他系统资源的Intel QPI的功能示意图。


4f89daa3af20b8ac2968727dc9ae2dc78bca4cba

在这个架构中,插槽中的所有核心共享一个可能具有多个内存接口(也就是内存总线)的集成内存控制器(Integrated Memory Controller,IMC)。

IMC可能具有不同的外部连接。

DDR 3内存通道:在这种情况下,DDR 3 DIMM(参见下一节)直接连接到插槽,如图2-12所示。Nehalem-EP(Xeon 5500)和Westmere-EP(Xeon 5600)使用了这种架构。
高速串行内存通道:如图2-11所示。在这种情况下,外部芯片(可扩展内存缓存,Scalable Memory Buffer)创建DDR 3内存通道,DDR 3 DIMM通过这些通道连接。Nehalem-EX(Xeon 7500)使用了这种架构。


4f678b91093afc580ebb1f417ce5104b430bedb2

不同插槽中的IMC和核心使用Intel QPI相互通信。

实现了Intel QPI的处理器也可以完全访问其他处理器的内存,同时还保持缓存的一致性。这个架构也称为“缓存一致性非统一内存架构(Non-Uniform Memory Architecture,NUMA)”——也就是,内存互联系统保证内存和所有可能缓存的副本始终保持一致。

Intel QPI是一个点对点的互联和消息传递方案,它使用点对点的差动电流信号传输模式。在当前的实现中,每个链接由每个方向最高速度可达25.6 GB/s或6.4 GT/s的20条线路组成(参见本章的“平台架构”部分)。

Intel QPI使用点对点的链接,因此在插槽中需要一个内部交叉路由器(参见图2-10),以提供全局内存访问。这种路由直通能力使得不需要完整的连接拓扑结构就可以构建系统。

图2-12显示了四插槽的Intel Nehalem-EX配置,每个处理器有4个QPI,并与其他3个处理器和Boxboro-EX芯片组互联(还有SMB组件,但是没有显示)。

相关文章
|
21天前
|
设计模式 Java API
微服务架构演变与架构设计深度解析
【11月更文挑战第14天】在当今的IT行业中,微服务架构已经成为构建大型、复杂系统的重要范式。本文将从微服务架构的背景、业务场景、功能点、底层原理、实战、设计模式等多个方面进行深度解析,并结合京东电商的案例,探讨微服务架构在实际应用中的实施与效果。
79 6
|
21天前
|
设计模式 Java API
微服务架构演变与架构设计深度解析
【11月更文挑战第14天】在当今的IT行业中,微服务架构已经成为构建大型、复杂系统的重要范式。本文将从微服务架构的背景、业务场景、功能点、底层原理、实战、设计模式等多个方面进行深度解析,并结合京东电商的案例,探讨微服务架构在实际应用中的实施与效果。
32 1
|
2月前
|
运维 监控 负载均衡
深入理解无服务器架构:优势与挑战
【10月更文挑战第6天】深入理解无服务器架构:优势与挑战
|
6天前
|
机器学习/深度学习 弹性计算 人工智能
阿里云服务器架构有啥区别?X86计算、Arm、GPU异构、裸金属和高性能计算对比
阿里云ECS涵盖x86、ARM、GPU/FPGA/ASIC、弹性裸金属及高性能计算等多种架构。x86架构采用Intel/AMD处理器,适用于广泛企业级应用;ARM架构低功耗,适合容器与微服务;GPU/FPGA/ASIC专为AI、图形处理设计;弹性裸金属提供物理机性能;高性能计算则针对大规模并行计算优化。
|
2月前
|
监控 网络协议 安全
DNS服务器故障不容小觑,从应急视角谈DNS架构
DNS服务器故障不容小觑,从应急视角谈DNS架构
58 4
|
2月前
|
机器学习/深度学习 监控 Serverless
无服务器架构(Serverless)
无服务器架构(Serverless)
|
2月前
|
存储 固态存储 安全
阿里云服务器X86计算架构解析与X86计算架构云服务器收费价格参考
阿里云服务器架构分为X86计算、Arm计算、高性能计算等多种架构,其中X86计算是用户选择最多的一种架构,本文将深入探讨阿里云X86计算架构的云服务器,包括其技术特性、适用场景、性能优势以及最新价格情况。
|
2月前
|
编解码 弹性计算 应用服务中间件
阿里云服务器Arm计算架构解析:Arm计算架构云服务器租用收费标准价格参考
阿里云服务器架构分为X86计算、Arm计算、高性能计算等多种架构,其中Arm计算架构以其低功耗、高效率的特点受到广泛关注。本文将深入解析阿里云Arm计算架构云服务器的技术特点、适用场景以及包年包月与按量付费的收费标准与最新活动价格情况,以供选择参考。
|
2月前
|
机器学习/深度学习 人工智能 前端开发
移动应用的架构演变与未来趋势
【10月更文挑战第20天】移动应用开发经历了从简单到复杂的演进过程,其架构设计也随着技术进步和用户需求的变化而不断演化。本文将探讨移动应用架构的变迁,分析当前流行的架构模式,并预测未来的发展趋势,旨在为开发者提供架构设计的参考和启示。
33 0
|
13天前
|
人工智能 弹性计算 编解码
阿里云GPU云服务器性能、应用场景及收费标准和活动价格参考
GPU云服务器作为阿里云提供的一种高性能计算服务,通过结合GPU与CPU的计算能力,为用户在人工智能、高性能计算等领域提供了强大的支持。其具备覆盖范围广、超强计算能力、网络性能出色等优势,且计费方式灵活多样,能够满足不同用户的需求。目前用户购买阿里云gpu云服务器gn5 规格族(P100-16G)、gn6i 规格族(T4-16G)、gn6v 规格族(V100-16G)有优惠,本文为大家详细介绍阿里云gpu云服务器的相关性能及收费标准与最新活动价格情况,以供参考和选择。