什么是 Cray T3D?
Cray T3D 是最近设计的一款 NUMA 机器,旨在提供一个高度可扩展的并行超级计算机,可以结合共享内存和消息传递编程范例。与其他 NUMA 机器一样,共享内存分布在处理单元之间以避免内存访问瓶颈,并且没有硬件支持缓存一致性。但是,一个特殊的软件包和编程模型,称为 CRAFT,管理一致性并保证数据的完整性。
Cray T3D 硬件结构分为三个部分:
- 微体系结构
- 宏体系结构
**微体系结构**基于 Digital 的 21064 Alpha AXP 微处理器,与其他当代微处理器一样,它有三个主要缺点:
- 地址空间有限
- 几乎没有或完全没有延迟隐藏能力
- 很少或没有同步原语
Cray T3D 通过硬件支持四种同步机制。屏障硬件包括 16 个并行的逻辑与树,这些树能够对各种屏障进行流水线处理。当处理器到达屏障时,它必须将其关联的屏障位设置为 1。当所有处理器都到达屏障时,与运算满足并通过硬件清除每个参与处理器的屏障位,向它们发出继续执行的信号。
Cray T3D 提供了一组专用寄存器来实现获取和递增硬件。这些寄存器的内容在读取时会自动递增。消息传递由每个处理节点内存中预定义的队列区域支持。发送消息意味着对目标节点的队列区域进行特殊的缓存行大小写入。
提供原子交换寄存器,以单个操作交换寄存器和远程内存单元之间的数据。可以使用预取技术隐藏原子交换的延迟。
**宏体系结构**定义了如何连接和集成并行计算机的节点,而微体系结构指定了节点组织。主要设计目标之一是即使微体系结构不同,也能保持相同的宏体系结构,而微体系结构将始终围绕最先进的商用微处理器进行设计。
宏体系结构的两个要素是内存系统和互连网络。内存系统实现了一个分布式共享内存,其中多个 PE 可以精确地寻址任何其他 PE 的内存。物理地址有两个组成部分:PE 编号和 PE 内部的偏移量。
每个 PE 包括 16 或 64 MB 的本地 DRAM。访问远程内存的延迟在 1 到 2 微秒之间。数据缓存驻留在 Digital 的 21064 Alpha AXP 微处理器上,它采用直写、直接映射、读分配缓存技术。