精华内容
下载资源
问答
  • 并行计算模型

    千次阅读 2019-06-21 17:09:42
    GPU也是一个多核心的处理器,但它的并行计算模型与多核的CPU有很大区別。我们有必要了解GPU的并计算模型。 对并行计算模式进行分类是了解CPU和GPU并行计算区别的有效方式。一种分类的方法是按照实现并行的层次分,...

           并行计算指的在同一时刻存在多于一个计算任务被执行。由于CPU主频提高的上限,使用多核心处理器进行并行计算早已成为主流。GPU也是一个多核心的处理器,但它的并行计算模型与多核的CPU有很大区別。我们有必要了解GPU的并计算模型。

           对并行计算模式进行分类是了解CPU和GPU并行计算区别的有效方式。一种分类的方法是按照实现并行的层次分,即底层的并行或是高层的并行。主要可以分为以下4种:

    1. 位并行(bit-level parallelism)是一种相对较老的并行方式,它通过增加处理器的字节长度来提高并行率。从4位的处理器到20世纪80年代末的32位的处理器,位并行技术在近二十 间没有再向更高的并行程度发展。目前广泛使用的32位和64位的处理器。
    2. 指令并行(instruction-level parallelism)是20世纪9 0年代中期之前关注的重点。现代CPU都 有一个多级指令流水线。举例来说,一个五级指令流水线可以是:读取、解码、执行、访问内存、写入。如果流水线中的每级都可以同时执行,流水线中的各级就可以同时进行。这样并不顺次地执行不相关的指令起到了指令并行的效果。
    3. 数据并行(data parallelism)指多个不同的数据同时被相同的指令、指令集或者算法处理。这与GPU的并行概念是相同的。当每个线程处理一个数据所需的时间相等时,数据并行处理的速度是用单线程循环语句的速度的N_threads倍;当线程处理不同数据所需的时间不相等时,数据并行处理所需的时间由花费最长计算时间的线程决定。 值得一提的是,这里的数据 并行模型与下面的另一种分类方式中的SIMD模型是完全相同的。
    4. 任务并行(task parallelism)是在多个不同的数据上执行不同的指令、指令集或者算法。这与多核CPU的计算模型是相同的。一个典型的任务并行例如如下:
      begin
          if CPU="a" then
              do task "A"          //任务并行(即MIMD)
          else if CPU="b" then
              do task "B"          //任务并行(即MIMD)
              end if
      end

      在所有的CPU中,当CPU“a”从第一句if语句里读到了true,他就会开始执行任务“A”;当CPU“b”从第二句读到了true,他就会开始执行任务“B”。由于判断if-else语句的速度非常快,跳转的时间可以忽略,因此可以认为任务“A”和任务“B”是同时执行的。需要助兴的是,从外部执行这段代码时,为了给不同的数据分配不同的处理器,采用的是数据并行模型(SIMD),即每个数据都经由这段相同的代码处理,只有在被加注的两行体现了任务并行的效果。任务并行的模型和我们下面要介绍的MIMD模型是完全相同的。

          另一种流行的分类法是从数据流和指令的角度把计算模型分为4类,即费林分类法。

    1. 单指令单数据流(SISD)是非并行计算的模型。典型的例子就是单核的CPU,所有数据都被一个处理器顺次处理,某一时刻只能处理一种指令。
    2. 单指令多数据流(SIMD)是GPU的计算模型,与上述数据并行模型相同。
    3. 多指令单数据流(MISD)指在同一个数据流上执行不同的指令。流水线模型可以被认为一种MISD。
    4. 多指令多数据流(MIMD)是多核CPU的计算模型,与上述的任务并行模型相同。

           在CUDA中,程序在整体上完全不必遵循SIMD的要求,只需要那些必须在GPU上执行的部分局部地符合SIMD模型。值得一提的是,CUDA提出了SIMT(Single Instruction Multiple Treads)模型,按照费林分类法,SIMT也属于SIMD的范畴,因为它也是在多个数据上执行相同的指令,但在程序实现的过程中,SIMT允许由用户来分配线程,而并行计算也是以线程为单位的。CUDA为每个线程指定了标识符(编号)。在已知数量的数据上,SIMT模型可以指定自定义数目的线程,并根据线程标识符设计线程与数据关联的映射法则。

         总结一下SIMD(包括SIMT)的两大特点。也就是说,要使用GPU做并行计算,要保证并行算法满足一下两点:

    1. 每个线程的任务互不相关。
    2. 每个线程执行相同的指令。

         与之对应,具有一下特点的算法能够在GPU上达到最高的执行效率:

    1. 每个数据都需要经过相同的流程来处理。
    2. 数据之间没有相干性。
    3. 数据量庞大。
    展开全文
  • 在并行机上求解问题首先要写出求解问题的并行算法并行算法是在并行计算模型上设计出来的而并行计算模型是从不同的并行计算机体系结构模型中抽象出来的然后根据并行算法进行并行程序设计;为了达到将问题的并行求解...
  • 分布式并行计算模型

    2021-01-20 19:01:11
    1.并行计算模型 主要考虑多指令流多数据流(MIMD)

    1.并行计算模型
    在这里插入图片描述
    主要考虑多指令流多数据流(MIMD)
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    展开全文
  • 集装箱码头物流的并行计算模型
  • 1.1 计算与计算机科学 ...计算物理学、计算化学、计算生物学、计算地质学、计算气象学、计算材料学和计算电磁学等学科 计算科学的作用: 科学发现和人类文明进步的第三支柱 促进其它学科发展的基础作用 解决21世纪

    1.1 计算与计算机科学

    1.1 科学发现的第三支柱:计算科学

    科学发现的三大支柱,分别是数学学科为基础的理论科学,物理学科为基础的实验科学,计算机学科为基础的计算科学. 许多情况下,计算手段是解决问题的唯一或主要方法. 主要原因有:

    • 理论基础尚未建立
    • 理论方法过于复杂
    • 试验费用过于昂贵
    • 实验环境过于苛刻

    计算学科的兴起:
    计算物理学、计算化学、计算生物学、计算地质学、计算气象学、计算材料学和计算电磁学等学科

    计算科学的作用:

    • 科学发现和人类文明进步的第三支柱
    • 促进其它学科发展的基础作用
    • 解决21世纪重大科学问题的综合作用
    • 21世纪科学与工程发现的普遍模式

    1.2 单处理机与指令级并行

    在这里插入图片描述
    在这里插入图片描述

    1.3 多核处理器与线程级并行

    1.3.1 单核处理器结构设计

    传统单核处理器存在的问题:

    • 如何有效地利用巨量的晶体管资源
    • 晶体管门延迟时间将小于互连的线延迟
    • 处理器性能的提升与电路复杂度的平方根成正比
    • 芯片发热现象日益突出
    • 设计和人力成本均急剧上升
    • 给软件(编译器)设计增加了额外的负担
    1.3.2 多核处理器的结构设计

    多核处理器的技术特点:

    • 便于优化设计
    • 降低功耗
    • 较容易地实现设计要求的主频
    • 线程级的应用软件易于移植到多核环境中
    1.3.3 多核处理器实例

    学术界多核处理器实例
    在这里插入图片描述
    工业界多核处理器实例
    Intel Core Duo
    在这里插入图片描述

    • 共享二级Cache
    • 更多的缓存空间
    • 更低的片上通信延迟
    • 适用于仅使用单一双核处理器的系统

    AMD Dual Core Opteron
    在这里插入图片描述

    • 私有二级Cache
    • 更多的私有缓存空间
    • 易于融合多个芯片之间的一致性信息
    • 适用于将多个双核处理器组织起来的系统

    1.4 并行计算体系结构

    一般的并行计算体系结构有:单指令流多数据流(SIMD)、并行向量处理机(PVP)、对称多处理机(SMP)、大规模并行处理机(MPP)、分布共享存储多处理机(DSM)、工作站机群(COW)

    1.4.1 并行计算机的结构模型

    1.4.1.1 并行向量处理机(PVP - Parallel Vector Processor)

    在这里插入图片描述

    • 少量的高性能的定制向量处理器VP
    • 专门设计的交叉开关互连
    • 共享存储
    • 通常不使用高速缓存,配有大量的向量寄存器和指令缓冲器
    1.4.1.2 对称多处理机(SMP - Symmetric MultiProcessor)

    在这里插入图片描述

    • 结构对称性
    • 共享存储,处理器通过读/写共享变量通信
    • 单地址空间
    • 高速缓存及其一致性
    1.4.1.3 大规模并行处理机(MPP - Massively Parallel Processor)

    在这里插入图片描述

    • 大量的商用处理器,可扩放性好
    • 物理上分布的分布式存储器
    • 高带宽低延迟的定制互连网络
    • 消息传递方式通信
    1.4.1.4 分布共享存储处理机(DSM - Distributed Shared Memory)

    在这里插入图片描述

    • 由各个局存构成全局地址空间
    • 定制互连网络
    • 基于目录DIR的高速缓存一致性
    • 系统软/硬件提供单一地址编程空间
    1.4.1.5 工作站机群(COW - Cluster of Workstations)

    在这里插入图片描述

    • 每个节点都是一台完整的PC机或工作站(无头工作站)
    • 低成本标准商用互连网络
    • 分布存储,松散耦合结构
    • 易搭建,投资风险小
      在这里插入图片描述

    1.4.2 并行计算机访存模型

    1.4.2.1 均匀存储访问(UMA - Uniform Memory Access)

    在这里插入图片描述- 物理存储器被所有处理器均匀共享

    • 所有处理器访问任何存储字取相同的时间
    • 每台处理器可带私有高速缓存
    • 外围设备也可以一定形式共享
    1.4.2.2 非均匀存储访问(NUMA - NonUniform Memory Access)

    在这里插入图片描述
    在这里插入图片描述

    • 共享存储器在物理上分布在所有处理器中,所有本地存储器的集合组成了全局地址空间
    • 处理器访问存储器的时间是不一样的
      • 访问本地存储器或群内共享存储器较快
      • 访问外地存储器或全局共享存储器较慢
    • 每台处理器可带私有高速缓存,外设也可以某种形式共享
    1.4.2.3 全高速缓存存储访问(COMA - Cache-Only Memory Access)

    在这里插入图片描述

    • 各处理器节点中没有存储层次结构,全部高速缓存组成了全局地址空间
    • 利用分布的高速缓存目录D进行远程高速缓存的访问
    • COMA中的高速缓存容量一般都大于2 级高速缓存容量
    • 使用COMA时,数据开始时可任意分配,因为在运行时它最终会被迁移到要用到它们的地方
    1.4.2.4 高速缓存一致性非均匀存储访问(CC-NUMA - Coherent-Cache NonUniform Memory Access)

    在这里插入图片描述

    • 大多数使用基于目录的高速缓存一致性协议
    • 保留SMP结构易于编程的优点,也改善常规SMP的可扩放性
    • CC-NUMA实际上是一个分布共享存储的DSM多处理机系统
    • 最显著的优点是程序员无需明确地在节点上分配数据
      • 系统的硬件和软件开始时自动在各节点分配数据
      • 在运行期间,高速缓存一致性硬件会自动地将数据迁移至要用到它的地方
    1.4.2.5 非远程存储访问(NORMA - NO-Remote Memory Access)

    在这里插入图片描述

    • 所有存储器是私有的
    • 绝大数NORMA都不支持远程存储器的访问
    • 在DSM中,NORMA就消失了

    在这里插入图片描述

    1.4.3 并行计算机存储组织

    监听总线协议

    • 适用于基于总线连接的多处理机系统
    • 由总线监听高速缓存中数据的一致性状态是否被破坏
    • 写无效和写更新

    在这里插入图片描述
    基于目录的协议

    • 适用于多级互连网络连接的多处理机系统
    • 使用一个目录来记录共享数据的所有高速缓存行的位置和状态
      在这里插入图片描述

    1.5 并行计算概述

    在这里插入图片描述

    展开全文
  • 并行计算模型通常指从并行算法的设计和分析出发,将各种并行计算机(至少是某一类并行计算机)的基本特征抽象出来,形成一个抽象的计算模型。 从更广的意义上说,并行计算模型为并行计算提供了硬件和软件界面,在该...

    写在前面

    本文隶属于专栏《100个问题搞定大数据理论体系》,该专栏为笔者原创,引用请注明来源,不足和错误之处请在评论区帮忙指出,谢谢!

    本专栏目录结构和文献引用请见100个问题搞定大数据理论体系

    解答

    并行计算模型通常指从并行算法的设计和分析出发,将各种并行计算机(至少是某一类并行计算机)的基本特征抽象出来,形成一个抽象的计算模型。
    
    从更广的意义上说,并行计算模型为并行计算提供了硬件和软件界面,在该界面的约定下,并行系统硬件设计者和软件设计者可以开发对并行性的支持机制,从而提高系统的性能。
    
    常见的并行计算模型有:BSP 模型,PRAM 模型,LogP模型,C3 模型,BDM 模型
    

    补充

    为什么需要并行计算模型?

    Spark、 Hadoop是迭代模式,只适合一般的计算,在机器学习等计算量非常大的领域,传统的迭代模型不再适用。并行计算模型就是为了解决一些特定场景下的计算量问题。

    BSP模型

    (Bulk Synchronous Parallel,整体同步并行计算模型)是一种并行计算模型,由英国计算机科学家 Viliant 在20世纪80年代提出。

    Google发布的一篇论文(Pregel:A System for Large-scale Graph Processing)使得这一概念被更多人所认识。

    和 Mapreduce-样, Google并没有开源 Pregel, Apache按 Pregel 的思想提供了类似的框架Hama。

    BSP模型基本原理

    BSP模型是一种异步MIMD-DM模型(DM-Distributed Memory,SM–Shared Memory), 其支持消息传递系统、块内异步并行、块间配式同步。

    该模型基于一个 Master协调,所有的 Worker 同步(lock-step)执行,数据从输入的队列中读取。

    BSP计算模型不仅是一种体系结构模型,也是设计并行程序的一种方法。

    BSP程序的设计准则是整体同步(Bulk Synchrony),其独特之处在于超步(Super Step)概念的引入。

    一个BSP程序同时具有水平和垂直两个方向的结构。从垂直上看,一个BSP程序由一系列串行的超步(Super Step)组成,如图所示,这种结构类似于一个串行程序结构。

    BSP超步

    从水平上看,在一个超步中,所有的进程并行执行局部计算。一个超步可分为三个阶段,如图所示。

    BSP超步三个阶段

    1. 本地计算阶段,每台处理器只对存储在本地内存中的数据进行本地计算。
    2. 全局通信阶段,对任何非本地数据进行操作。
    3. 栅栏同步阶段,等待所有通信行为结束。

    BSP并行计算模型可以用p、s、g、i4个参数进行描述

    1. p为处理器的数目(带有存储器)。
    2. s为处理器的计算速度。
    3. g为每秒本地计算操作的数目/通信网络每秒传送的字节数,称之为选路器昋吐率,视为带宽因子。
    4. i为全局的同步时间开销,称之为全局同步之间的时间间隔(Barrier Synchronization Time)

    假设有p台处理器同时传送h字节信息,则gh就是通信的开销。同步和通信的开销都规格化为处理器的指定条数。

    BSP模型的特点

    1. BSP模型将计算划分为一个一个的超步(Super Step),有效避免了死锁。
    2. 它将处理器和路由器分开,路由器仅仅完成点到点的消息传递,不提供组合、复制和广播等功能,这样做既掩盖了具体的互连网络拓扑,又简化了通信协议。
    3. 障碍同步是以硬件实现的全局同步,是可控的粗粒度级的,从而提供了执行紧耦合同步式并行算法的有效方式,而程序员并无过多的负担。
    4. 在分析BSP模型的性能时,假定局部操作可以在一个时间步内完成,而在每一个超步中, 一台处理器最多发送或接收h条消息(称为h-relation)
    5. 为PRAM模型设计的算法都可以采用在每台BSP处理器上模拟一些PRAM处理器的方法来实现。

    BSP模型的评价

    1. 在并行计算时, Viliant试图为软件和硬件之间架起一座类似冯・诺伊曼机的桥梁,BSP模型可以起到这样的作用。正因如此,BSP模型也被称为桥模型。
    2. 一般而言,分布式存储的MIMD模型的可编程性比较差,但在BSP模型中,如果计算和通信可以适当平衡,则它在可编程性方面将呈现出更大的优势。
    3. 在BSP模型中直接实现了一些重要的算法(如矩阵乘、并行前序运算、FFT和排序等),均避免了自动存储管理的额外开销。
    4. BSP模型可以有效地在超立方体网络和光交叉开关互连技术上实现,显示出该模型与特定的技术实现无关,只需路由器具有一定的通信吞吐率。
    5. 在BSP模型中,“超步”的长度必须能够充分地适应任意的h-relation。
    6. 在BSP模型中,在“超步”开始发送的消息,即使网络延迟时间比“超步”的长度短,该消息也只能在下一个“超步”中使用
    7. BSP模型中的全局障碍同步假定是用特殊的硬件支持的,很多并行机中可能并没有相应的硬件。

    BSP模型的实现

    BSP计算框架有很多实现,最有名的是Google的大规模图计算框架Pregel,首次提出将BSP模型应用于图计算。

    Yahoo!贡献的 Apache Giraph专注于送代图计算(如 Pagerank、最短连接等),每个Job就是一个没有 Reducer过程的 Hadoop Job。

    Apache Hama也是ASF社区的 Incubator项目,与 Giraph不同的是,它是一个纯粹的BSP模型的Java实现,并且不仅用于图计算,而且意在提供一个通用的BSP模型的应用框架。

    PRAM模型

    PRAM(Parallel Random Access Machine,随机存取并行机器)模型也称为共享存储的SIMD模型,是一种抽象的并行计算模型,它是从串行的RAM模型直接发展起来的。
    在这种模型中,假定存在一台容量无限大的共享存储器,有有限台或无限台功能相同的处理器,且它们都具有简单的算术运算和逻辑判断功能,在任何时刻各处理器都可以通过共享存储单元相互交互数据。

    PRAM模型的优点

    1. PRAM模型特别适合并行算法的表达、分析和比较,使用简单,很多关于并行计算机的底层细节,如处理器间通信、存储系统管理和进程同步等,都被隐含在该模型中;
    2. 易于设计算法和稍加修改便可以运行在不同的并行计算机系统上;根据需要,可以在PRAM模型中加入一些诸如同步和通信等需要考虑的内容。

    PRAM模型的缺点

    1. 模型中使用了一台全局共享存储器,且局存容量较小,不足以描述分布主存多处理器的性能瓶颈,而且共享单一存储器的假定,显然不适合分布存储结构的MIMD机器。
    2. PRAM模型是同步的,这就意味着所有的指令都按照锁步( Clock Step)的方式操作。用户虽然感觉不到同步的存在,但同步的存在的确很耗费时间,而且不能反映现实中很多系统的异步性。
    3. PRAM模型假设每台处理器可在单位时间内访问共享存储器的任一单元,因此要求处理器间通信无延迟、无限带宽和无开销。假定每台处理器均可以在单位时间内访问任何存储单元而略去了实际存在的、合理的细节,如资源竞争和有限带宽,这是不现实的。
    4. 未能描述多线程技术和流水线预取技术,而这两种技术又是当今并行体系结构应用最普遍的技术。

    LogP模型

    LogP模型是由Culler(1993)提出的,是一种分布存储的、点到点通信的多处理器模型。其中通信由一组参数描述,实行隐式同步。

    LogP模型的通信网络由4个主要参数来描述

    1. L(Latency):表示源处理器与目的处理器进行消息(一个或几个字)通信所需的等待或延退时间的上限,表示网络中消息的延迟。
    2. o(overhead):表示处理器准备发送或接收每条消息的时间开销(包括操作系统核心开销和网络软件开销),在这段时间内处理器不能执行其他操作。
    3. g(gap):表示一台处理器连续两次发送或接收消息时的最小时间间隔,其倒数即微处理器的通信带宽。
    4. P(Processor):处理器/存储器模块个数

    LogP模型的特点

    1. 抓住了网络与处理器之间的性能瓶颈。g反映了通信带宽,单位时间内最多有Lg个消息能进行处理器间传送。
    2. 处理器间异步工作,并通过处理器间的消息传送来完成同步。
    3. 对多线程技术有一定的反映。每台物理处理器可以模拟多台虚拟处理器(VP),当某台VP 有访问请求时,计算不会终止,但VP的数目受限于通信带宽和上下文交换的开销。VP受限于网络容量,最多有Lg台VP。
    4. 消息延迟不确定,但延迟不大于L。消息经历的等待时间是不可预测的,但在没有阻塞的情况下最大不超过L。
    5. LogP模型鼓励编程人员采用一些好的策略,如作业分配、计算与通信重叠及平衡的通信模式等。
    6. 可以预估算法的实际运行时间。

    LogP模型的不足

    1. 对网络中的通信模式描述得不够深入,如对重发消息可能占满带宽、中间路由器缓存饱和等未加描述
    2. LogP模型主要适用于消息传递算法设计,对于共享存储模式,则简单地认为异地读操作相当于两次消息传递,未考虑流水线预取技术、 Cache引起的数据不一致性及 Cache命中率对计算的影响。
    3. 未考虑多线程技术的上下文开销。
    4. LogP模型假设用点对点消息路由器进行通信,这增加了编程者考虑路由器上相关通信操作的负担。

    C3模型

    C3模型假定处理器不能同时发送和接收消息,它对超步的性能分析分为两部分:

    1. 计算单元(CU),依赖于本地计算量;
    2. 通信单元(COU),依赖于处理器发送和接收数据的多少、消息的延迟及通信引起的拥挤量。

    该模型考虑了两种路由(存储转发路由和虫蚀寻径路由)和两种发送接收原语(阻塞和无阻塞)对COU的影响

    C3模型的特点

    1. 用CI和Cp来度量网络的拥挤对算法性能的影响。
    2. 考虑了不同路由和不同发送或接收原语对通信的影响。
    3. 不需要用户指定调度细节,就可以评估超步的时间复杂性。
    4. 类似于H-PRAM模型的层次结构,C3模型给编程者提供了K级路由算法的思路,即系统被分为K级子系统,各级子系统的操作相互独立,用超步代替了H-PRAM中的 Sub PRAM进行分割。

    C3模型的不足

    1. C度量的前提为同一通信对中的两台处理器要分別位于对分网络的不同子网络内。
    2. 该模型假设网络带宽等于处理器带宽,从而影响了正确描述可扩展系统。
    3. 在K级算法中,处理器间的顺序可以有多种排列,但C3模型不能区分不同排列的难易程度。

    BDM模型

    1996年,J.F.JaJa等人提出了一种块分布存储模型(Block Distributed Model,BDM),它是共享存储编程模式与基于消息传递的分布存储系统之间的桥梁模型。

    其主要有4个参数。

    1. P:处理器个数。
    2. t:处理器从发出访问请求到得到远程数据的最大延迟时间,包括准备请求时间、请求包在网络中路由的时间、目的处理器接收请求的时间,以及将包中M个连续字返回给原处理器的时间。
    3. M:局部存储器中连续的M个字。
    4. 处理器发送数据到网络或从网络接收数据的时间。

    BDM模型的特点

    1. 用M反映出空间局部性特点,提供了一种评价共享主存算法的性能方法,度量了因远程访问引起的处理器间的通信。
    2. BDM认可流水线技术。某台处理器的K次预取所需的时间为+KMo(否则为K(r+Mo) 可编程性好。
    3. 考虑了共享主存中的存储竞争问题。
    4. 可以用来分析网络路由情况。

    BDM模型的不足

    1. 认为初始数据置于内部存储中,对于共享主存程序的编程者来说,需要额外增加数据移动操作
    2. 未考虑网络中影响延迟的因素,如处理器的本地性、网络重拥挤等。
    3. 未考虑系统开销。
    展开全文
  • 并行计算模型及其算法设计,并行计算模型及其算法设计
  • SMP上的OpenMP / MPI混合并行计算模型设计
  • 基于异构并行计算模型的结构化光3D测量系统
  • 冯-诺依曼计算机是一个理想的通用串行计算机模型,但是对并行计算来说,到目前为止,没有一个类似的通用并行计算模型。在过去几十年中,人们针对不同类型的并行计算机提出了多种并行计算模型: 1) PRAM模型;2 )异步...
  • DECO:一个简化的Python并行计算模型,自动并行化Python程序,对已编号的串行化程序的修改减少到最低。
  • 在这项工作中,我们提出了一种图形处理单元(GPU)辅助的能量异步扩散并行计算模型,该模型在处理复杂模型(尤其是凹面模型)时稳定且快速。 我们采用六面体体素表示软组织的物理模型,以提高视觉逼真的质量和变形...
  • 为解决串行时域多分辨率(MRTD)散射模型运行时间长和内存消耗大的问题, 基于消息传递接口(MPI)技术设计了一种非球形气溶胶散射并行计算模型。介绍了MRTD散射模型的基本框架和2种并行数据通信方案, 并基于MPI重复非...
  • 提出一种统一的并行计算模型LogGP-U(Unified LogGP),它是一个基于LogGP的并行计算模型,给出在几种并行程序设计模式下对应的修正形式。使用这个模型既可以准确度量一般情况下并行程序的时间复杂性,也可以度量...
  • 多核处理器机群Memory层次化并行计算模型研究,多核处理器机群Memory层次化并行计算模型研究
  • from: ...目前开源社区有许多并行计算模型和框架可供选择,按照实现方式、运行机制、依附的产品生态圈等可以被划分为几个类型,每个类型各有优缺点,如果能够对各类型的并行计算框架都进行深...
  • 并行图论算法, 介绍并行计算机模型下的图论算法
  • 本文使用 Zhihu On VSCode 创作并发布指标通信计算比假设第k个进程的计算时间为,通信时间为 定义程序的通信计算比为 为了并行计算的效果,需要让尽量小。 对于特定问题有特定的常数问题通信计算比 矩阵乘矩阵 向量...
  • 并行计算模型通常指从并行算法的设计和分析出发,将各种并行计算机(至少某一类并行计算机)的基本特征抽象出来,形成一个抽象的计算模型。  PRAM模型 PRAM(Parallel Random Access Machine,随机存取并行机器)...
  • 并行计算模型分析

    千次阅读 2018-06-19 15:03:08
    标题:MapReduce:Simplified Data Processing on Large Clusters(简化大集群上的数据处理)相关文件:mapreduce-osdi04.pdf(中文翻译mapreduce-osdi04.docx)...Google日期:2004问题:提出了MapReduce计算架...
  • 整体同步并行计算模型主要由如下三部分组成:
  • Spark 允许用户为driver(或主节点)编写运行在计算集群上,并行处理数据的程序。在Spark中,它使用RDDs代表大型的数据集,RDDs是一组不可变的分布式的对象的集合,存储在executors中(或从节点)。组成RDDs的对象...
  • 基于MapReduce框架的集群系统,提出了1种新的计算模型用于大规模图形的3-clique计算,来实现图挖掘. 计算的基本步骤是:首先获取每个节点的第1跳信息,然后是第2跳信息,最后得到所有基于该节点的3-clique. 该计算...
  • spark 并行计算模型

    万次阅读 2012-12-19 23:04:32
    Spark Spark是一个小巧玲珑的项目,由...Spark要解决的问题是,在当前的分布式计算框架中不能有效处理的两类问题:iterative(迭代计算)和 interactive(交互式)计算。 目前最流行的Hadoop 系统实现了DAG(有向无环

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 4,704
精华内容 1,881
关键字:

并行计算模型