精华内容
下载资源
问答
  • MapReduce与并行关系数据库的比较

    千次阅读 2014-03-09 16:34:25
  • FPGA与并行计算的关系

    2020-01-02 17:06:44
    基于FPGA的并行计算是并行计算的子集;

    基于FPGA的并行加速是特殊的并行计算;
    自己做了FPGA程序这么多些年,一开始有些模糊fPGA与并行计算的关系,后来了解到并行计算的载体多为分布式计算机,计算机集群,软/硬多线程等,这些概念比FPGA程序要上层,但归根揭底FPGA的程序可理解为特殊的并行计算,其相关理论可以稍作变通的去代入使用,例如使用FPGA进行机器学习相关算法的部署,本质上也是并行加速过程,属于并行计算范畴。
    (持续更新中)

    展开全文
  • 关系代数的并行计算

    千次阅读 2014-12-13 14:07:56
    从Dremel和Impala的学习引申出了SQL查询的并行执行问题,于是借此机会深入学习一下关系数据库以及关系代数的并行计算。Speedup和ScaleupSpeedup指用两倍的硬件换来一半的执行时间。Scaleup指两倍的硬件换来同等时间...

    DremelImpala的学习引申出了SQL查询的并行执行问题,于是借此机会深入学习一下关系数据库以及关系代数的并行计算。

    SpeedupScaleup

    Speedup指用两倍的硬件换来一半的执行时间。Scaleup指两倍的硬件换来同等时间内执行两倍的任务。但往往事情不是那么简单,两倍的硬件也会带来其他问题:更多CPU带来的长启动时间和通信开销,以及并行计算带来的数据倾斜问题。


    多处理器架构

    共享内存:任意CPU都能访问任意的内存(全局共享)和磁盘。优点是简单,缺点是扩展性差,可用性低。


    共享磁盘:任意CPU都能访问任何的磁盘,但是只能访问自己的主存。优点是可用性和扩展性比较好,缺点是实现复杂以及潜在的性能问题。


    不共享:任意CPU都只能访问自己的主存和磁盘。优点也是扩展性和可用性,缺点是实现复杂以及复杂均衡。


    混合型:系统整体上是shared nothing架构,但结点内部可能是其他架构。这样就混合了多种架构的优点。


    数据分区

    数据分区的目的就是:让数据库能够并行地读写数据,最大程度地挖掘I/O的潜力。常见的分区算法有:round-robin、范围索引、哈希。


    关系运算并行化

    关系代数自身的属性允许关系操作的并行化


    并行查询处理主要分为四步:

    Ø  翻译:将关系代数表达式翻译成查询树。

    Ø  优化:重排join顺序,并选择不同join算法来最小化执行开销。

    Ø  并行:将查询树转换成物理操作树,并加载到处理器。

    Ø  执行:并行运行最终的执行计划。

    首先将一条SQL语句翻译成查询树。


    然后根据表大小、索引等情况,重新排列join顺序,并选择合适的算法。


    关于join算法,常见的有以下几种:

    Ø  Nested Loop join:思路很简单,相当于两层循环遍历,外层是驱动表,返回满足关联条件的行。适用于驱动表小(经过条件过滤后),而被驱动表上join字段有索引的情况。在两表都很大时效率很差。

    for each row R1 in the outer table
        for each row R2 in the inner table
            if R1 joins with R2
                return (R1, R2)

    Ø  Sort-merge join:思路也很简单,就是按join字段排序,然后进行归并排序。当join字段存在重复值时,相当于每个重复值形成了一个分区。Join字段是否排序和重复值的多少决定了sort-merge的效率。适用于两表都很大的情况,尤其当join字段上存在聚集索引时(相当于已经排好序了),效率很高。算法主要消耗在磁盘上。

    Ø  Hash join:类似于存在重复值情况时的sort-merge,只不过是人为的使用哈希函数进行分区。思路是扫描小表建立哈希表(build阶段,小表也叫build),然后逐行扫描大表进行比较(probe阶段,大表也叫probe)。适用于两表都很大又没有索引的情况,限制是只适用于等值连接。算法主要消耗在CPU上。


    此外,对于子查询还有semi joinanti join等算法。

     

    最后将查询树变成物理操作树,也就是真正的执行计划。然后根据集群的资源情况,调度到合适的结点上进行并行计算。


    参考资料

    1 Parallel Query Processing

     

    展开全文
  • 并行与并发的关系

    2019-07-08 15:09:29
    什么是并行:        并行其实就是指在具有多个处理单元的系统上,将数据划分为多个部分(或者将计算划分为多个部分)并分配到不同的处理单元上,各处理单元相互协调,共同运行...

    什么是并行:

           并行其实就是指在具有多个处理单元的系统上,将数据划分为多个部分(或者将计算划分为多个部分)并分配到不同的处理单元上,各处理单元相互协调,共同运行,从而达到加快求解或者提高求解速度的目的。(同时处理)

    什么是并发:

           并发是将一个程序、算法或者问题的可分解属性,它由多个顺序不依赖性或者局部顺序依赖性的结构或单元组成。这就意味着这些单元无论以何种顺序执行或者运算,最终结果都是一样的。(不一定是同时)

    两者有何区别:

    ①并发计算可以基于单处理器或者多处理器,基于单处理器时多个任务分时执行,轮流使用处理器;并行计算必须基于多处理器,多个任务同时使用多个处理器。
    ②并发计算也可以同时执行多个不同的任务;并行计算一般是同时执行多个相同的任务。

    并发的关键是你有处理多个任务的能力,不一定要同时。
    并行的关键是你有同时处理多个任务的能力。
    所以我认为它们最关键的点就是:是否是『同时』。

    两者之间的联系:

    ①并行计算与并发计算关系密切。我们在操作系统课程中所学到的并发大多是基于单处理器的,进程交替执行,表现出一种同时执行的外部特征。这种并发计算无法实现真正的加速效果。

    ②并行计算(纯粹的)通常是将一个较大的问题分为较小的多个子问题,然后同时处理这些子问题,类似于算法中的分治法。这种执行方式虽然可以获得较好的加速效果,但是还可以获得更好的加速效果。

    ③在基于多核的计算中,常常将并发计算与并行计算相结合,这样可以获得比并行计算更好的加速效果。在专栏的上一篇文章中,我们应用的就是这个技术。

    展开全文
  • 合理设置并行度可以充分利用集群的资源,加快运行速度。官方给的建议是设置你并行度是你集群所有core的2到3倍。比如说你的集群有50个Executor,每一个executor有3个core,那就是总共150个core,2到3倍就是300到450的...
  • 1. 并行计算(Parallel Computing)   并行计算或称平行计算是相对于串行计算来说的。并行计算(Parallel Computing)是指同时使用多种计算资源解决计算问题的过程。为执行并行计算,计算资源应包括一台配有多...
  • flink taskmanager slot 并行度 数量关系

    千次阅读 2020-06-18 17:15:37
    flink 每个TM的slot个数*TM个数=最大并行度 一般我们设置TM内存:0.5g*slot个数/TM,core:0.5*slot个数/TM。 除了考虑实际情况,一个TM内存和core不能设置过大,那么在一个可选择的区间里,要怎么选择呢? 假设...
  • Flink并行度与Slot的关系

    千次阅读 2020-09-11 15:53:29
    当调节Flink并行度与slot时候,会有一些坑。 其中的关系如下:假设集群中有一台master,k台slave节点。 Flink-conf.yaml中有两个重要的参数: taskmanager.numberOfTaskSlots,The number of task slots that each ...
  • 云计算与并行计算的关系

    千次阅读 2012-05-08 20:53:53
    1.并行计算不是云计算,网格计算不是云计算;云计算也不是并行计算和网格计算, 随着并行计算、软件技术、网络的发展,云计算的出现时必然,但云计算不等同于云计算 2.云计算萌芽于并行计算  云计算是从计算机的...
  • 并行计算的作用是将大型的计算任务拆分,然后再派发到云中的各个节点进行分布式的并行计算,最 终再将结果收集后统一处理。如果说云计算是并行计算的升华的话,那么云计算基础架构更在另一个层面上有更大的进步:...
  • ——谈云计算与并行计算、网格计算的关系 1.总论 云计算技术的出现是并行计算技术、软件技术、网络技术发展的必然结果。并行计算不是云计算。 2.云计算萌芽于并行计算 云计算的萌芽应该从计算机的并行化开始,...
  • 1、从消费端看, 如果source的并行度大于kafka的分区,会导致多余的并行度消费不了数据,进而影响checkpoint,flink做checkpoint失败,所以一定不能大于分区数。 2 、从消费端看, 如果source的并行度小于kafka的...
  • x265探索与研究(八):x265中的并行处理机制函数关系分析    HEVC的高计算复杂度如果仅仅依赖于单核处理器计算能力的提高,其代价是非常昂贵的,为此,HEVC的设计充分考虑到了并行计算的需求。x265不同于HM...
  • 二、并行 1.并行图例 2.并行概念 三、多线程是并发吗? 1.单处理器的情况 2.多处理器的情况 前言 架构师需要了解并发与并行的区别,为高并发的处理打下基础 一、并发 1.并发图例 上图中,每个黑体代表一...
  • 并行排序

    千次阅读 2019-04-20 14:05:34
    并行排序算法是计算机并行计算能力大大发展之后,为了提高排序效率而提出的算法。 原有的的排序算法都是给定了数据再进行排序,排序的效率很大程度上取决于数据的好坏,例如快速排序、归并排序。并行排序则是一类...
  • 并行计算及并行算法

    万次阅读 多人点赞 2018-06-13 22:27:31
    一、并行计算  简单地说,并行计算就是在并行计算机上所做的计算。从普通意义上讲,它和常说的高性能计算、超级计算等是同义词。并行计算的初衷是为了努力仿真自然世界中一个序列中含有众多同时发生的、复杂且相关...
  • 下面记录的主要是gcd同步异步并行串行得关系,gcd的功能远不止这些。 一、串行队列 1、同步运行 dispatch_queue_t searialQueue = dispatch_queue_create("SearialQueue", DISPATCH_QUEUE_SERIAL); dispatch_s
  • 数据并行和模型并行的区别

    千次阅读 2020-04-28 13:15:04
    此文翻译自[1],[1]对数据并行和模型并行进行了很好地区分,因此这里推荐给大家。 介绍 现在深度学习模型的参数量已经变得越来越多了,数据集的尺寸也随之疯狂地增长。为了在一个巨大的数据集上训练一个复杂的深度...
  • Flink并行度与slot之间的关系

    千次阅读 2019-08-05 12:17:40
    说明:图中假设是source/map的并行度都是2,keyby/window/apply的并行度也都是2,sink的是1,总共task有五个,最终需要五个线程。 默认情况下,flink允许如果任务是不同的task的时候,允许任务共享slot,当然,...
  • link中函数副作用和并行调用之间的联系是什么?它们之间是什么关系
  • Pipeline并行处理模型

    千次阅读 2019-09-03 23:21:07
    但是尽管说并行处理效率确实会比较高,但是它在处理拥有数据结果依赖关系的逻辑时,需要额外的同步管控。例如我的输出怎么临时被存放,然后被下游程序收到处理等等。倘若我们设计的并行处理程序能很好地解...
  • 我们在学习Flink时,经常会听到 task,slot,线程以及并行度这几个概念,对于初学者来说,这几个概念关系以及它们与系统内存,CPU之间的关系经常搞不清楚,下面我们就通过这篇文章来弄清楚这些概念与关系。...
  • 并行计算和并行计算机体系结构

    千次阅读 2017-12-27 09:39:59
    关于并行你知道多少思考多少 冯诺依曼计算机体系结构 什么是并行计算 为什么用并行计算 谁在用并行计算 硬件提供了哪些支持 软件提供了哪些支持 总结 参考资料关于并行,你知道多少?思考多少?听到“并行”这个词汇...
  • 1,我先简单的说说自己的理解,Flink可能跟spark不太一样 1)TaskManager 与 slots 比如我们有2个TaskManager 每个...2)slot 与 cpu的关系 每个Flink TaskManager在集群中提供处理槽。 插槽的数量通常与每个Tas...
  • 并行算法

    千次阅读 2019-04-23 19:22:44
    并行算法就是用多台处理机联合求解问题的方法和步骤,其运行过程是将给定的问题首先分解成若干个尽量相互独立的子问题,然后使用多台计算机同时求解他,从而最终求得原问题的解。 1.并行算法设计 并行算法设计...
  • OpenCL并行加减乘除示例——数据并行与任务并行 ==============================================================目录结构1、数据并行2、任务并行3、参考 =====================================================...
  • 支持并行数据库的并行结构

    千次阅读 2014-07-04 16:11:37
    并行计算机根据处理机与磁盘及内存的相互关系可以分为三种基本的体系结构,即共享内存结构(Shared-Memory,简称SM结构)、共享磁盘结构(Shared-Disk,简称SD结构)和无共享资源结构(Shared-Nothing,简称SN结构)...
  • 并行计算复习第一篇 并行计算硬件平台:并行计算机
  • [并行计算] 1. 并行计算简介

    万次阅读 多人点赞 2017-07-20 15:30:07
    这篇帖子旨在为并行计算这一广泛而宏大的话题提供一个非常快速的概述,作为随后教程的先导。因此,它只涵盖了并行计算的基础知识,实用于刚刚开始熟悉该主题的初学者。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 273,137
精华内容 109,254
关键字:

并行关系