《思科UCS服务器统一计算》一2.1 处理器的演变

简介:

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

2.1 处理器的演变

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

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

image

2.1.1 插槽

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

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

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

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

image

2.1.2 核心

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

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

image

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

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

image

2.1.3 线程

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

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

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

image

2.1.4 Intel超线程技术

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

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

2.1.5 前端总线

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

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

image

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

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

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

2.1.6 双独立总线(DIB)

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

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

image

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

2.1.7 专用高速互联

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

image

基于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的功能示意图。

image

在这个架构中,插槽中的所有核心共享一个可能具有多个内存接口(也就是内存总线)的集成内存控制器(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)使用了这种架构。

image

不同插槽中的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组件,但是没有显示)。

相关文章
|
29天前
|
机器学习/深度学习 弹性计算 人工智能
阿里云服务器架构有啥区别?X86计算、Arm、GPU异构、裸金属和高性能计算对比
阿里云ECS涵盖x86、ARM、GPU/FPGA/ASIC、弹性裸金属及高性能计算等多种架构。x86架构采用Intel/AMD处理器,适用于广泛企业级应用;ARM架构低功耗,适合容器与微服务;GPU/FPGA/ASIC专为AI、图形处理设计;弹性裸金属提供物理机性能;高性能计算则针对大规模并行计算优化。
|
2月前
|
存储 固态存储 安全
阿里云服务器X86计算架构解析与X86计算架构云服务器收费价格参考
阿里云服务器架构分为X86计算、Arm计算、高性能计算等多种架构,其中X86计算是用户选择最多的一种架构,本文将深入探讨阿里云X86计算架构的云服务器,包括其技术特性、适用场景、性能优势以及最新价格情况。
|
2月前
|
编解码 弹性计算 应用服务中间件
阿里云服务器Arm计算架构解析:Arm计算架构云服务器租用收费标准价格参考
阿里云服务器架构分为X86计算、Arm计算、高性能计算等多种架构,其中Arm计算架构以其低功耗、高效率的特点受到广泛关注。本文将深入解析阿里云Arm计算架构云服务器的技术特点、适用场景以及包年包月与按量付费的收费标准与最新活动价格情况,以供选择参考。
|
2月前
|
机器学习/深度学习 弹性计算 编解码
阿里云服务器计算架构X86/ARM/GPU/FPGA/ASIC/裸金属/超级计算集群有啥区别?
阿里云服务器ECS提供了多种计算架构,包括X86、ARM、GPU/FPGA/ASIC、弹性裸金属服务器及超级计算集群。X86架构常见且通用,适合大多数应用场景;ARM架构具备低功耗优势,适用于长期运行环境;GPU/FPGA/ASIC则针对深度学习、科学计算、视频处理等高性能需求;弹性裸金属服务器与超级计算集群则分别提供物理机级别的性能和高速RDMA互联,满足高性能计算和大规模训练需求。
100 6
|
2月前
|
监控 Serverless 云计算
探索Serverless架构:无服务器计算的新纪元
Serverless架构作为云计算的新范式,让开发者无需管理服务器即可构建和运行应用,从而专注于代码开发。其核心优势包括成本效益、自动扩展及高效部署。通过事件驱动模型和微服务部署,开发者按需付费,减少了资源浪费。尽管面临冷启动、状态管理和调试等挑战,Serverless架构仍凭借其高效性与可扩展性展现出广阔的应用前景。流行平台如AWS Lambda、Azure Functions等使其实施更为便捷。
|
3天前
|
人工智能 JSON Linux
利用阿里云GPU加速服务器实现pdf转换为markdown格式
随着AI模型的发展,GPU需求日益增长,尤其是个人学习和研究。直接购置硬件成本高且更新快,建议选择阿里云等提供的GPU加速型服务器。
利用阿里云GPU加速服务器实现pdf转换为markdown格式
|
3天前
|
开发框架 缓存 .NET
阿里云轻量应用服务器、经济型e、通用算力型u1实例怎么选?区别及选择参考
在阿里云目前的活动中,价格比较优惠的云服务器有轻量应用服务器2核2G3M带宽68元1年,经济型e实例2核2G3M带宽99元1年,通用算力型u1实例2核4G5M带宽199元1年,这几个云服务器是用户关注度最高的。有的新手用户由于是初次使用阿里云服务器,对于轻量应用服务器、经济型e、通用算力型u1实例的相关性能并不是很清楚,本文为大家做个简单的介绍和对比,以供参考。
|
11天前
|
弹性计算 运维 安全
阿里云轻量应用服务器与ECS的区别及选择指南
轻量应用服务器和云服务器ECS(Elastic Compute Service)是两款颇受欢迎的产品。本文将对这两者进行详细的对比,帮助用户更好地理解它们之间的区别,并根据自身需求做出明智的选择。
|
12天前
|
SQL 弹性计算 安全
阿里云上云优选与飞天加速计划活动区别及购买云服务器后续必做功课参考
对于很多用户来说,购买云服务器通常都是通过阿里云当下的各种活动来购买,这就有必要了解这些活动的区别,同时由于活动内的云服务器购买之后还需要单独购买并挂载数据盘,还需要设置远程密码以及安全组等操作之后才能正常使用云服务器。本文就为大家介绍一下目前比较热门的上云优选与飞天加速计划两个活动的区别,以及通过活动来购买云服务器之后的一些必做功课,确保云服务器可以正常使用,以供参考。
|
14天前
|
弹性计算 安全 开发工具
灵码评测-阿里云提供的ECS python3 sdk做安全组管理
批量变更阿里云ECS安全组策略(批量变更)