并行计算家庭作业帮助
并行计算是一种计算,其中许多计算或进程的执行同时执行。大问题通常可以分为较小的问题,可以同时解决。
并行计算是一种计算架构,其中几个处理器同时执行或处理应用程序或计算。并行计算有助于通过在多个处理器之间划分工作负载来执行大型计算,所有这些处理器都可以同时通过计算工作。大多数超级计算机采用并行计算原理来操作。
并行计算也称为并行处理。
并行处理通常在需要大量计算或处理能力的操作环境/场景中实现。并行计算的主要目标是增加可用的计算能力,以实现更快的应用程序处理或任务解析。通常,并行计算基础设施安装在单个设施中,许多处理器安装在服务器机架中,或者单独的服务器连接在一起。应用程序服务器发送分布在每个处理器/服务器上并发执行的小块或组件的计算或处理请求。并行计算可以分为位级,指导级,数据和任务并行。
在计算机中,并行处理是通过将程序指令分成多个处理器来处理程序指令,目的是在较短的时间内运行程序。在最早的计算机中,一次只运行一个程序。运行一小时的计算密集型程序和运行一小时的磁带复制程序将需要两个小时才能运行。并行处理的早期形式允许两个程序的交错执行在一起。计算机将启动I / O操作,并且在等待操作完成时,它将执行处理器密集型程序。这两个工作的总执行时间将会稍长一个多小时。
接下来的改进是多重程序设计。在多程序系统中,用户提交的多个程序各自被允许在短时间内使用处理器。对用户而言,似乎所有的程序都在同一时间执行。资源争夺的问题首先出现在这些系统中。对资源的明确要求导致了僵局的问题。机器上的资源竞争没有破坏性的指令导致关键的部分程序。
矢量处理是通过一次做多个事情来提高性能的另一个尝试。在这种情况下,将功能添加到机器中,以允许单个指令添加(或减少,乘法或以其他方式操纵)两个数字数组。这在某些工程应用中是有价值的,其中数据以矢量或矩阵的形式自然发生。在具有不太完善数据的应用中,矢量处理不是很有价值。
解决这些问题导致了对称多处理系统(SMP)。在SMP系统中,每个处理器同样有能力并负责管理通过系统的工作流程。最初,目标是使SMP系统看起来像程序员与单处理器,多编程系统完全相同。 (这个行为标准被称为顺序一致性)。然而,工程师发现,通过执行某些指令无序,并要求程序员处理增加的复杂性,系统性能可能会在10-20%的范围内增加。 (只有当两个或更多的程序同时读取和写入相同的操作数时,问题才能变得可见;因此处理增加的复杂性的负担仅仅是很少的程序员,然后仅在非常特殊的情况下)。机器应该在共享数据上行为尚未解决。
定义:并行计算是结合使用两个或多个处理器(内核,计算机)来解决单个问题。
程序员必须弄清楚如何将问题分解成碎片,并且必须弄清楚这些碎片是如何相互关联的。例如,下棋的并行程序可能会看到可能的第一个动作。每个不同的第一动作都可以由不同的处理器进行探索,看看游戏从那时起将如何继续。最后,这些结果必须结合起来,弄清楚哪个是最好的第一步。其实情况比较复杂,因为如果程序正在向前看几步,那么不同的启动可能会在同一个董事会的位置。为了有效率,程序必须跟踪这一点,所以如果一个处理器已经评估了这个位置,那么其他人不会浪费时间重复这个努力。这就是平行象棋系统的工作方式,包括着名的IBM Deep Blue机器,击败了Kasparov。
并行计算是否比串行计算更容易或更难?
(标准计算也被称为“串行计算”,所以你一直在做串行计算多年!)
更轻松:
大部分的宇宙本质上是平行的,许多事情同时发生。你可以一次把裤子放在一条腿上,但是有数百万人将裤子同时放在一起。许多问题都有丰富的程序员可以利用的自然并行性。有时候,当他们尝试开发一个并行程序时,人们就不得不重新考虑问题,并且改变了整个方法,以便直接利用固有的并行性。
更难:
表现不佳:表现得不好,在串行计算机上,处理器可能会将数据从RAM移动到缓存,但它基本上始终显示为忙,只有在进行了更详细的分析之后,您才能确定其实际表现不佳。 (请参阅“使用缓存保存现金”)在100个处理器的并行计算机上,大多数人很快就注意到程序运行速度不是100倍。串行程序可能不是很好(参见“为什么算法专家值得大的Bucks”),但并不总是像许多并行处理器通常是空闲的一样明显。
很少的经验:大多数程序员在并行计算中几乎没有或没有经验,并且几乎没有并行程序可以使用现成的甚至是很好的例子来复制。因此,人们经常需要重新创造平行轮(参见“并行需要群众的课程”)。开发并行系统软件的人员在学习曲线上也是类似的。通常,它们会重新使用为串行系统开发的材料,即使它引起性能问题(参见“并行世界中的串行信号”)。
可移植性差:一个程序可能在一台机器上工作,但是当该程序移植到一台新机器上时,可能会有这样的不同,因此需要进行大量的更改才能使程序运行。大多数串行计算机具有相同的基本组织,但对并行计算机而言并不是这样。一些并行计算机,如流行的集群系统,本质上只是与以太网链接在一起的计算机的集合。他们使用类似于读写的简单命令在处理器之间进行通信。 (进行此通信的最常见系统是MPI)。这种并行计算机称为消息传递系统或分布式内存计算机。集群通常是廉价的,因为它们是由商品部分构成的,并且在企业和大学中变得相当普遍。具有更好性能的分布式内存计算机在处理器之间具有更快的互连性,并且软件更好地调整以支持并行性,但是这增加了成本,因为许多部件是非标准的。
为了完成我们的在线教育辅导任务,我们的大学家庭作业帮助和在线辅导中心全天候正在站着,准备协助需要家庭作业帮助并行计算各个方面的大学生。我们的计算导师可以帮助您的所有项目,无论大小,我们挑战你在任何地方找到更好的在线并行计算辅导。