高性能计算(HPC) 指通常使用很多处理器(作为单个机器的一部分)或者某一集群中组织的几台计算机(作为单个计 算资源操作)的计算系统和环境。有许多类型的HPC 系统,其范围从标准计算机的大型集群,到高度专用的硬件。大多数基于集群的HPC系统使用高性能网络互连,比如那些来自 InfiniBand 或 Myrinet 的网络互连。基本的网络拓扑和组织可以使用一个简单的总线拓扑,在性能很高的环境中,网状网络系统在主机之间提供较短的潜伏期,所以可改善总体网络性能和传输速率。
在网状网络拓扑中,该结构支持通过缩短网络节点之间的物理和逻辑距离来加快跨主机的通信。尽管网络拓扑、硬件和处理硬件在HPC 系统中很重要,但是使系统如此有效的核心功能是由操作系统和应用软件提供的。
HPC 系统使用的是专门的操作系统,这些操作系统被设计为看起来像是单个计算资源。其中有一个控制节点,该节点形成了HPC 系统和客户机之间的接口。该控制节点还管理着计算节点的工作分配。
对于典型 HPC 环境中的任务执行,有两个模型:单指令/多数据 (SIMD) 和多指令/多数据 (MIMD)。SIMD在跨多个处理器的同时执行相同的计算指令和操作,但对于不同数据范围,它允许系统同时使用许多变量计算相同的表达式。MIMD允许HPC系统在同一时间使用不同的变量执行不同的计算,使整个系统看起来并不只是一个没有任何特点的计算资源(尽管它功能强大),可以同时执行许多计算。
不管是使用 SIMD 还是 MIMD,典型 HPC 的基本原理仍然是相同的:整个HPC 单元的操作和行为像是单个计算资源,它将实际请求的加载展开到各个节点。HPC 解决方案也是专用的单元,被专门设计和部署为能够充当(并且只充当)大型计算资源。
比较传统网格与高性能计算
网格计算概述
网格对于高性能计算系统而言是相对较新的新增内容,它有自己的历史,并在不同的环境中有它自己的应用。网格计算系统的关键元素是网格中的各个节点,它们不是专门的专用组件。在网格中,各种系统常常基于标准机器或操作系统,而不是基于大多数并行计算解决方案中使用的严格受控制的环境。位于这种标准环境顶部的是应用软件,它们支持网格功能。
网格可能由一系列同样的专用硬件、多种具有相同基础架构的机器或者由多个平台和环境组成的完全异构的环境组成。专用计算资源在网格中并不是必需的。许多网格是通过重用现有基础设施组件产生新的统一计算资源来创建的。
不需要任何特别的要求就可以扩展网格,使进一步地使用节点变得比在典型HPC环境中还要轻松。有了HPC解决方案,就可以设计和部署基于固定节点数的系统。扩展该结构需要小心规划。而扩展网格则不用考虑那么多,节点数会根据您的需要或根据可用资源动态地增加和减少。
作为执行模型和环境,网格还被设计成在操作和执行方面更具灵活性。尽管可以使用网格解决诸如HPC解决方案之类的计算任务,但网格可以更灵活,可以使用各种节点执行不同的计算、表达式和操作。网格并不只是一种没有任何特点的计算资源,可将它分布到各种节点中使用,并且一直运行到作业和操作都已完成。这使得网格在不同计算和组件的执行顺序对于剩余任务的连续执行不那么重要的地方变得更加实用。
利用这种可变长度灵活性和较孤立任务的网格解决方案的一个好例子是计算机合成电影和特技效果中的表演。在这里,生成的顺序并不重要。单帧或更大的多秒的片段可以彼此单独呈现。尽管最终目标是让电影以正确的顺序播放,但最后五分钟是否在最初的五分钟之前完成是无关紧要的;稍后可以用正确的顺序将它们衔接在一起。
网格与传统HPC解决方案之间的其他主要不同是:HPC解决方案设计用于提供特定资源解决方案,比如强大的计算能力以及在内存中保存大量数据以便处理它们的能力。另一方面,网格是一种分布式计算资源,这意味着网格可以根据需要共享任何组件,包括内存、CPU电源,甚至是磁盘空间。
因为这两个系统之间存在这些不同,因此开发出了简化该过程的不同编程模型和开发模型。
特别声明:本站注明稿件来源为其他媒体的文/图等稿件均为转载稿,本站转载出于非商业性的教育和科研之目的,并不意味着赞同其观点或证实其内容的真实性。如转载稿涉及版权等问题,请作者在两周内速来电或来函联系。