对称多处理(英语:Symmetric multiprocessing,缩写:SMP),也译为均衡多处理对称性多重处理对称多处理机[1],是一种多处理器的电脑硬体架构,在对称多处理架构下,每个处理器的地位都是平等的,对资源的使用权限相同。现代多数的多处理器系统,都采用对称多处理架构,也被称为对称多处理系统(Symmetric multiprocessing system)。在这个系统中,拥有超过一个以上的处理器,这些处理器都连接到同一个共享的主记忆体上,并由单一作业系统来控制。在多核心处理器的例子中,对称多处理架构,将每一个核心都当成是独立的处理器。

在对称多处理系统上,在作业系统的支援下,无论行程是处于使用者空间,或是核心空间,都可以分配到任何一个处理器上运行。因此,行程可以在不同的处理器间移动,达到负载平衡,使系统的效率提升。

基本定义

在计算领域,对称多处理是一种多处理机硬件架构,有两个或更多的相同的处理机(处理器)共享同一主存,由一个操作系统控制。当前最常见的多处理机系统使用了对称多处理架构。以多核处理器为例,对称多处理架构就是这些核,它把这些核当作不同的处理器。不同的处理器之间可以由总线、矩阵开关或片上mesh网络来连接。使用总线或矩阵开关的对称多处理架构有可扩展性方面的瓶颈,它是由处理器之间连接的带宽、能耗,以及内存和磁盘阵列等引起的。使用mesh连接的架构避免了这些瓶颈。它能够支持更多数量的处理器,具有几乎线性的可扩展性,代价是牺牲可编程性。

优点与缺点

优点是并行度很高,但是由于系统汇流排的带宽是有限的,故处理器数目受限,且效能受限。

用途

分时系统服务器系统通常可以在不更改应用程序的情况下使用 SMP,因为它们可能有多个并行运行的进程,并且运行多个进程的系统可以在不同的处理器上运行不同的进程。

个人计算机上,SMP 对于未经修改的应用程序不太有用。如果系统很少同时运行多个进程,则 SMP 仅对已针对多线程(多任务)处理进行修改的应用程序有用。可以编写或修改定制编程软件以使用多个线程,以便它可以利用多个处理器。

多线程程序还可以用在支持多线程的分时和服务器系统中,使它们能够更多地利用多个处理器。

参阅

参考文献

Wikiwand in your browser!

Seamless Wikipedia browsing. On steroids.

Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.

Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.