• OpenMPI 学习笔记(一)并行计算机和分布式计算


    一、并行计算机和分布式计算

    1. 共享内存

    一个计算机;其所有进程共享一个内存。

    利:简单,并行(比如OpenMP)

    弊:进程数量及内存受限,无法扩展。

    2. 分布内存

    多台计算机经由网络相连。

    每个节点的进程无法访问其他节点的内存。

    利:易于扩展,加节点。

    弊:需要将内存从一个节点转移到另一个节点;如果彼此输出的数据量大时,代价高;网络的代价超过复制内存的代价。

    Note:

    一个进程的不同线程可以访问同一个内存;

    不同的进程永远不能访问同一个内存(即使是同一台主机上的不同进程);

    因此我们也可以在同一台主机上的不同进程之间进行分布式计算。

    典型的Cluster:

    Ada

    Turing

    MPI: Message Passing Interface

    定义进程之间交流规则,有多种语言可用:C, C++ (弃用的 MPI-3), Fortran,Java, Python. . .也可以。提供了一组用于通信和数据交换的功能。

    使用MPI的代码的原理:

    1. 多个进程并行启动。
    2. 每个进程运行该程序。
    3. 该程序描述了每个过程的作用。
    4. 关注过程的同步以及它们之间的数据交换。

    MPI消息由以下部分组成:

    1. 沟通器(本质上是一组过程)
    2. 发送者的标识符,
    3. 传输的数据类型,
    4. 它的长度,
    5. 数据本身,
    6. 接收者的标识符。

    MPI应用领域:天气预报,加密技术,核爆炸建模,天体物理学,粒子动力学(交互作用计算),模式匹配(DNA比较,图像处理)。

    可用资源:

    开源实现

    MPICH2 : http://www.mpich.org

    OpenMPI : http://www.open-mpi.org

    资料

    http://www.open- mpi.org/doc/v1.10/ http://www.mpi- forum.org/docs/

    机器

        http://top500.org/
        http://green500.org/
    

    资源

        http://www.idris.fr/data/cours/parallel/mpi/IDRISMPI.pdf

     

  • 相关阅读:
    oracle_jdbc_insert_into
    MySQL 性能比较测试:MySQL 5.6 GA -vs- MySQL 5.5
    centos去下载mysql应该怎么选择linux版本
    centos_radhat升级系统
    phpmyadmin 配置方法
    js 判断js函数,变量是否存在
    mysqlbinlog- 处理二进制日志文件的实用工具 学习笔记
    linux基本命令
    4 MySQL程序概述(包含mysql配置文件配置原理)-学习笔记
    Python学习笔记4 高级特性_20170618
  • 原文地址:https://www.cnblogs.com/yanwenliqjl/p/8824326.html
Copyright © 2020-2023  润新知