入门级
部门级
企业级
特种服务器
其它

五大核心
Web服务器
FTP服务器
Mail服务器
域名服务器
文件共享服务器
其它
路由器应用
代理服务器
数据库

Windows阵营
Unix
Linux
你的位置: 商务应用> 服务器硬件>
计算机主要架构类型
2001-02-14 18:51:46· stone编译· YESKY硬件频道

  

  在对机器本身进行描述之前,很有必要介绍一下用于提升系统性能的一些常用机制。硬件的体系结构在很大程度上决定了一个系统可以超越单个CPU性能极限的能力,另一个硬件相关的因素是编译器产生在特定硬件平台上最能有效执行的机器代码的能力,很多时候,我们遇到的问题很难简单的归因于硬件或软件问题,下面,我们主要讨论一上硬件的架构。

  多年以来,我们一直认为Flynn分类法是划分高性能计算机的有效方法,这种分类法以控制数据流与指令流的方式为标准将计算机架构分为四类:下面我们做一下简单的描述:

  • SISD(单指令流单数据流)系统:传统的计算机只有一块CPU,因此准许一条指令流顺序执行。目前许多大型主机有一块以上的CPU,但各CPU执行的指令流互不相关,因此它们仍被看作是SISD机器,不过是很多运行在不同数据空间上的SISD的组合。很多HP,DEC和SUN的工作站属于这种类型。对它的讨论仅仅是出于结构完整的需要,下面我们将不讨论这种类型的机器。
  • SIMD(单指令流多数据流)系统:这类系统往往有大量的处理器(从1024到16384),它们按时钟节奏同时对不同的数据执行相同的指令,也即同一指令并行处理多个数据,这种类型的系统有CPP DAP Gamma II和Alenia Quadrics。
  • SIMD(单指令流多数据流)系统的一个子类是向量处理,向量处理不处理单个的数据元素而是使用特殊结构的CPU处理由同类数据构成的数组,当数据被向量单元处理时,结果可以按1、2(在特殊情况下3)个时钟周期的频率输出,这样,当微量处理量在向量工作方式下处理数据时,它们基本上也是在并行处理数据,这将比标量工作方式快好几倍,因此大多数人同意微量处理是SIMD的一个变种。Hitachi(日立)S3600是这种系统的一个实例。
  • MISD(多指令流单数据流)系统:理论上这种系统的多个指令流共同操作同一条数据流,然而到目前为止尚未发明这样的系统,这样的系统也的确难以构思设计,下面的讨论将忽略这种系统。
  • MIMD(多指令流多数据流)系统:这种系统并行的在不同数据上执行不同的指令,这种类型与上面提到的多处理器SISD系统的本质区别在于不同处理器执行的指令与数据是彼此相关的,它们实际上是在并行执行同一工作的不同部分。因此MIMD系统可以将一个主任务分解为众多子任务并行执行以缩短工作时间。事实上,MIMD系统有大量的子类型这使传统的Flynn分类法显得力不从心,四处理器的NEC SX-5与上千个处理器的SGI/Cray T3E都属于这一类型而它们的工作原因却大不相同。因此,我们不得不将之划分为若干子类以区别对待:
    • 共享内存系统:这种系统的多个CPU共享同一地址空间,这意味着数据的实际存放位置对用户而言并不重要,因为所有的CPU都使用同一内存访问地址,同享内存系统可以是SIMD或MIMD系统,使用向量处理器的系统可以看成是前者,而使用多处理器的系统可以看成是后者,我们用SM-SIMD和SM-MIMD分别标志这两 种子类型。
    • 分布式内存系统:这种情况下每个CPU有其自己独立的内存,这些CPU通过网络相连并在需要时交换各自内存的数据。与共享内存系统相比,用户必需清楚的知道数据存放的实际位置并在需要时显示的分发数据到其它地址,这种系统与可以是SIMD类型或MIDM类型,分布式内存SIMD系统的多个处理器都有自己的内存空间并按时钟频率操作它们各自的数据,分布式内存MIMD系统在CPU的连接上采用了多种多样的拓扑布局,而这样布局的细节对用户而言是透明的,这有助于编程的便捷。这两种子类我们分别用DM-SIMD和DM-MIMD标志。

    仅管共享式内存与分布式内存的划分看来已经很清楚了,但从用户的观点来看,这往往仍是不够,例如,最近Kendall Square Research系统在硬件级实现了“虚拟共享内存”的概念,这个概念也可通过软件实现,例如1993年颁的高性能Fortran(HPF)标准通过编译指示的方法将数据在可以使用的处理器间分配。因些类似采用HPF的系统对用户而言是共享内存式的,另外一些大规模并行处理系统(MPP)厂商(例如HP和SGI/Cray)采用专利虚拟共享内存技术编程模块,把物理上的分布式内存映射到一个整体的地址空间,对用户而言这样的系统拥有一个越跃全部物理内存的整体地址空间。另外,我们还要谈一下类似ccNUMA系统的系统名称,还有就是类似TreadMarks的软件包为联网的工作站提供了一个虚拟共享内存的环境。
    近向年的另一个技术趋势就是分布式处理的发展,它把DM-MIMD的概念又推进了一步,取代以往把多个处理器放在一个或几机箱内的做法,现在,人们把工作站用千兆以太网,FDDI等高速连接设备连接起来让它们同进处理同一工作。从概念上讲这与传统的DM-MIMD计算并无不同,但处理机间的通讯将比传统DM-MIMD技术成数量级的缓慢。目前有很多可以实现分布式处理的软件包例如PVM (standing for Parallel Virtual Machine)和MPI (Message Passing Interface),这种被称做消息传递模型("message passing" model )的编程技术是如此的流行以至于几乎所有的DM-MIMD系统提供商都支持PVM和MPI,出于兼容性考虑,很多SM-MIMD技术厂商也支持这种技术。另一处技术趋势是将共享内存系统集群化以获取超高的技术能力(ccNUMA系统),例如NEC SX-5和SGI/Cray SV1系统,这样可以在整个系统的单个结点上使用共享式内存编程方式而在结点之间采用消处传递(message-passing )编程方式。这些系统把数目不大(最多16块)紧密结合的RISC处理器簇构成采取对称多处理方式工作的结点,结点间则采取价格相对低廉的网络连接。


■ 相关内容