群集和MPP超级计算机体系结构有什么不同?
发布于 2011-04-07 02:18:17
在集群中,每台机器在内存、磁盘等方面在很大程度上独立于其他机器。它们使用常规网络中的一些变体进行互连。集群主要存在于程序员的脑海中,以及他/她选择如何分配工作。
在大规模并行处理器中,实际上只有一台机器具有数千个紧密互连的CPU。MPP具有奇异的内存体系结构,允许与相邻处理器以极高的速度交换中间结果。
主要的变体是SIMD (单指令,多数据)和MIMD (多指令,多数据)。在SIMD系统中,每个处理器同时执行相同的指令,只是在不同的内存位上。本质上,只有一个程序计数器。在MIMD机器中,每个CPU都有自己的PC。
MPP可能很难编程,而且只适用于那些并行得令人尴尬的算法(实际上他们就是这么叫的)。然而,如果你有这样的问题,那么MPP可以令人震惊地快。它们也非常昂贵。
发布于 2014-02-18 19:16:11
top500列表在MPP和集群之间使用了略微不同的区别,如Dongarra et al.论文中所述:
群集是包括独立节点的集成集合的并行计算机系统,其中每个节点都是独立的系统,能够独立操作,并且源自为其他独立目的而开发和销售的产品
与集群相比,现代的MPP (如IBM Blue Gene)更紧密地集成在一起:单个节点不能独立运行,它们通过自定义网络(如多维圆环)连接。但是,与集群类似,没有跨越所有节点的单一共享内存(注意: MPP可能是分层的,共享内存可能在单个节点(NUMA)内使用,也可能在少数节点之间使用)。
因此,我在使用术语SIMD和MIMD时要格外小心,因为它们通常描述共享内存体系结构(SMP)。
更新:
Dongarra et al.链接
更新: MPP可以有在内部使用共享内存的节点;但整个MPP内存不是共享的。
发布于 2011-04-07 02:14:39
集群是一堆机器,通常是以太网互连(读作: network),每台机器都运行自己独立的操作系统副本,这些操作系统恰好服务于单一目的。
一台MPP超级计算机通常意味着一个更快的、非常快的互连(例如,SGI ),它支持分布式共享内存(在不同的MPP节点上运行进程,这些节点通过快速互连使用共享内存来共享数据,就像它们运行在一台计算机上一样),甚至支持单个系统映像(一个操作系统的单个实例,主要是NUMALink,同时在所有节点上运行,就像在一台机器上一样-例如,任何节点上的"ps aux“都会显示在MPP上运行的所有进程)。
正如你所看到的,它的定义非常不稳定,这更多的是一个规模问题,而不是明显的差异。
https://stackoverflow.com/questions/5570936
复制相似问题