用计算机集群提高计算能力,利用分布式内存计算提高仿真效率

原标题:利用分布式内存计算提高仿真效率在“混合建模”系列的上一篇文章中,我们讨论了有关共享内存计算的基础知识:什么是共享内存、为什么使用共享内存,以及 COMSOL 软件如何在计算中利用共享内存。今天,我们将讨论混合并行计算的另一个组成分支:分布式内存计算。进程与集群共享内存计算是指将一个程序的任务分割成多个较小的、可在一个节点内并行运行的工作单元,即线程。这些线程共享了对某一部分内存的访问,故称...
摘要由CSDN通过智能技术生成

原标题:利用分布式内存计算提高仿真效率

在“混合建模”系列的上一篇文章中,我们讨论了有关共享内存计算的基础知识:什么是共享内存、为什么使用共享内存,以及 COMSOL 软件如何在计算中利用共享内存。今天,我们将讨论混合并行计算的另一个组成分支:分布式内存计算。

进程与集群

共享内存计算是指将一个程序的任务分割成多个较小的、可在一个节点内并行运行的工作单元,即线程。这些线程共享了对某一部分内存的访问,故称之为共享内存计算。与之相比,分布式内存计算 的并行过程是通过多个进程(执行多线程)来完成的;每个进程都拥有各自的内存空间,其他进程无法访问。在分布式内存 方法中,这些进程分布在多台计算机、多个处理器和/或多个内核中,共同组成了一个并行程序。

简而言之,内存不再是共享的,而是被分配给各个进程。

要理解分布式计算的设计意图,我们先来了解集群计算 这一基本概念。一台计算机的内存和计算能力是有限的。为了提升性能及增加可用的内存量,科学家开始将几台计算机连接在一起,组成了所谓的计算机集群。

拆分问题

通过计算机集群来分配物理进程,这种方法将并行问题的复杂度提升到了一个新水平。每个问题都要分割成更小的单元——不仅数据需要拆分,对应的任务也要分配给各台机器。以矩阵类的问题为例,在执行庞大的阵列运算时,阵列可以拆分成区块(可能是不连续的,也可能是重叠的),每个私有区块由一个进程专门负责。当然,每个区块上的运算和数据可以和其他区块上的运算和数据相互耦合,所以在进程之间引入通信机制成为了必要。

为了实现通信,其他进程需要的数据或信息会被收集成数据块,然后通过发送消息与其他进程交换数据。这种方法

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值