第六章 向量处理机

6.3.提高向量处理机性能的方法

6.3.1向量处理机系统结构的设计目标

  研制高性能向量处理机要解决以下几个主要问题:
  1.较好地维持向量/标量性能平衡
  向量处理机除具有处理向量功能外还需要具有处理标量的功能,但处理这两类计算必须平衡。
  向量平衡点(vector balance point)定义为为了使向量硬件设备和标量硬件设备的利用率相等,一个程序中向量代码所占的百分比。换句话说,我们希望花在向量硬件和标量硬件上的时间相等。这样,资源就不会空闲。
  如果系统在向量模式下能够达到9Mfolps、在标量模式下能够达到1Mfolps的运算速度,假设代码的90%是向量运算,10%是标量运算,这样花在两种模式上的计算时间相等,那么向量平衡点为0.9。
  一个系统执行向量运算和标量运算的时间相等并不一定算是最好。但是应该保持足够高的向量平衡点,以便与用户程序的向量化程度相匹配。
  每台处理机重复设置流水线功能部件可以提高向量运算性能。另一种方法是向量部件采用超流水线技术,其时钟频率是标量流水线操作的两倍或三倍。
  要真正获得所期望的性能则需要较长的向量。可以设想到2000年能做出一种处理机同时运行多个功能部件、峰值速度达到8Gfolps.。
  图6.11a和6.11b是在Cray超级计算机和日本超级计算机上运行livermore Fortran循环时,单处理机的向量运算性能和标量运算性能。所有超级计算机的标量性能沿着图中的虚线上升。
  日本超级计算机的向量性能显然优于Cray公司的机器。其原因之一是采用了高时钟频率,其它原因还有用了更好的编译器及优化支持。
表6.1对7种超级计算机的向量和标量性能做了比较。大多数超级计算机的向量平衡点在90%或更高。向量/标量的比例越高,对目标代码向量化比例的依赖也越大。

表6.1各种超级计算机向量和标量的性能

机器型号
Cray
IS
Cray
2S
Cray
X-MP
Cray
Y-MP
hitachi
S820
NEC
SX2
Fujitsu
VP4000
向量性能(Mflops)
85.0
151.5
143.3
201.6
737.3
424.2
207.1
标量性能(Mflops)
9.8
11.2
13.1
17.0
17.8
9.5
6.6
向量平衡点
0.90
0.93
0.92
0.92
0.98
0.98
0.97

  IBM向量机的设计思想与上述方法不同,它维持较低的向量/标量比例,定在3-5的范围之间。这是综合考虑了通用应用问题对标量和向量处理要求的结果。