处理器一致性(Processor consistency)是指在一个处理器上完成的所有写操作,将会被以它实际发生的顺序通知给所有其它的处理器;但是在不同处理器上完成的写操作也许会被其它处理器以不同于实际执行的顺序所看到。这反映了网络中不同节点的延迟可能是不相同的。对于双处理器,处理器一致性与顺序一致性是等价的。
定义处理器一致性(Processor consistency)是一种内存一致性模型,指在多处理机中,多个处理器同时进行写操作执行结果和单个处理器写操作结果相同,即任何一次执行结果都相同,就像所有处理器的操作按照某个顺序执行,各个微处理器的操作按照其程序指定的顺序进行。换句话说,所有的处理器以相同的顺序看到所有的修改。读操作未必能及时得到此前其他处理器对同一数据的写更新。但是各处理器读到的该数据的不同值的顺序是一致的。处理器一致性一般发生并行处理和并行计算中。
内存一致性模型一致性模型本质上是软件与存储器之间的协约问题1。如果软件遵守约定的规则,存储器就能正常工作;反之,存储器就不能保证操作的正确性。内存一致性模型描述的是程序在执行过程中内存操作正确性的问题。内存操作包括读操作和写操作,每一操作又可以用两个时间点界定:发出(Invoke)和响应(Response)。在假定没有流水线的情况下(即单个处理器内指令的执行是按顺序执行的),设系统内共个处理器,每个处理器可发出 个内存操作(读或写),那么总共有:种可能的执行顺序。内存一致性模型描述的就是这些操作可能的执行顺序中那些是正确的。
并行处理与并行计算并行处理(Parallel Processing)是计算机系统中能同时执行两个或更多个处理的一种计算方法。并行处理可同时工作于同一程序的不同方面。并行处理的主要目的是节省大型和复杂问题的解决时间。为使用并行处理,首先需要对程序进行并行化处理,也就是说将工作各部分分配到不同处理进程(线程)中。并行处理由于存在相互关联的问题,因此不能自动实现。另外,并行也不能保证加速。从理论上讲,在 n 个并行处理的执行速度可能会是在单一处理机上执行的速度的 n 倍。
并行计算(parallel computing)一般是指许多指令得以同时进行的计算模式。在同时进行的前提下,可以将计算的过程分解成小部分,之后以并发方式来加以解决。
计算机软件可以被分成数个运算步骤来运行。为了解决某个特定问题,软件采用某个算法,以一连串指令运行来完成。传统上,这些指令都被送至单一的中央处理器,以循序方式运行完成。在这种处理方式下,单一时间中,只有单一指令被运行(processor level: 比较微处理器,CISC, 和RISC,即流水线Pipeline的概念,以及后来在Pipeline基础上以提高指令处理效率为目的的硬件及软件发展,比如branch-prediction, 比如forwarding,比如在每个运算单元前的指令堆栈,汇编程序员对programm code的顺序改写)。并行运算采用了多个运算单元,同时运行,以解决问题。相对于串行计算,并行计算可以划分成时间并行和空间并行。时间并行即流水线技术,空间并行使用多个处理器执行并发计算,当前研究的主要是空间的并行问题。以程序和算法设计人员的角度看,并行计算又可分为数据并行和任务并行。数据并行把大的任务化解成若干个相同的子任务,处理起来比任务并行简单。
空间上的并行导致两类并行机的产生,按照麦克·弗莱因(Michael Flynn)的说法分为单指令流多数据流(SIMD)和多指令流多数据流(MIMD),而常用的串行机也称为单指令流单数据流(SISD)。MIMD类的机器又可分为常见的五类:并行向量处理机(PVP)、对称多处理机(SMP)、大规模并行处理机(MPP)、工作站机群(COW)、分布式共享存储处理机(DSM)。
多处理机拥有超过一个以上的处理单元,共享同一个主内存与周边装置,它能够让多个程式同时执行。这种计算机硬件架构,就称为多处理机,它能够提供多元处理(Multiprocessing)的能力。
多处理机的体系结构由若干台独立的计算机组成,每台计算机能够独立执行自己的程序。在多处理机系统中,处理机与处理机之间通过互连网络进行连接,从而实现程序之间的数据交换和同步。多处理机属于MIMD计算机,它与属于SIMD计算机的阵列处理机相比有很大的差别,其本质差别在于并行性等级不同:多处理机要实现任务或作业一级的并行,而阵列处理机只实现指令一级的并行。
多处理机系统由多个独立的处理机组成,每个处理机都能够独立执行自己的程序。多处理机系统有多种分类方法。
按多处理机各机器之间物理连接的紧密程度与交互作用能力的强弱来分,多处理机可分为紧耦合系统和松耦合系统两大类。在紧耦合多处理机系统中,处理机间物理连接的频带较高,一般是通过总线或高速开关实现互连,可以共享主存储器,由于具有较高的信息传输率,因而可以快速并行处理作业或任务。松耦合多处理机系统由多台独立的计算机组成,一般通过通道或通信线路实现处理机间的互连,可以共享外存设备,机器之间的相互作用是以较低频带在文件或数据集一级上进行的。
按处理机的结构是否相同来分,如果每个处理机是同类型的,且完成同样的功能,称为同构型多处理机系统。如果多处理机是由多个不同类型,且担负不同功能的处理机组成,则称为异构型多处理机系统。
本词条内容贡献者为:
王沛 - 副教授、副研究员 - 中国科学院工程热物理研究所