• 【高性能并行计算】——第一课


    串行计算:

    并行计算:

    这里我们假定了要解决的问题完全可分为4个独立运行的部分,由4个processors来独立运行。实际问题中,独立性和关联性是一个“太极”关系,就涉及到划分的粒度和通讯的频率等等问题。

     

     

    计算机系统可以分为以下四类:

        单指令单数据流(SISD):一个单处理器执行一个单指令流,对保存在一个存储器中的数据进程进行操作。

        单指令多数据流(SIMD):一个机器指令控制多个处理部件步伐一致的同时执行。每个处理部件都有一个相关的数据处理空间,因此,每条指令由不同的处理器在不同 的数据集合上执行。

        多指令单数据流(MISD):一系列数据被传送到一组处理器上,每个处理器执行不同的指令序列。

        多指令多数据流(MIMD):一组处理器同时在不同的数据集上执行不同的指令序列。

    1、 什么是MPP?

    MPP (Massively Parallel Processing),即大规模并行处理,在数据库非共享集群中,每个节点都有独立的磁盘存储系统和内存系统,业务数据根据数据库模型和应用特点划分到各个节点上,每台数据节点通过专用网络或者商业通用网络互相连接,彼此协同计算,作为整体提供数据库服务。非共享数据库集群有完全的可伸缩性、高可用、高性能、优秀的性价比、资源共享等优势。

    简单来说,MPP是将任务并行的分散到多个服务器和节点上,在每个节点上计算完成后,将各自部分的结果汇总在一起得到最终的结果(与Hadoop相似)。

    2、MPP(大规模并行处理)架构 

     

                                           (MPP架构)

    3、 MPP架构特征

    ● 任务并行执行;

    ● 数据分布式存储(本地化);

    ● 分布式计算;

    ● 私有资源;

    ● 横向扩展;

    ● Shared Nothing架构

    SMP(对称多处理机):结构与MMP类似。不同的是SMP有一个统一的共享主存储空间,而MMP则是每个处理器都有自己的存储器。

     

    群集计算机系统 Cluster(computer) system 是一类特殊的分布式计算机系统。广义上说,它由若干相对独立的计算机组合起来作为一个系统使用。实际上说,它通常由同一系列的,使用同种操作系统的若干计算机通过高速总线或快速网络互连而成。这是一种专为高可用性的“关键任务”设计的系统。这类应用系统的特点是要求长期连续工作。

    总结:

      并行计算(Parallel Computing)是指同时使用多种计算资源解决计算问题的过程,是提高计算机系统计算速度和处理能力的一种有效手段。它的基本思想是用多个处理器来协同求解同一问题,即将被求解的问题分解成若干个部分,各部分均由一个独立的处理机来并行计算。并行计算系统既可以是专门设计的、含有多个处理器的超级计算机,也可以是以某种方式互连的若干台的独立计算机构成的集群。通过并行计算集群完成数据的处理,再将处理的结果返回给用户。  

      并行计算或称平行计算是相对于串行计算来说的。所谓并行计算可分为时间上的并行和空间上的并行。 时间上的并行就是指流水线技术,而空间上的并行则是指用多个处理器并发的执行计算。

      并行计算科学中主要研究的是空间上的并行问题。从程序和算法设计人员的角度来看,并行计算又可分为数据并行和任务并行。空间上的并行导致了两类并行机的产生,按照Flynn的说法分为:单指令流多数据流(SIMD)多指令流多数据流(MIMD)

      我们常用的串行机也叫做单指令流单数据流(SISD)。

      MIMD类的机器又可分为以下常见的五类:并行向量处理机(PVP)、对称多处理机(SMP)、大规模并行处理机(MPP)、工作站机群(COW)、分布式共享存储处理机(DSM)。

      目前常见的并行编程技术包括:MPI、OPENMP、OPENCL、OPENGL、CUDA。

  • 相关阅读:
    从开发者的角度分析iOS应如何省电
    微信逆向工程之远程操作Mac
    [UIApplication sharedApplication].idleTimerDisabled=YES;不自动锁屏 [UIApplication sharedApplication].idleTimerDisabled=NO;自动锁屏
    [软件逆向]实战Mac系统下的软件分析+Mac QQ和微信的防撤回
    iOS的坑:ERRORITMS-90096: "Your binary is not optimized for iPhone 5
    iOS下简单实现滑动导航条
    遇到线程阻塞,主线程死亡的问题,线程与信号量的使用
    断点续传和分块上传
    关于Instruments-Leaks工具的归纳总结
    valueForKeyPath常用用法
  • 原文地址:https://www.cnblogs.com/chihaoyuIsnotHere/p/10541953.html
Copyright © 2020-2023  润新知