第八章 并行处理机和多处理机

8.1.3 并行处理机的特点

  在第六章我们介绍了流水线向量处理机。向量处理机和SIMD计算机都能对大量数据进行向量处理,但它们之间又有很大的区别,SIMD计算机具有以下一系列特点。
  SIMD计算机与流水线向量处理机一样,特别适于高速数值计算。它是以诸如有限差分、矩阵、信号处理、线性规划等一系列计算问题为背景而发展起来的。这些问题的共同特点是循各种途径归结为数组和向量处理。与按多指令流多数据流方式工作的多处理机相比,SIMD计算机具有较固定的结构,它直接与一定的算法相联系,其效率取决于计算程序向量化的程度。它可以在这个前提下,通过改进系统结构和制定并行算法,使可能适应的计算问题类型尽量广一些、多一些。这就是说,应该把系统结构的研究和算法的研究结合起来。
  SIMD计算机利用大量处理单元对向量所包含的各个分量同时进行运算,这正是它获得很高处理速度的主要原因。与同样擅长于向量处理的流水线向量处理机相比,SIMD计算机依靠的并行措施是资源重复,而不是时间重叠;而且它的每个处理单元要担负多种处理功能,相当于流水线向量处理机的多功能流水线部件(如在TI ASC机中),其效率比多个单功能流水线部件(如在CRAY-1机中)要低一些。所以,只有在硬件价格大幅度下降,加上系统结构的不断改进,SIMD计算机才具有较好的性能价格比。但是,要论提高运算速度,SIMD计算机主要依靠增多处理单元的个数,与流水线处理机主要依靠缩短时钟周期相比,其提高速度的潜力要大得多;如果有很好的互连网络相配合,则多处理单元的功能和灵活性将会更强一些。时钟周期为160ns、包含16个处理单元的BSP SIMD计算机取得的运算速度,能够与时钟周期为12.5ns、包含12条单功能流水线的CRAY-1流水线向量处理机相当,这就是一个很好的例证。
  SIMD计算机机与流水线向量处理机的另一区别是它的互连网络,这是由多处理单元这一特点所决定的。虽然目前的SIMD计算机采用的互连网络还比较简单,但它毕竟是SIMD计算机最有特色的一个组成部分。正是它规定了处理单元的连接模式,决定了SIMD计算机能适应的算法类别,对整个系统的各项性能指标产生了重要的影响,因此它成为SIMD计算机结构的研究重点。同时,它也是多处理机的重要组成部分。
  对于以向量处理为主的SIMD计算机而言,除向量运算速度以外,整个系统的实际有效速度还在很大程度上决定于另外两个因素:一是标量运算速度;二是编译过程的开销。即使是向量运算,向量长度的影响也是不可忽视的。流水线的向量处理机处理短向量时,流水线建立和排空时间的比例加大;而在SIMD计算机中,短向量对速度的影响虽较小,但也降低了处理效率。试设想:如果某一台机器的向量处理速度极高,甚至是不受限制的,但标量处理速度只是每秒一百万次浮点运算,那么对于标量运算占10%的题目来说,总的有效速度就不过是每秒一千万次浮点运算。由此可见,提高SIMD计算机处理标量和短向量的能力是很重要的。至于编译时间,它既与系统结构,又与机器语言的水平高低有密切的关系;特别是如果要提高SIMD计算机的通用性,则建立一个具有向量化功能的高级语言编译程序是十分必要的。
  SIMD计算机还有一个重要特点,这就是,它基本上是一台向量处理专用计算机。尽管它有一个功能很强的控制部件实际上起着标量处理机的作用,但仍然必须和一台高性能单处理机配合工作,使后者担负系统的全部管理功能。从这个意义上来看,它们根据功能专用化的原则组成一个异构型多计算机系统,向量处理部件是系统的主体,而高性能单处理机可视为它的前端机,用来分担部分功能,以便充分发挥主体的向量处理效率。流水线向量处理机则有一些不同:除了CDC STAR100、和CRAY-1等巨型计算机本身被认为是完整的通用系统以外,还有AP120B、IBM3838等专用浮点数组处理机,它们接到主机上是为了执行主机的一些有关操作或子程序,以此分担主机的部分功能,从而提高主机的有效运算速度。在这样的系统中,AP102B、IBM3838等只起着后端处理机的作用,它们还不能被认为是系统的主体。