从CPU、内存和I/O深度理解IA架构服务器
线程
为了更好地理解多核架构的含义,我们先看一下程序是如何执行的,服务器会运行一个内核(如Linux,Windows的内核)和多个进程,每个进程可进一步细分为线程,线程是分配给核心的最小工作单元,一个线程需要在一个核心上执行,不能进一步分割到多个核心上执行。下图显示了进程和线程的关系。

图 5 进程和线程的关系
进程可以是单线程也可以是多线程的,单线程进程同一时间只能在一个核心上执行,其性能取决于核心本身,而多线程进程同一时间可在多个核心上执行,因此它的性能就超越了单一核心上的性能表现。
因为许多应用程序都是单线程的,在多进程环境中,多插座、多核心的架构通常会带来方便,在虚拟化环境中,这个道理一样正确,Hypervisor允许在一台物理服务器上整合多个逻辑服务器,创建一个多进程和多线程的环境。
英特尔超线程技术
虽然单线程不能再拆分到两个核心上运行,但有些现代处理器允许同一时间在同一核心上运行两个线程,每个核心有多个并行工作能力的执行单元,很难看到单个线程会让所有资源繁忙起来。
下图展示了英特尔超线程技术是如何工作的,同一时间在同一核心上有两个线程执行,它们使用不同的资源,因此提高了吞吐量。

图 6 英特尔超线程技术工作原理
5
第1页:一、处理器子系统第2页:核心第3页:线程第4页:前端总线第5页:双独立总线第6页:专用高速互联第7页:英特尔QuickPath互联第8页:二、内存子系统第9页:SRAM、DRAM和SDRAM第10页:DIMM第11页:ECC和Chipkill第12页:内存Rank第13页:UDIMM和RDIMM第14页:DDR2和DDR3第15页:三、I/O子系统第16页:四、英特尔微架构第17页:集成内存控制器(IMC)第18页:英特尔QuickPath互联(QPI)第19页:CPU架构第20页:英特尔超线程技术第21页:缓存分级第22页:集成功率门控第23页:电源管理第24页:英特尔Turbo Boost技术第25页:四、硬件辅助虚拟化第26页:VT Flex Migration和扩展页表(EPT)第27页:虚拟处理器ID(VPID)第28页:RAS高级可靠性第29页:高级加密标准和可信执行技术第30页:芯片设计第31页:芯片组虚拟化支持与直接I/O虚拟化第32页:VT-c for Connectivity第33页:VMDq第34页:NetQueue
相关文章