1.4.4 应用对系统结构的影响
由于技术的不断进步,使解决高性能计算机系统结构设计中出现的问题有了新的方法。例如,新技术使得高度并行成为可能,增加处理机数目可以获得高性能等。那么提高单处理机性能的研究还需要继续进行吗?我们认为不能简单地说要或不要,而是需要把各种研究方法结合起来。有一点可以肯定,我们所选择的方法几乎都与具体应用问题有关。
应用对高性能系统结构的设计影响很大,因为想从系统结构中获得最大可能的解题能力需要非常高的成本。一个系统的效率高低是关键问题,低效率是最大的浪费。如果某个应用领域的负载是确定的,那么可以设计出面向这种负载的系统结构。这种系统结构可以重点配备与特殊负载有关的功能部件,而为满足处理一般问题而设置的功能部件就不必在这种系统结构中出现。
我们的目的是要确保系统结构中所有功能部件对获得高性能都作出贡献,这样,系统的效率就提高了。如果能构造一台处理所有问题都有很高效率的通用计算机,那是再好不过的事。我们不能排斥今后会有这种可能性。然而,在今后10年里,一些特殊领域要求非常高的计算速度,需要专门为这些领域设计高效率的系统结构。这些重要的领域包括:
(1)高结构化的数值计算--气象模型、流体流动、有限元分析。
(2)非结构化的数值计算--蒙特卡洛模拟、稀疏矩阵。
(3)实时多因素问题--语音识别、图象处理、计算机视觉。
(4)大存储器容量和输入�彩涑雒芗�的问题--数据库系统、事务处理系统。
(5)图形学和设计系统--计算机辅助设计。
(6)人工智能--面向知识的系统、推理系统。
显然,数值计算领域要求系统结构中有高精度的浮点处理机,计算要求较高的应用场合可能还需要成千上百台这种处理机。图形系统需要大量的定点计算,以便对窗口和透视图提供支持。浮点运算在某些需要平滑曲线真实显示和射线跟踪计算的图形应用系统中起重要的作用。人工智能系统一般不需要很强的运算能力,但通常需要很大的存储器容量。
如果一台高性能计算机系统结构要同时满足上述各个领域的要求,那么当它处理某个具体应用时,必然会出现低效率的情况。其原因是对某个应用问题来说,系统结构的大部分功能可能没有用上。专门为某个领域设计一台专用的计算机可能会比通用的计算机更有吸引力,因为这种专用计算机的价格可能会比较低。当然这种专用机的价格还取决于是否有足够大的市场,以便把开发费用可以分摊到各台机器上去。如果只卖出少量几台,那么它的优势也就没有了。因此,即使是专用的高性能机器也应该尽可能地在它应用领域有一定的通用性。当专用的系统结构扩大了适用范围后,它的市场也就大了,但同时对硬件的利用率也降低了。系统结构设计者面对着如何在两者之间进行权衡的问题。设计的基本出发点是使专用的系统结构的高效率与通用系统结构的广泛市场成均势。
系统结构设计者必须在专用系统结构和通用系统结构两者之中找一个具有竞争价格和高性能的新的设计方案。设计的决策会随着时间的推移而变化,其原因是设计决策既和开发费用有关还和每个部件的生产费用有关,而这两项费用随着技术的不断进步变化很大。