非对称多处理是一种多元处理的架构,也叫作非对称多重处理、非均衡多元处理。
简介在这种架构下,存在多个处理器;每个中央处理器在某个特定时间内,被指定一个特定的任务去执行。在对称多处理系统还没完全发展好之前,它曾被视为是一种软件的权宜之计,可以用来让多个处理器同时运作。在对称多处理系统开发好之后,现今它仍然被视为是一个较简单廉价的软件选项。1
多核心处理器多核处理器(英语:Multi-core processor),又称多核微处理器,是在单个计算组件中,加入两个或以上的独立实体中央处理单元(简称核心,英语:Core),只有两个核心的处理器,称为双核处理器(dual-core processor)。这些核心可以分别独立地运行程序指令,利用并行计算的能力加快程序的运行速度。“多核心”通常是对于中央处理器(CentralProcessingUnit,CPU)而论的,但是某些时候也指数字信号处理器(DSP)和系统芯片(SoC)。
通常,把将两个或更多独立处理器封装在一个单一集成电路(IC)中的方案称为多核心处理器;而封装在不同IC中的独立处理器形成的计算机系统被称为多处理器。在某些情况中(比如广告中),有些人会将在同一个集成电路中多个独立的单核心微处理器(或多核心微处理器)称做“多处理模块”、“多核心”等,其实是指“多处理器”而不是“多核心处理器”。除非特别说明,本文将使用“多核心”指代在同一集成电路中集成多个独立处理器的CPU(即“多核心处理器”)。
一般情况下,多核心处理器可以在每个核心分别独立物理封装的情况下进行多任务处理(线程级并发处理(Thread-LevelParallelism,TLP),这种形式的TLP通常被认为是芯片级多处理)。2
NUMANUMA是当前主流的非对称多处理架构。
非统一内存访问架构(英语:Non-uniform memory access,简称NUMA)是一种为多处理器的电脑设计的内存,内存访问时间取决于内存相对于处理器的位置。在NUMA下,处理器访问它自己的本地内存的速度比非本地内存(内存位于另一个处理器,或者是处理器之间共享的内存)快一些。
非统一内存访问架构的特点是:被共享的内存物理上是分布式的,所有这些内存的集合就是全局地址空间。所以处理器访问这些内存的时间是不一样的,显然访问本地内存的速度要比访问全局共享内存或远程访问外地内存要快些。另外,NUMA中内存可能是分层的:本地内存,群内共享内存,全局共享内存。
NUMA架构在逻辑上遵循对称多处理(SMP)架构。它是在二十世纪九十年代被开发出来的,开发商包括Burruphs(后来的优利系统),Convex Computer(后来的惠普),意大利霍尼韦尔信息系统(HISI)(后来的Group Bull),Silicon Graphics公司(后来的硅谷图形),Sequent电脑系统(后来的IBM),通用数据(EMC),Digital(后来的Compaq,现惠普)。这些公司研发的技术后来在类Unix操作系统中大放异彩,并在一定程度上运用到了Windows NT中。
首个基于NUMA的Unix系统商业化实现是对称多处理XPS-100系列服务器,它是由VAST公司的Dan Gielen为HISI设计。这个架构的巨大成功使HISI成为了欧洲的顶级Unix厂商。1
本词条内容贡献者为:
何星 - 副教授 - 上海交通大学