混合平行计算加快了物理模拟

2014年1月23日

二十年前,Top500列表由配备多达一千个处理单元的矢量处理超级计算机主导。后来,这些机器被群集代替,用于大规模并行计算,这很快就占据了列表,并引起了分布式计算。第一个群集每个计算节点使用了专用的单核处理器,但是很快,将其他处理器放置在需要内存共享的节点上。这些共享记忆并行机器的功能预示着对多核心处理器的偏换,该处理器需要在各种计算应用中都需要鲁棒和适当的算法。查看今天的前500列表,我们可以观察到大多数簇由大量的计算节点组成,每个插座中有多个插座,每个插座中每个多层处理器最多八个内核。与共享内存计算机并行计算的技术不同于在具有分布式内存的群集上计算的技术。这需要混合(杂交种)有效平行计算的方法。

共享和分布式内存

并行计算基本上由两个不同的经典设置组成:共享内存分布式内存。这两种方法之间存在许多结构上的差异,即使目标最终是相同的 - 通过利用并行硬件执行更快,更大的计算。((提示:来自劳伦斯·利弗莫尔国家实验室提供了并行计算的详细介绍。

每种方法的名称表示两者之间的基本差异。在共享内存的情况下,并行运行的整个程序的分布部分都共享相同的内存空间。在核心和处理器之间传递数据时,这提供了速度。但是,共享内存计算的主要缺点是共享内存节点上的计算资源受到限制。当问题大小增加或应使用更多核心以减少每个核心的计算数量时,无法添加其他资源。共享内存计算没有规模出色地。

在分布式内存计算中,内存未共享,而是在几个并行过程之间分布。这些过程必须通过发送“消息”来明确通信。结果,通信和同步会消耗额外的时间,应通过利用数据局部性和改进算法来最大程度地降低通信量。分布式内存计算的最大优势在于,它通常会缩放和其他资源(节点,因此也可以在可用时添加内核和内存)。

根据经验,当我们拥有带有很多内核的计算机时,我们应该使用共享内存,并且当我们拥有由几个计算节点组成的群集时分布内存。

混合平行计算

当查看处理器市场的发展方式时,我们可以看到清晰的趋势,即处理器不再通过增加时钟频率而获得性能,而是配备了越来越多的核心。第一个X86双核处理器是由AMD于2004年发行。在2013年下半年,英特尔释放一个带有12个核心的处理器,如果我们相信谣言,英特尔的骑士登陆技术可能会发挥作用72个核心

共享内存和分布式内存计算的图

这也意味着具有单核计算节点的簇是过时的稀有性。前500名列表中的大多数集群都具有每个插座配备八个内核的计算节点。类似的设置适用于中小型计算簇。这些广泛的配置使我们不可避免地利用共享的内存机制来同时为Intranode计算和分布式内存机制,以同时为间隙计算。其目的是最大化可伸缩性,最大程度地减少昂贵的消息开销,并以一种称为统一的方法来利用共享内存的力量混合平行计算。混合方法中共享和分布式内存机制的组合提供了一种多功能手段,以适应各种计算平台。选择合并两种并行化方法的正确方法将加快计算,提高可扩展性并允许对硬件有效利用。

混合平行计算图

comsol软件和混合平行化

默认情况下,当您在多层并行工作站或PC上启动comsol®软件时,所有可用的内核都用于通过共享内存方法并行化计算。在工作站或集群上工作时,您作为用户可以控制并行化的应用。您可以选择是否要在分布式内存模式,共享内存模式下还是在混合模式下运行它。您可以在comsol参考手册中找到有关如何执行此操作的详细说明。

ComsolMultiphysics®及其附加产品是针对计算耦合物理的定乐动体育app无法登录制的。选择最佳并行配置的方式很大程度上取决于基础物理,模型中的耦合水平,问题大小和求解器的选择。为您提供的细粒度控件使您可以找到最佳的并行配置乐动体育 出于您的问题。


评论(0)

发表评论
乐动体育app
加载...
探索comsol乐动体育赛事播报博客