
分布式计算
文章平均质量分 64
对面『胶己人』
This is my note, not my blog
展开
-
Parallel Programming Platforms(并行编程平台)
串行计算机由处理器,内存,和数据通道组成。任何一部分都可以成为处理速度的瓶颈。多处理器,多内存,多数据通道是一种有效的解决方法。(多重性可以隐藏,也可以提供给程序员)。在对代码并行化之前,要先优化串行代码的性能。指令执行的五个阶段:取指令,解指令,执行指令,内存访问,写回流水线: 流水线技术是一种将每条指令分解为多步,并让各步操作重叠,从而实现几条指令并行处理的技术。超流水线:就是...原创 2018-03-17 16:56:19 · 1367 阅读 · 1 评论 -
Dense Matrix Algorithms(稠密矩阵算法)
矩阵向量乘法串行算法中需要n*n次乘法和加法运算。一维行划分每个进程一行以及向量的一个元素:进程数少于n:每个进程存储n/p个整行还有n/p个元素。使用超立方体结构推导矩阵向量乘法的等效率函数一维列划分参考一维行划分(习题8.2)二维划分每个进程一个元素:向量x分布在n个进程的最后一列。将向量x沿着矩阵A的主对角线排列,接着复制到相应列...原创 2018-05-29 13:32:25 · 7929 阅读 · 1 评论 -
分布式计算——补充
多个处理器和多核处理器的区别:对于多个处理器而言,它们在执行命令的时候多个处理器之间的通信手段是电脑主板上的总线;而对于多核处理器而言,多个核心处理器之间通信时通过CPU内部总线进行信息的交互的。对于执行效率而言,多核处理器要优于多个处理器。对于分布式计算而言,我们讲的通常都是多个处理器。处理器和内存关系对于一台拥有多个处理器的计算器,每个处理器可能各自都有一个cache,也可...原创 2018-05-08 15:30:22 · 674 阅读 · 0 评论 -
Programming Using the Message-Passing Paradigm(使用消息传递模式编程)
消息传递编程的原理两个关键特性:假设存在一个分块地址空间(个人理解这是一个多进程共享的空间),只支持显示并行化分块地址空间的含义: 1. 每一数据单元必须属于空间的分块之一,数据必须被显示地划分和存放。(促进存取本地化,对非UMA结构很重要)。 2. 所有的相互操作需要两个进程间的协作。消息传递程序的结构: 1. 异步:所有的并发任务都异步执行,由于存在...原创 2018-05-08 13:56:34 · 799 阅读 · 0 评论 -
Analytical Modeling of Parallel Programs(并行程序的解析建模)
A parallel system is the combination of an algorithm and the parallel architecture on which it is implemented. In this chapter, we study various metrics for evaluating the performance of parallel syst...原创 2018-05-07 17:12:23 · 435 阅读 · 0 评论 -
Sorting(排序)
内排序与外排序:外排序需要利用辅助存储器件(硬盘等),内排序可以全部放入主存储器中。基于比较的排序算法和不基于比较的排序算法:基于比较的排序算法时间复杂度最低为O(N * logN),基于非比较的排序算法的复杂度下界为O(N)。输入输出序列分散存放在各个进程当中,枚举出全部进程,使用一个全局排序,如果进程Pi枚举值小于Pj,则排序完之后Pi存放的值全都小于Pj。每个进程存放一个元素: ...原创 2018-05-19 13:55:32 · 1591 阅读 · 1 评论 -
Programming Shared Address Space Platforms(共享地址空间平台的编程)
由于所有处理器可以访问部分(或者全部)内存,通信是隐式指定的。在共享地址空间平台上,轻量级进程和线程比较适合于并行编程。多线程编程已经很熟悉了,这里就不做笔记了~...原创 2018-05-08 22:57:46 · 586 阅读 · 0 评论 -
Basic Communication Operations(基本通信操作)
一对多广播以及多对一规约一对多广播:广播结束后会有p个原始数据的副本。 多对一规约:所有进程的数据通过一个相关的操作符结合起来,累加到一个目标进程中的缓冲区。环或线性阵列使用一种递归加倍的技术,在logp步广播完成。每一步都要仔细选择消息发送的目标节点,以免出现阻塞。 格网行和列分别看成线性阵列超立方体看成一个d维的格网平衡二叉树每一个中间节点是...原创 2018-03-31 16:22:40 · 713 阅读 · 1 评论 -
Principles of Parallel Algorithm Design(并行算法设计原则)
并行算法讲述的是怎么用多处理器来解决问题。设计一个并行算法包括以下某些步骤: Identifying portions of the work that can be performed concurrently. Mapping the concurrent pieces of work onto multiple processes running in parallel....原创 2018-03-31 14:04:34 · 1182 阅读 · 1 评论 -
Graph Algorithms(图算法)
(u,v)是有向图中的边,我们就称顶点v领接顶点u。从顶点u到顶点v的路径是顶点序列<v0,v1,v2...vk>,其中v0 = v,vk=u。路径中的顶点是唯一的,则称路径是简单的。起点和终点一致则为一个环。如果所有的中间顶点都不相同,则称环是简单的。如果图中的每一对顶点都邻接,则称图为完全图。树林是无圈图,树是连通无圈图。如果图是树,则边为顶点数减去一。在计算机程序中,有两...原创 2018-05-31 00:09:26 · 5822 阅读 · 0 评论