计算机体系结构(国防科大)-第七章-多处理机

计算机体系结构(国防科大)-第七章-多处理机

  • 1 共享存储器体系结构
    • 1.1 并行计算
    • 1.2 多处理机Cache一致性
  • 2 互联网络
    • 2.1 互联网络的性能参数
    • 2.2 静态连接网络
    • 2.3 动态连接网络
  • 3 同步和同时多线程
    • 3.1 用一致性实现锁
    • 3.2 同时多线程
  • 4 并行处理器的性能评测
  • 5 多处理机实例

1 共享存储器体系结构

1.1 并行计算

并行计算:指同时对多个任务或多条指令或多个数据进行处理。完成此项处理机的计算机系统称为并行计算机系统,它将多个处理机通过网络以一定的连接方式有序地组织起来。

并行计算的应用分类:

  • 计算密集型
  • 数据密集型
  • 网络密集型

并行计算体系结构的分类:

  • 单指令单数据流(SISD)
  • 单指令多数据流(SIMD)
  • 多指令单数据流(MISD)
  • 多指令多数据流(MIMD)

MIMD机器分为两类:

  • 集中式共享存储器结构,UMA(uniform access)
  • 分布式存储器结构
  • 分布式存储器优于采用集中式共享存储器结构
  • 分布式存储器结构需要搞宽带的互联。

分布式存储器结构:

  • 优点:
    • 可降低对存储器和互联网带宽要求;
    • 对局部存储器的访问延迟低。
  • 缺点:处理器之间的通信复杂,各处理器之间的延迟较大。

两种地址空间的组织方案:

  • 分布式共享存储器(DSM)或可缩放共享存储器体系结构:物理上分离的多个存储器可作为一个逻辑上共享的存储空间进行编址。
  • 多计算机:这个地址空间由多个独立的地址空间构成,它们在逻辑上也是独立的,远程处理器不能对其直接寻址

两种通信模型:

  • 共享地址空间的机器:利用load和store指令中的地址隐含地进行数据通信。
  • 多个地址空间的机器:通过处理器间显式地传递消息完成(消息传递机器,根据简单的网络协议,通过传递消息来请求某些服务或传输数据,从而完成通信)。

衡量通信机制的性能:

  • 通信带宽
  • 通信延迟:通信延迟 = 发送开销+跨越时间+传输延迟+接收开销。
  • 通讯延迟的隐藏:将通信和计算或多次通信之间重叠,以实现通讯延迟的隐藏。

共享存储器通信主要有以下优点:

  • 与常用的对称式多处理机使用的通信机制兼容。
  • 当处理器通信方式复杂或程序执行动态变化时易于编程,同时在简化编译器设计方面也占有优势。
  • 当通信数据较小时,通信开销较低,带宽利用较好。
  • 通过硬件控制的Cache减少了远程通信的频度,减少了通信延迟以及对共享数据的访问冲突。

消息传递通信机制的主要优点包括:

  • 硬件较简单。
  • 通信是显式的,从而引起编程者和编译程序的注意,着重处理开销大的通信。当然,可在支持上面任何一种通信机制的硬件模型 上建立所需的通信模式平台。在共享存储器上支持消息传递相对简单,因为发送一条消息可通过将一部分地址空间的内容复制到另一部分地址空间来实现。在消息传递的硬件上支持共享存储器就困难得多。

并行处理面临的挑战:

  • 程序中有限的并行性
  • 相对较高的通信开销

在并行处理中,负载平衡、同步和存储器访问延迟等影响性能的因素常依赖于高层应用特点,如应用程序中数据的分配,并行算法的结构以及数据在空间和时间上的访问模式等。

依据应用特点可把多机工作负载大致分成两类:单个程序在多处理机上的并行工作负载和多个程序在多处理机上的并行工作负载。

反映并行程序性能的一个重要的度量是计算与通信的比率。如果比值较高,就意味着应用程序中相对于每次数据通信要进行较多的计算。计算/通信比率随着处理的数据规模增大而增加,随着处理器数目的增加而降低。

1.2 多处理机Cache一致性

多个处理器共享一个存储器,当处理器规模较小时,这种机器十分经济。支持对共享数据和私有数据的Cache缓存。私有数据供一个单独的处理器使用,而共享数据供多个处理器使用。共享数据进入Cache产生了一个新的问题:Cache的一致性问题的一致性问题。

不一致产生的原因:

  • I/O操作:Cache中的内容可能与由I/O子系统输入输出形成的存储器对应部分的内容不同。
  • 共享数据:不同处理器的Cache都保存有对应存储器单元的内容。

实现一致性的基本方案:

  • 共享数据的迁移
  • 共享数据的复制

Cache一致性协议

  • 关键:跟踪共享数据块的状态;
  • 共享数据状态跟踪技术:
    • 目录:物理存储器中共享数据块的状态及相关信息均被保存在目录中。
    • 监听:Cache中保存着各个块的共享状态信息,Cache控制器通过监听总线来判断它们是否有总线上请求数据块。
  • 协议:
    • 写作废协议:在一个处理器写某个数据项之前保证它对该数据项有唯一的访问权。
    • 写更新协议:当一个处理器写某数据项时,通过广播使其他Cache中所有对应的数据项拷贝进行更新。
    • 写作废与写更新差别:
      • 对同一数据的多个写而中间无读操作的情况,写更新协议需进行多次写广播操作,而在写作废协议下只需一次作废操作。
      • 对同一块中多个字进行写,写更新协议对每个字的写均要进行一次广播,而在写作废协议下仅在对本块第一次写时进行作废操作。
      • 从一个处理器写到另一个处理器读之间的延迟通常在写更新模式中较低。而在写作废协议中,需要读一个新的拷贝 。
      • 在基于总线的多处理机中,写作废协议成为绝大多数系统设计的选择
  • 监听协议及其实现:
    • 小规模多处理机中实现写作废协议的关键利用总线进行作废操作,每个块的有效位使作废机制的实现较为容易。
    • 写直达Cache,因为所有写的数据同时被写回主存,则从主存中总可以取到最新的数据值。
    • 对于写回Cache,得到数据的最新值会困难一些,因为最新值可能在某个Cache中,也可能在主存中。
    • 在写回Cache条件下的实现技术
      • 用Cache中块的标志位实现监听过程。
      • 给每个Cache块加一个特殊的状态位说明它是否为共享。
      • 因为每次总线任务均要检查Cache的地址位,这可能与CPU对Cache的访问冲突。可通过下列两种技术之一降低冲突:复制标志位、采用多级包含Cache。
  • 基于目录的Cache一致性
    • 存储器分布于各结点中,所有的结点通过网络互连。访问可以是本地的,也可是远程的。
    • 不支持Cache一致性:规定共享数据不进入Cache,仅私有数据才能保存在Cache中。
    • 优点:所需的硬件支持很少(因为远程访问存取量仅是一个字(或双字),而不是一个Cache块)
    • 缺点:
      • 实现透明的软件Cache一致性的编译机制能力有限。
      • 没有Cache一致性,机器就不能利用取出同一块中的多个字的,开销接近于取一个字的开销。这个优点是因为共享数据是以Cache块为单位进行管理的。当每次访问要从远程存储器取一个字时,不能有效利用共享数据的空间局部性。
      • 诸如预取等延迟隐藏技术对于多个字的存取更为有效,比如针对一个Cache块的预取。
    • 解决Cache一致性问题的关键:
      • 目录协议:目录:用一种专用的存储器所记录的数据结构,它记录着可以进入Cache的每个数据块的访问状态、该块在各个处理器的共享状态以及是否修改过等信息。
      • 对每个结点增加目录表后的分布式存储器的系统结构。

2 互联网络

概念:互连网络是将集中式系统或分布式系统中的结点连接起来所构成的网络,这些结点可能是处理器、存储模块或者其它设备,它们通过互连网络进行信息交换。在拓扑上,互连网络为输入和输出两组结点之间提供一组互连或映象(mapping)。

2.1 互联网络的性能参数

网络规模:网络可用图来表示。这种图由用有向边或无向边连接的有限个结点构成。

结点度:与结点相连接的边的数目称为结点度(node degree)。这里的边表示链路或通道。链路或通道是指网络中连接两个结点并传送数字信号的通路。在单向通道的情况下,进入结点的通道数叫做入度(in degree),而从结点出来的通道数则称为出度(out degree)结点度是这两者之和。结点度应尽可能地小并保持恒定。

网络直径:网络中任意两个结点间最短路径长度的最大值称为网络直径。网络直径应当尽可能地小。

等分宽度:在将某一网络切成相等两半的各种切法中,沿切口的最小通道边数称为通道等分宽度b (channel bisection width)

结点间的线长(或通道长度):它会影响信号的延迟、时钟扭斜和对功率的需要。对于一个网络,如果从其中的任何一个结点看,拓扑结构都是一样的话,则称此网络为对称网络。对称网络较易实现,编制程序也较容易。

路由(routing):在网络通信中对路径的选择与指定。通常见到的处理单元之间的数据路由功能有移数、循环、置换(一对一)、广播(一对全体)、选 播(多对多)、个人通信(一对多)、混洗 、交换等。

互联函数:为了反映不同互连网络的连接特性,每一种互连网络可用一组互连函数来定义。如果把互连网络的N个入端和N个出端各自用整数0,1,…,N- 1代表,则互连函数表示互连的出端号和入端号的一一对应关系。令互连函数为f,则它的作用是:对于所有的0≤j≤N-1, 同时存在入端j连至出端f(j)的对应关系。

几种数据路由功能:

  • 循环
  • 置换
  • 均匀混洗
  • 超立方体路由功能
  • 广播和选播
  • 消息传递机制
    • 存储转发:每个结点有一个包缓冲区,包先进入缓冲区,当所需要的输出通道和接收结点的包缓冲区可用时,就将它传输给下一结点。
    • 虫蚀 (wormhole)把包进一步分成小片,硬件路由器有片缓冲区,同一个包中所有片像不可分离的同伴一样,以流水方式顺序传送。只有片头包含目标地址,所有片必须跟随片头。
    • 维序按多维网络维序的特定顺序来选择后续通道。由于唯一性,可能产生死锁。
    • 虚拟自适应将一个物理通道分成几个虚拟的通道,根据后续各虚拟通道的忙闲情况自适应选择后续通道。

影响互连网络性能的因素为:

  • 功能特性——即网络如何支持路由、中断处理、 同步 、请求/消 息组 合和一 致性。
  • 网络时延——即单位消息通过网络传送时最坏情况下的时间延迟。
  • 带宽——即通过网络的最大数据传输率,用M字节/秒表示
  • 硬件复杂性——即诸如导线、开关、连接器、仲裁和接口逻辑等的造价。
  • 可扩展性——即在增加机器资源使性能可缩放的情况下,网络具备模块化可缩放的能力。

2.2 静态连接网络

静态网络: 使用直接链路,它一旦构成后就固定不变。这种网络比较适合于构造通信模式可预测或可用静态连接实现的计算机系统。

分类:

  • 线性阵列(linear array) 这是一种一维的线性网络,其中N个结点用N-1个链路连成一行。内部结点度为2,端结点度为1。直径为N-1,N较大时,直径就比较长。等分宽度b=1。线性阵列是连接最简单的拓扑结构。这种结构不对称,当N很大时,通信效率很低 。在N很小的情况下,实现线性阵列是相当经济和合理的。由于直径随N线性增大,因此当N比较大时,就不应使用这种方案了。线性阵列与总线的区别是很大的,总线是通过切换与其连接的许多结点来实现时分特性的,而线性阵列则允许不同的源结点和目的结点对并行地使用其不同的部分(通道)
  • 环和带弦环(chordal ring) 环是用一条附加链路将线性阵列的两个端点连接起来而构成的。环可以单向工作,也可以双向工作。它是对称的,结点度是常数2。双向环的直径为N/2,单向环的直径是N。如果将结点度由2提高至3或4,即可得到两种带弦环。增加的链路愈多,结点度愈高,网络直径就愈小。16个结点的环网络直径3。全连接网络(completely connected network)的结点度为15,直径为1。
  • 循环移数网络(barrel shifter) ,其结点数N=16,它是通过在环上每个结点到所有与其距离为2的整数幂的结点之间都增加一条附加链而构成的。这就是说,如果|j-i|=2r,r=0,1,2,…,n-1,网络规模N=2n,则结点i与结点j连接。这种循环移数网络的结点度为d=2n-1,直径D= n/2。循环移数网络的连接特性与结点度较低的任何带弦环相比是有了改进。对N=16的情况,循环移数网络的结点度为7,直径为2。
  • 树形和星形(tree and star) ,一棵5层31个结点的二叉树。一般说来,一棵k层完全平衡的二叉树有N=2k-1个结点。最大结点度是3,直径是2(k-1)。由于结点度是常数,因此二叉树是一种可扩展的结构,但其直径较长。星形是一种2层树,结点度较高,为d=N-1(度)。直径较小,是一常数2。胖树形1985年Leiserson提出将计算机科学中所用的一般树结构修改为胖树形(fat tree)。胖树的通道宽度从叶结点往根结点上行方向逐渐增宽,它更象真实的树,愈靠近树根的枝叉愈粗。使用传统二叉树的主要问题之一就是通向根结点的瓶颈问题,这是因为根部的交通最忙。胖树的提出使该问题得到了缓解
  • 网格形和环
    • 网形N= nk个结点的k维网络的内部结点度为2k,网络直径为k(n-1)。纯网络形不是对称的。边结点和角结点的结点度分别为3或2。n为每维上的结点数二维网格两个结点之间的路径数为K=(X+Y)!/(X!Y!),XY分别为两结点之间距离增量。对三维网格,两个结点之间的路径数为K= (X+Y+Z )!/ (X!Y!Z! ) ,XYZ分别为两结点之间距离增量。
    • 环形网可看做是直径更短的另一种网格。这种拓扑结构将环形和网格组合在一起,并能向高维扩展。环形网沿阵列每行和每列都有环形连接。一般说来,一个n×n二元环网的结点度为4,直径为2*[n/2」.环网是一种对称的拓扑结构,所有附加的回绕连接可使其直径比网格结构减少二分之一。
  • 超立方体 ,这是一种二元n-立方体结构,它已在nCUBE和CM-2等系统中得到了实现。一般说来,一个n-立方体由N=2n个结点组成,它们分布在n维上,每维有两个结点。4-立方体可通过将两个3-立方体的相应结点互连组成。一个n-立方体的结点度等于n,也就是网络的直径。实际上,结点度随维数线性地增加,所以很难设想超立方体是一种可扩展结构。k元n-立方体的结点可用基数为k的n位地址A=a0a1a2…an来表示,其中ai代表第i维结点的位置。为简单起见,所有链路都认为是双向的。网络中每条线代表两个通信通道,每个方向一个。低维k元n-立方体称为环网,而高维二元n-立方体则称为超立方体。
  • 低维网络在负载不均匀情况下运行较好,因为它们有较多的资源共享。在高维网络中,连线常分配给指定的维,各维之间不能共享。例如,在二元n-立方体中,可能有的线已达到饱和,而物理上分配给其它维的相邻的连线却都还空闲。网络直径的变化范围很大。但随着硬件路由技术的不断革新(如虫孔方式),路由已不是一个严重问题,因为任意两结点间的通信延迟在高度流水线操作下几 乎是固定不变的。链路数会影响网络价格,等分宽度将影响网络的带宽。对称性会影响可扩展性和路由效率。

2.3 动态连接网络

概念:

  • 为了达到多用或通用的目的,需要采用动态连接网络,它能根据程序要求实现所需的通信模式。它不用固定连接,而是沿着连接通路使用开关或仲裁器以提供动态连接特性。
  • 按照价格和性能增加的顺序,动态连接网络的排队次序为总线系统、多级互连网络(MIN)和交叉开关网络
  • 采用动态网络的多处理机的互连是在程序控制下实现的。定时、开关和控制是动态互连网络的三个主要操作特征。

动态网络分类:

  • 根据级间连结方式,单级网络(single-stage network)也称循环网络(recirculating network), 因为数据项在到达最后目的地之前可能在单级网络中循环多次。单级网络的成本比较低,但在建立某种连接时可能需要多次通过网络。交叉开关和多端口存储器结构都属于单级网络
  • 多级网络由一级以上的开关元件构成。这类网络可以把任一输入与任一输出相连。级间连接模式的选择取决于网络连接特性。不同级的连接模式可能相同也可能不相同,这与所设计的网络的类型有关。Omega网、Flip网和Baseline网都是多级网络。
    • 如果同时连接多个输入输出对时,可能会引起开关和通信链路使用上的冲突,这种多级网络称为阻塞网络(blocking network)。阻塞网络的实例有Omeage网(Lawrie,1975)、Baseline网(Wu和Feng,1980)、Banyan网(Goke和lipovski,1973)和Delta网(Patel,1979)。
    • 如果多级网络通过重新安排连接方式可以建立所有可能的输入输出之间的连接,则称之为非阻塞网络(nonblocking network)。这类网络中,任何输入输出对之间总可以建立连接通路。Benes网络(Benes,1965)具有这种功能。

总线系统:

  • 总线系统实际上是一组导线和插座,用于处理与总线相连的处理器、存储模块和外围设备间的数据业务。总线只用于源(主部件)和目的(从部件)之间处理业务。在多个请求情况下,总线仲裁逻辑必须每次能将总线服务分配或重新分配给一个请求。
  • 系统总线在处理机、I/O子系统、存储模块或辅助存储设备(磁盘、磁带机等)之间提供了一条公用通信通路。公用总线是在分时基础上工作的。总线研制中的重要问题有总线仲裁、中断处理、一致性协议和总线事务的处理等。

交叉开关网络:

  • 在交叉开关网络中,每个输入端通过一个交叉点开关可以无阻塞地与一个空闲输出端相连。交叉开关网络是单级网络,它由交叉点上的一元开关构成。交叉网络主要用于中小型系统。
  • 从存储器读出的数据一旦可用时,该数据通过同一交叉开关回送给请求的处理器。通常,这类交叉开关网络需要使用n×m个交叉点开关。正方形交叉开关网络(n=m)可以无阻塞地实现n!种置换。
  • 在交叉开关网络的每一行中可以同时接通多个交叉点开关,所以交叉点开关网络中n对处理器可以同时传送数据。
  • 交叉开关网络的带宽和互连特性最好。
  • 交叉开关网络每个周期可以实现n个数据传输,与每个总线周期只传一个数据相比,它的频宽最高。交叉开关网络对小型多处理机系统来说性能价格比较高。但单级交叉开关网络一旦构成后将不能扩充 。

多端口存储器:

  • 许多大型的多处理机系统都采用多端口存储器结构。其主要思想是将所有交叉点仲裁逻辑和跟每个存储器模块有关的开关功能移到存储器控制器中。
  • 由于增加了访问端口和相应的逻辑线路,存储器模块的成本就变得较为昂贵。每个存储器模块的n个输入端口与n个开关相连,一次只能接收n台处理器中的一个请求。
  • 多端口存储器结构是一个折衷方案,它介于低成本低性能的总线系统和高成本高带宽的交叉开关系统之间。总线被所有处理器和与之相连的设备模块分时地共享。多端口存储器则负责分解各台处理器的请求冲突。
  • 当m和n值很大时,这种多端口存储器结构将变得十分昂贵。典型的多处理机应用配置是四台处理机和16个存储器模块。

多级网络:

  • 多级网络可用于构造大型多处理机系统。每一级都用了多个a×b开关,相邻级开关之间都有固定的级间连接。为了在输入和输出之间建立所需的连接,可用动态设置开关的 状态来实现。
  • 各种多级网络的区别就在于所用开关模块和级间连接模式的不同。一个a×b开关模块有a个输入和b个输出。一个二元开关与a=b=2的2×2开关模块相对应。在理论上a与b不一定要相等,但实际上a和b经常选为2的整数幂,即a=b=2k,k≥1。最简单的开关模块是2×2开关。常用的级间连接模式包括混洗、交叉、立方体连接等。
  • 构成动态网络的总线、多级网络、交叉开关中,总线的造价最低,但其缺点是每台处理器可用的带宽较窄。总线所存在的另一个问题是容易产生故障。有些容错系统,如用于事务处理的Tandem多处理机等,常采用双总线以防止系统产生简单的故障。
  • 由于交叉开关的硬件复杂 性以n2上升,所以其造价最为昂贵。但是,交叉开关的带宽和路由性能最好。如果网络的规模较小,它是一种理想的选择。
  • 多级网络则是两个极端之间的折衷。它的主要优点在于采用模块结构,因而可扩展性较好。然而,其时延随网络的级数而上升。另外,由于增加了连线和开关复杂性,价格也是一种限制因素。

3 同步和同时多线程

基本硬件原语:

  • 原子交换(Atomic Exchange)它的功能是将一个存储单元的值和一个寄存器的值进行交换。
  • 测试并置(test_an d_set)先测试一个值,如果符合条件则修改其值。
  • 读取并加1 (fetch_and_increment)返回存储单元的值并自动增加该值 。
  • 指令对LL&SC从第二条指令的返回值可以判断该指令对的执行是否成功。

3.1 用一致性实现锁

采用多处理机的一致性机制来实现旋转锁(Spin-locks)。旋转锁是指处理器环绕一个锁不停地旋转而请求获得该锁。当锁的占用时间很少以及加锁过程延迟很低时可采用旋转锁。

        DADDUI R2,R0, #1
lockit:EXCH  R2 ,0( R1);原子交换
        BNEZ R2,lockit;是否已 加锁?

两点好处:

  • 可使环绕的进程对本地Cache块进行操作;
  • 可利用锁访问的局部性。

本地Cache旋转锁的代码 :

lockit:LD R2,0( R1);取锁值
        BNEZ R2,lockit;锁不可用
        DADDUI R2,R0, #1;存入锁值
        EXCH R2,0( R1);交换
        BNEZ R2,lockit;如果锁不为0转移

3.2 同时多线程

将线程级并行转换为指令级并行:

  • 同时多线程技术是一种在多流出、动态调度处理器上开发线程级并行和指令级并行的改进的多线程技术;
  • 同时多线程使多个线程以重叠的方式共享单个处理器的功能单元。为实现这种共享,处理器必须保存各个线程的独立状态。例如,需要复制每个线程的独立的寄存器文件,独立的程序计数器(PC),以及独立的页表等等。对于线程访问的存储器,可以通过支持多道程序技术的虚拟存储机制来实现共享。另外,硬件必须能够较快地完成线程间的切换。
  • 同时多线程(SMT)开发的基础是使用动态调度技术的处理器已经具有了开发线程级并行所需的硬件设置。具体来说,动态调度超标量处理器有大量的虚拟寄存器组,可以用来保存每个独立线程的寄存器状态(假设每个线程都有一个独立的重命名表)。
  • 由于寄存器重命名机制提供了唯一的寄存器标识符,多个线程的指令可以在数据路径上混合执行,而不会导致各线程间源操作数和目的操作数的混乱。这表明多线程技术可以通过在一个乱序执行的处理器上为每个线程设置重命名表、保留各自的PC值、提供多个线程的指令结果提交的能力来实现。

同时多线程处理器的设计:

  • 细粒度调度方式下对单个线程的性能的影响设置优先线程。
  • 其他主要问题
    • 设置用来保存多个上下文所需的庞大的寄存器文件;
    • 必须保持每个时钟周期的低开销,特别是在关键步骤上,如指令流出和指令完成。前者有更多的候选指令需要考虑,后者要选择提交哪些指令的结果;
    • 需要保证由于并发执行多个线程带来的Cache冲突不会导致显著的性能下降。
  • 由于同时多线程在多流出超标量处理器上开发线程级并行,所以最适合于应用到面向服务器市场的高端处理器上。

同时多线程的性能:

  • HP公司在Alpha 21464处理器上支持了同时多线程;
  • Intel Pentium 4 Xeon处理器也支持了同时多线程;
  • 超标量处理器上增添8个线程的同时获得的性能提高,单位是每拍的指令数。这里假设增添同时多线程不会导致时钟周期的开销恶化。测试程序包括多道程序执行的SPEC子集,Web服务程序Apache,数据库OLTP和决策支持DSS的测试程序。
  • 使用同时多线程所获得的吞吐率的提高很显著,达1.7到4.2倍,平均3倍。

4 并行处理器的性能评测

平均方法:

  • 存储受限评测法:保持每个处理器使用的存储器资源恒定。
  • 时间受限评测法:在理想的加速比下,保持总运行时间恒定。在处理器数量和问题规模变化的情况下系统的性能和加速比的相应变化。

5 多处理机实例

T1 Multiprocessor

  • Sun公司2005推出的服务器处理器
  • 多核多处理机致力于开发TLP而非ILP
  • 使用多核和多线程来提高吞吐率
  • 每个Ti 处理器包含8个处理器核,每个核支持4个线程
  • 每个处理器核由一个简单的六栈单发射流水线构成
  • T1 采用细粒度多线程,在每个时钟周期都进行线程切换

Origin 2000

  • 分布共享存储器结构的大规模并行多处理机系统,采用超结点的模块结构,可以从1个处理器扩展到128个处理器。
  • Origin 2000采用超标量MIPS R10000处理器,运行Unix的64位IRIX操作系统。
  • Origin基于NUMA体系结构的。每个结点可安装1个或2个MIPS R10000微处理器、第二级高速缓存(L2 Cache)、主存储器、目录存储器及Hub等,Hub用于连接微处理器、存储器、I/O和路由器等。
  • Origin存储器系统每个结点的主存储器容量为4GB。结点的Hub内含4个接口和交叉开关。存储器最大传输率为780Mb/s,I/O和路由器接口最大传输率为2×780Mb/s,即1.56G b/s。
  • 128处理器 构成的Origin 2000系统由4个立方体组成,在立方体之间传送数据多经过了一 级路由器。
  • 在结点内部实现的是SMP(对称多处理器)结构,由于只有两个处理器,所以不存在SMP结构的总线瓶颈问题。在结点之间实现的是大规模并行处理结构。

你可能感兴趣的:(硬件架构)