并行计算概述

转载 2012年03月28日 15:54:15

并行计算概述

这篇日志介绍并行计算的极为基础的一部分,为那些准备接触熟悉并行计算的人准备。 其中的描述和理解,大部分是根据我个人非常有限的经验和研究。 所以,可能存在失误。欢迎所有的意见和更正。

  • 什么是传统的串行计算?
    通常,串行计算程序是运行在具有一个核心(或CPU)的单机上。 这种程序被编译和解释成一串独立的命令指示,然后被挨个执行。 换句话说,任何时候只有一个线程在执行。

  • 什么是并行计算?
    相对应的,并行计算程序运行在一个多核心(或CPU)的计算机、或者由多台计算机组成的网络上。 这种程序被编译成多个部分,每个部分又进一步转化为一系列指令。 不同部分的指令可以同时执行。 换句话说,在同一时间可以有多个线程在执行。

  • 并行计算为什么有用?
    显然,并行计算可以节省时间。 并行计算也增加了资源的利用率。 另外重要的一点是,并行计算可以帮助解决不能在一台计算机上通过串行计算来解决的问题,尤其当受到速度或内存的限制时。
  • 并行计算有多少种模式?
    据我所知,依据内存是如何利用的分为三种模式:
    1.共享内存:
    在这种模式下,所有的线程独立运作,但共享相同的内存资源。 例如,在一个多核心电脑上不同的线程共享内存里的矩阵、参数,等等。这种模式在今天通常称为Symmetric Multiprocessor (SMP)。 这种模式下典型的并行计算程序可以使用OpenMP实现(一个API的多平台共享存储并行编程)。(下面图中的不同的CPU也可以表示不同的线程。)

    2.分布式内存:
    在这种模式下,线程(或处理器)都有自己的本地内存。 例如,内存可能会分布在整个网络,但是单个计算机上的每个线程只能用本地分配给它的内存。 甚至在同一台计算机上的不同线程都有独立的内存位置。 在这种模式下不同的线程通常需要与其他线程沟通以获取和发送数据。 在这种模式下典型的并行计算程序可以通过MPI(消息传递接口)实现。

    3.混合分布式内存:
    在这种模式下,共享存储的单元通常是一个SMP节点。 在给定的SMP处理器上内存是通用共享的。 程序所需的总内存分布在多个SMP构成的网络上。 每个SMP只知道自己的内存- 而不包括其他的SMP内存。 因此,一个SMP和另一个SMP的网络通信是必须的。 这种模式下典型的并行计算程序可以通过同时使用OpenMP和MPI来实现。

并行计算概述 (Introduction to Parallel Computing)

http://hc.csdn.net/resources/resource_detail?id=67 摘要:在计算机术语中,并行性是指:把一个复杂问题,分解成多个能同时处理的子问题的能力。要...
  • jaccen
  • jaccen
  • 2016年05月10日 22:24
  • 540

并行计算概述

转自瀚海星尘 并行计算概述 Posted in 并行计算 on 四月 17th, 2010 这篇日志介绍并行计算的极为基础的一部分,为那些准备接触熟悉并行计算的人准...
  • qin0701
  • qin0701
  • 2012年03月28日 15:54
  • 403

MPI学习笔记之并行程序概述

在学习CUDA和CAFFE后,我又准备把MPI看一下,主要是了解一下。主要是对并行计算的强烈性趣。。。。。额,兴趣。 一、前言 1、实现方式: 并行程序的两种实现方式: 任务并行:将任务分配带...
  • sinat_22336563
  • sinat_22336563
  • 2017年04月06日 22:03
  • 311

并行计算简介和多核CPU编程Demo

并行计算简介和多核CPU编程DemoHouSisong@GMail.com  2007.01.16tag:多线程,并行计算,OpenMP,多核编程,工作线程池( 2008.01.19 更新  鉴于读者...
  • housisong
  • housisong
  • 2007年01月17日 00:54
  • 17836

并行计算(1):概述

并行计算(Parallel Computing)是指同时使用多台计算机协同合作解决计算问题的过程,其主要目的是快速解决大型且复杂的计算问题。  图1:计算原理 并行计算是相对于串行...
  • zhaoxiatengkong_1
  • zhaoxiatengkong_1
  • 2013年05月18日 21:37
  • 879

深度学习及并行化实现概述

深度学习及并行化实现概述摘要: 深度学习可以完成需要高度抽象特征的人工智能任务,如语音识别、图像识别和检索、自然语言理解等。深层模型是包含多个隐藏层的人工神经网络,多层非线性结构使其具备强大的特征表达...
  • vbskj
  • vbskj
  • 2018年02月08日 21:25
  • 42

并行计算

并行计算 求助编辑百科名片 并行计算或称平行计算是相对于串行计算来说的。所谓并行计算可分为时间上的并行和空间上的并行。 时间上的并行就是指流水线技术,而空间上的并行则是指用多个处理...
  • junecauzhang
  • junecauzhang
  • 2012年04月15日 09:23
  • 1517

为什么要并行计算?

本文主要介绍了并行的相关背景以及为什么需要并行,并从并行程序的设计方面介绍了并行硬件和并行软件,最后介绍了两种主要的并行系统:基于共享内存的并行和基于分布式内存的并行,顺便谈了谈我个人的理解。...
  • secyb
  • secyb
  • 2017年11月28日 21:08
  • 264

并行计算是非常值得挖掘的

在工作和学习中,我接触到不少研究人工智能相关的人,但是很少有人了解并行计算,而且几乎没有人对并行计算技术愿意付出精力来了解,即使他们的工作是以工程应用为目的的。我觉得这种状况很可悲,因为很多技术在少数...
  • bendanban
  • bendanban
  • 2015年12月28日 17:12
  • 2536

TWTCAD并行计算程序说明

TWTCAD并行计算程序说明 程序中的并行计算部分主要采用.NET中的Remoting技术,整体的计算代码被拆分为可并行计算的部分代码,这些部分代码被封装在不同的对象中,而这些对象可以通过Remoti...
  • swnuwangyun
  • swnuwangyun
  • 2004年12月15日 11:07
  • 976
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:并行计算概述
举报原因:
原因补充:

(最多只允许输入30个字)