为什么要并行计算?

一、相关背景

a.从1986年到2002年,微处理器的性能以平均50%的速度不断提升。但从2002年开始,单处理器的性能提升速度下降到每年大约20%,这个差距是巨大的。所以,从2005年起,大部分主流的CPU制造商决定通过并行处理来快速提升微处理器的性能。

b.单处理器性能大幅度提升的主要原因之一是日益增加的集成电路晶体管密度。随着晶体管尺寸减小,传递速度增快,集成电路整体的速度也加快,它们的能耗也相应增加,而在21世纪的前10年中,用空气冷却的集成电路的散热能力已经达到极限了,所以,集成电脑制造商的决策是:与其构建更快、更复杂的单处理器,不如在芯片上放置多个相对简单的处理器,这样的有多个处理器的集成电脑称之为多核处理器。

c.通常我们传统单核处理器上编写的程序无法利用多核处理器,我们需要使得程序充分利用处理器更快的运行程序,更加及时与逼真的模拟现实世界。为了达到这一目的,就需要软件开发工程师将串行程序改写为并行程序。

二、为什么需要不断提升的性能?

过去的几十年,借助不断提升的计算能力,人类在许多领域(如:人类基因解码、医疗成像、人工智能、虚拟现实等)发展的非常迅速。但随着人类在科学步伐的前进,这里领域的许多应用在计算能力上的要求也越来越高,解决问题的规模也在不断的增加,如下就是一些例子:

  • 气候模拟:为了更好地理解气候变化,我们需要更加精确的计算模型,这种模型必须包括大气、海洋、陆地以及冰川之间的相互关系。我们需要对各种因素如何影响全球气候做详细研究。
  • 蛋白质折叠:人们相信错误折叠的蛋白质与亨廷顿病、帕金森病、老年痴呆症等疾病有千丝万缕的联系,但现有的计算性能严重限制了研究复杂分子(如蛋白质)结构的能力。
  • 药物发现:不断提高的计算能力可以从不同方面促进新的医学研究。例如,有许多药物只是对一小部分患者有效。我们可以通过仔细研究疗效欠佳患者的基因来找到替代的药物,但这需要大规模的基因组计算和分析。
  • 能源研究:不断提高的计算能力可以为某些技术(如风力涡轮机、太阳能电池和蓄电池)构建更详细的模型。这些模型能够为建立更高效清洁的能源提供信息。
  • 数据分析。

三、怎样编写并行程序?

  • 对于这个问题,有多种可能的解决方案。大部分方案的基本思想都是将要完成的任务分配给各个核。
  • 有两种广泛采用的方法:任务并行和数据并行。
  • 任务并行是将待解决问题所需要执行的各个任务分配到各个核上执行。
  • 数据并行是指将所需要处理的数据分配给各个核,每个核在分配到的数据集上执行大致相似的操作。

并行硬件:

  • 根据Flynn(费林)分类法,即基于指令和数据流方式,可以将并行计算机划分为:SISD、MISD、SIMD和MIMD四种。
  • SISD系统即是我们典型的冯诺依曼系统,它是一次执行一条指令,一次存取一个数据项。而其它三个才是真正的并行计算系统。
  • SIMD系统通过对多个数据执行相同的指令,从而实现在多个数据流上的操作,因此,该系统非常适合处理大型数组的简单循环。
  • 在并行计算中,一般将MIMD作为主要研究对象。其中MIMD系统主要有两种类型:共享内存系统和分布式内存系统。
    并行计算机分类

并行软件:

我们编写并行计算程序的主要目的当然是为了提供它们的性能,那么我们应该如何去评价一个并行计算程序的性能呢?
答案是:加速比与效率。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值