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的范围之间。这是综合考虑了通用应用问题对标量和向量处理要求的结果。