大规模并行处理机(Massively Parallel Processor)是由多个由
微处理器,局部存储器及网络接口电路构成的节点组成的并行计算体系;节点间以定制的高速网络互联。大规模并行处理机是一种异步的
多指令流多数据流,因为它的程序有多个进程,它们分布在各个微处理器上,每个进程有自己独立的地址空间,进程之间以消息传递进行相互通信。
简介
大规模
并行处理技术已成为超级计算机应用中的一项前沿研究。大规模并行处理机系统是具有儿百或几千台处理机,通过某种
拓扑结构(互连网络)互相连接而成的,每个结点机通过互连网络与其它结点机相连并相互通讯。它具有计算能力强、规模庞大、结构复杂等特点,主要用于大型科学工程计算和大规模数据处理。MPP系统一般采用分布存储结构。用消息传递方式来协调各并行处理结点之间的工作。
程序设计方法
数据并行法
数据并行实际上就是采用数据分布的方法来实现并行处理。其具体方法是将一个串行程序的数据分成若干份,加载到各个处理结点分别处理。这种方法的优点是:可以充分利用现有的软件,采用熟悉的串行程序设计方一法编写和调试程序。使用这种方法要注意以下几个问题。首先,要尽可能地充分利用资源,以提高并行度。在进行数据块划分时,要尽量给每一个处理结点分配一块处理数据。其次,对于MPP系统来讲,处理结点数量很大,要尽量减少结点间的通信。最后,要使MPP系统中各处理结点的任务均衡,即负载均衡问题。
功能并行法
这种方法是因每个处理结点执行不同的程序,实现不同的功能在而得名。这种并行程序的设计就是把整个功能用若干个程序来实现,而把每个程序落实到不同的处理结点去执行。我们可以根据功能按传统方法设计成串行程序,然后再把它划分成若干个子程序。当然,如果有现成的串行程序,
并行程序设计就只是程序分解问题。程序分解应当根据数据流图划分,以使联系密切的问题划分在一个子程序来解决,而子程序与子程序之间的联系越少越好,这样,可以大大减少处理结点之间的通信,减少通信时延。可以看出,这种并行程序的设计关键在子程序的划分。若考虑减少通信时延,就照顾不了负载的均衡;若考虑负载均衡,就得以增加处理结点间的通信时延为代价。在这种并行程序中,处理结点之间的联系可采取两种办法。一种办法是采用数据驱动的方式,当某处理结点所需要的数据全部接收到以后,该处理结点即可启动,执行其子程序。另一种办法是采取客户杉网及务器模式。即把若干个处理结点看作一个个的服务器,分别执行不同的子功能,而把某控制结点看作是客户机,由它来按照整个问题的求解需求,有次序的去请求不同的服务器为其服务,以实现整个问题的解决。
多指令流多数据流与分布式存储器模型
MIMD是用于实现并行性的技术。MIMD计算机具有多个异步和独立工作的处理器。在任何时钟周期内,不同的处理器可以在不同的数据片段上执行不同的指令,也即是同时执行多个指令流,而这些指令流分别对不同数据流进行操作。MIMD架构可以用于诸如计算机辅助设计、计算机辅助制造、仿真、建模、通信交换机的多个应用领域。 MIMD机器可以是
共享存储器或分布式存储器类别。共享存储器机器包括UMA、NUMA、COMA等。分布式存储器机器包括NORAM等。MIMD是使用多个控制器来异步地控制多个处理器,能实现作业、任务、指令、数组各级全面并行的多机系统。多处理机属于MIMD。当前的高性能服务器与超级计算机大多具有多个处理机,能进行多任务处理,称
多处理机系统。
并行计算机系统绝大部分为MIMD系统,包括并行向量处理机(PVP,Parallel Vector Processor),对称对多处理机(SMP,Symmetrical Multi Processor),规模并行处理机(MPP,Massively Parallel Processor),工作站机群(COW,Cluster Of Workstations),分布式共享存储系统(DSM,Distributed shared Memory)。
分布式存储器模型
在分布式存储器中,每个处理器具有其自己的单独存储器地址。对于要共享的数据,它必须作为消息从一个处理器传递到另一个处理器。例如NORMA就属于分布式存储器。
在一个分布存储的多处理机系统中,如果所有的存储 器都是私有的,仅能由本地处理器访问,就称为非远程储访问(NO-Remote Memory Access,NORMA)。
NORMA模型的特点:
① 每个结点都是由处理器( P)、本地存储 器( M)和(或) I/O 设备组成的自治计算机。多个结点由基于消息传递的互连网络互连。
② 所有的存储器都是私有的。
③ 绝大多数 NORMA 都不支持远程存储器的