跳转到内容

并行计算和计算机集群/概述

来自维基教科书,开放世界中的开放书籍

主题概述

[编辑 | 编辑源代码]

如引言所述,并行计算和计算机集群在主题方面有很大重叠。

并行计算

[编辑 | 编辑源代码]

并行计算是一个模糊的术语,涵盖了计算的两个不同领域:设计具有多个处理器的单台机器(硬件并行计算)和设计软件将复杂场景拆分为可管理的块(软件并行计算)。

并行计算机

[编辑 | 编辑源代码]

并行计算机是指设计并包含多个 MPU 的计算机,每个 MPU 都可以独立于其同级工作。许多现代 PC 都能够容纳两个 CPU,而单个 CPU 可以容纳多个内核,每个内核都可以独立于其他内核工作 - 两者都是可以并行执行多个任务的计算机的例子。请注意,运行多任务操作系统(如 MS Windows 或各种 Unix/Linux 版本)的单 CPU、单内核机器并非并行运行,而是串行运行许多小块的任务:软件被并行化,但硬件并非如此。

并行软件

[编辑 | 编辑源代码]

在设计软件以处理大型数据集时,通常可以将数据集拆分为多个较小的子集,而不会影响整体工作目标。例如,要检索单个服务器上的所有静态网页,可以单独检索每个网页,而不会影响最终结果,因此可以并行执行数据集的块。一旦确定可以成功拆分数据,就可以以允许单个 CPU 处理较小块的方式设计软件,从而允许许多 CPU 并行处理许多不同的块。

计算机集群

[编辑 | 编辑源代码]

计算机集群是由多台独立机器组成的网络,它们协同工作以实现或提供一个共同主题或目标。例如,一个简单的搜索引擎可以由两台机器组成:一台机器检索和索引数据,另一台机器提供前端供人们访问索引。以这种方式,集群由多个不同的任务组成,但对于使用集群的人来说,它被视为一个单一实体。

许多集群被设置为朝着同一个共同目标努力,以类似的方式处理类似的数据集。在这种情况下,集群以并行方式进行计算,因此并行计算和计算机集群之间的界限变得模糊不清。

华夏公益教科书