数字系统设计及VHDL实践 专题五 专用集成电路 设计中的并行算法 主 讲 人:徐向民 单 位:电子信息学院.

Slides:



Advertisements
Similar presentations
渡黑水溝 郁永河. 2 戎克船:是明末清初時期往返兩岸的主要交通工具 ∗ 1. 關於台灣的開發歷史,我們到底了解多少呢?不妨試著說出 就我們所知有關台灣開發史的故事、小說、電影、音樂與大 家分享。 ∗ 2. 什麼是黑水溝?黑水溝為什麼會成為大陸移民渡海來臺時最 大的威脅? ∗ 3. 有聽過「六死三留一回頭」、「有唐山公,無唐山嬤」這兩.
Advertisements

定 格 入 格 破 格 —— 新诗仿写复习训练 仿照下列句子,再把 “ 人生 ” 比喻成 “ 大海 ”“ 天空 ” , 造两个句子。 如果说人生是一首优美的乐曲,那么痛苦则 是其中一个不可或缺的音符。 参考答案: 1 、如果说人生是一望无际的大海,那么挫折则 是其中一个骤然翻起的浪花。 2 、如果说人生是一片湛蓝的天空,那么失意则.
足太阴脾经在足大趾与足阳明胃经衔接, 在胸部与手少阴心经相接。 联系的脏腑器官有 咽、舌,属脾,络胃,注心中。 络脉从本经分出,走向足阳明经,进入腹腔,联络肠胃。 经别结于咽,贯舌本。 经筋结于髀,聚于阴器,上腹,结于脐,散于胸中。 第四章 足太阴经络与腧穴 第一节 足太阴经络.
C enter of C omputational C hemistry 并行计算机与并行计算 张鑫 理论与计算化学国际合作研究中心 分子反应动力学国家重点实验室.
苏少版《音乐》教材分析与 教学研究 江苏省中小学教研室 戴海云. 提 纲 第一部分 《音乐》教材分析 编写思路 主要特点 第二部分. 《音乐》教学实验与研究 教学研究 案例分析.
五年制精神医学本科生培养方案 刘哲宁 教授. 专业简介  精神医学是临床医学的一个重要分支,它是研究人 类精神活动的规律、防治精神疾病的一门重要学科。  掌握健康与疾病的概念。
當我已老 謹以此文獻給像我一樣流浪在外的子女們.
新約研讀 彼得前書複習 讀經組
報告書名:父母會傷人 班級:二技幼四甲 姓名:吳婉如 學號:1A2I0034 指導老師:高家斌
第五章 话语的语用意义(上) 主讲人:周明强.
103年度學生健康檢查.
幼 兒 遊 戲 訪 談 組別:第七組 班級:幼保二甲 姓名:4A0I0008劉俐音 4A0I0043吳碧娟 4A0I0059劉又甄 4A0I0060江佳霓 4A0I0061蕭靖霓 4A0I0079王毓君.
第一章 多核概述 使用多核了吗? 摩尔定律——芯片的晶体管数量每一年半左右增长一倍。 处理器性能不断提高主要基于两个原因:
计算机系统结构 主讲:任国林
2015年12月14日-2015年12月20日 缩略版.
指導老師:羅夏美 組別:第四組 組員: 車輛二甲 蔡中銘 車輛三甲 莊鵬彥 國企二甲 陳于甄 國企二甲 詹雯晴 資傳二乙 林怡芳
爱上我们的图书馆 —新生入馆引导 河海大学图书馆.
赵永华 中科院计算机网络信息中心 超级计算中心
考点作文十大夺魁技法 第28课时 写作(二) 考点作文十大夺魁技法 6-10 ·新课标.
舌尖上的昭通.
手太阳小肠经.
舊石器時代 位置: 亞洲大陸東緣,西太平洋弧狀列島一部份 背景 形成: 兩千多萬年前逐漸隆起,形成島嶼 生物: 大角鹿、猛瑪象、亞洲大陸原始人 臺東 長濱文化 苗栗 網形文化 臺南 左鎮人目前臺灣發現最早人類化石 代表 文化 1.住在海邊洞穴-短期定居小型隊群 2.以採集、狩獵為生 3.使用礫石砍伐器、片器、尖器.
媽,我們真的不一樣 青少年期與中年期 老師: 趙品淳老師 組員: 胡珮玟4A1I0006 馬菀謙4A1I0040
优质护理的指导思想  以科学发展观为指导,贯彻落实《2011年公立医院改革试点工作安排》关于“推广优质护理服务”的部署和要求,结合全国卫生系统创先争优活动和“服务好、质量好、医德好,群众满意”的“三好一满意”活动,深化“以病人为中心”的服务理念,紧紧围绕“改革护理模式,履行护理职责,提供优质服务,提高护理水平”的工作宗旨,充分调动临床一线广大护士工作的积极性,按照《医院实施优质护理服务工作标准(试行)》,为人民群众提供全程、全面、优质的护理服务,保障医疗安全,改善患者体验,促进医患和谐。
4.5 实时调度算法 实时调度是为了完成实时处理任务而分配计算机处理器的调度方法。实时处理任务要求计算机在用户允许的时限范围内给出计算机的响应信号。 实时处理任务可分为 硬实时任务(hard real-time task) 软实时任务(soft real-time task)。 其中,前者要求计算机系统必须在用户给定的时限内完成,后者允许计算机系统在用户给定的时限左右处理完毕。
专题三 生物圈中的绿色植物.
游泳四式技術分析暨初級教法.
主办:泰兴市质量强市领导小组办公室 承办:泰 兴 市 市 场 监 督 管 理 局.
儿 童 多 动 综 合 症.
第五课 让挫折丰富我们的人生 挫折面前也从容.
班級:二幼三甲 姓名:郭小瑄 、 詹淑評 學號:1A2I0029 、1A2I0025
“网络问政”给九江新闻网 带来新的发展机遇 -- 九江新闻网 高立东 --.
印度的鼻環美女 修改製作:pan0524 日期:
指導老師:陳韻如 姓名:吳宜珊 學號:4A0I0911 班級:幼保二乙
第11章 计算机系统 计算机系统概述 分类方法、计算机系统性能评测方法 2. 微机系统 3. 他体系结构处理机
研究發展處 業務簡報 報 告 人:國立高雄餐旅大學 張明旭 研發長 中華民國105年4月14日.
大学物理实验 实验十 硅光电池特性的研究.
第一章 体育统计的基本知识 主讲教师:王丽艳 徐栋.
傳統童玩遊戲創新 組別:第八組 班級:幼保二甲 組員: 4A0I0005柯舒涵 4A0I0011謝孟真
荆门市农业水价综合改革 工作情况汇报 湖北省荆门市水务局 二0一六年九月.
紧抓PPP项目为招标代理机构 带来的转型发展机遇
前言.
香港. 香港 cuǐ càn * 24 香港,璀璨的明珠 cuǐ càn * 24 香港,璀璨的明珠.
清华大学计算机科学与技术系高性能计算研究所 郑纬民 教授 2007年10月
《生活与哲学》第一轮复习 第七课唯物辩证法的联系观.
第三部分 动作与技能实验 实验一 反应时实验 实验二 反应时运动时实验 实验三 敲击速度实验 实验四 动作稳定性实验 实验五 手指灵活性实验
马克思主义基本原理概论 第三章 人类社会及其发展规律.
并行算法实践.
Cuda 平行運算機制 報告者:林威辰.
基于MPI的并行程序设计 王振海 西北工业大学理学院 西北工业大学高性能计算研究与发展中心 2018/11/28.
计算机系统结构 第一章 基本概念 第二章 指令系统 第三章 存储系统 第四章 输入输出系统** 第五章 标量处理机 第六章 向量处理机
十二、并行程序设计基础.
排列组合 1. 两个基本原理 分类加法计数原理 分步乘法计数原理.
1.ATP的结构: A-P~P~P 高能磷酸键 ADP+ Pi+ 能量 酶 磷酸基团 腺苷.
第十四章鋁及鋁合金 改進教學計畫編號:教改進-97C-003 計畫主持人:楊慶彬.
中国科学技术大学计算机科学与技术系 国家高性能计算中心(合肥) 2004年12月
第三节 常见天气系统.
高级操作系统 Advanced Operating System
第八章 SIMD计算机.
藝術大師-達利.
中国科学技术大学计算机科学与技术系 国家高性能计算中心(合肥) 2004年12月
第一章 机械运动 第3节 运动的快慢.
目次检索 打印 下载 文字摘录 更换背景 多窗口阅读.
中国农业科学院博士后学术论坛 博士后基金申请的经验及体会 中国农业科学院生物技术研究所 秦 华 博士
第一章 运动的描述 第四节 实验:用打点计时器测速度.
人民音乐出版社 七年级.
自动控制原理.
多姿多彩的世界.
戒波罗蜜多.
教師檔案系統資料如何填寫? 如何對應教師評鑑共同基準?.
Presentation transcript:

数字系统设计及VHDL实践 专题五 专用集成电路 设计中的并行算法 主 讲 人:徐向民 单 位:电子信息学院

本章主要内容 并行算法理论 并行计算理论 并行算法的应用

并行算法简介 什么是并行算法 为什么需要并行 本质是把多任务映射到多处理机中执行,或将实现的多维问题映射到具有特定的拓扑结构的多处理机上求解。 为什么需要并行 同步加快计算速度、提高计算精度、快速时效要求、数值模拟计算; 以空间代价换取时间。

并行算法简介 当今并行算法研究的主要内容 并行算法研究的新机遇与新挑战 当今并行算法主要研究内容包括并行计算模型、并行算法设计技术和并行复杂性理论等。 并行算法研究的新机遇与新挑战 以空间代硬件的不断发展,为研究并行算法带来新的机遇 ; 如何充分利用,又带来了挑战。

并行算法的分类 数值计算并行算法 同步并行算法和异步并行算法 数值计算是指基于代数关系运算的计算问题。 非数值计算是指基于比较关系运算。 同步算法是指某些进程必须等待别的进程的并行算法,要求所有进程必须在一个给定时刻同步; 异步算法是指进程的执行相互独立,一般不必相互等待,根据当前的最新信息决定进程的继续或终止;

并行算法模型 数据并行模型(data-parallel model) 任务图模型(task graph model) 工作池模型(task pool) 主-从模型(maste-slave) 流水线模型(pipeline model) 混合模型

数据并行模型(data-parallel model) 数据并行模型是最简单的算法模型之一,在这种模型中任务被静态或半静态地映射到进程,并且每个任务都对不同数据进行相似的操作 ; 数据并行问题的一个重要特点,就是数据并发度随着问题规模的增加而增加,这样就可以使用更多的进程来有效地解决更大的问题。

任务图模型(task graph model) 在任务图模型中,使用任务之间的相互关系来提高本地性或减少交互开销; 以任务图模型为基础的算法的例子包括快速并行排序、稀疏矩阵分解以及从分治分解中导出的许多并行算法; 这种在任务依赖图中通过独立任务自然表示的并行形式称为任务并行。

工作池模型(task pool) 动态映射任务到进程以保持负载平衡 ; 工作既可以在开始时静态地获得,也可以动态地产生;也就是说,进程可以产生工作并把它添加到全局(也就可能是分布式)工作池中。 在消息传递模式中,当与任务相关的数据量远小于与任务相关的计算量时,通常就使用工作池模型;

主-从模型(master-slave) 在这种模型中,一个或者多个主进程产生任务并分派给工作者进程; 这种模型同样适用于共享地址空间模式或消息传递模式,因为交互是双向的,即管理者知道它要分发任务,而工作者知道它们要从管理者那儿接收任务; 在使用主-从模型时,一定要确保主进程不成为瓶颈,但当任务太小(或工作者相对太快)时会发生这种情况;

流水线模型( pipeline model ) 在流水线模型中,数据流通过一串进程传递,每一进程执行一个任务 ; 流水线是生产者和消费者链,流水线中的每一进程都可看成它前面进程数据序列的消费者和它后面进程数据的生产者; 负载平衡是任务粒度的函数。粒度越大,填满流水线花费时间就越长,就是说,如果链中第一个进程产生的触发者要传播到最后一个进程,则有些进程必须等待。但是,粒度太小也会增加交互开销,因为进程在小块计算后,必须交互才能接收新的数据。适合于这种模型的最常用技术是重叠交互与计算。

假如完成某一任务需要五步H1,H2,H3,H4,H5;每一步需要一个单位的时间。 现在需要完成五个同样的任务,提供五个处理器来完成。 任务一完成 任务二完成 任务三完成 任务四完成 任务五完成 任务五 H1 H2 H3 H4 H5 任务四 任务三 任务二 任务一 1 2 3 4 5

并行算法的性能评估 运行时间(TS,TP) 总并行开销(T0=p* TP - TS ) 并行度 加速比(SP = TS / TP ) 效率(EP = SP / p) 成本(p* TP)

并行程序开发环境 特征 消息传递 共享存储 数据并行 典型代表 MPI, PVM OpenMP HPF 可移植性 主流并行计算机 SMP, DSM SMP, DSM, MPP 并行粒度 进程级大粒度 线程级细粒度 进程级细粒度 并行操作方式 异步 松散同步 数据存储模式 分布式存储 数据分配方式 显式 隐式 半隐式 学习入门难度 较难 容易 偏易 可扩展性 好 较差 一般

并行程序性能优化 减少通信量、提高通信粒度 全局通信尽量利用高效集合通信算法 挖掘算法的并行度,减少CPU空闲等待 负载平衡 通信、计算的重叠 通过重复计算来减少通信,即以计算换通信

并行程序举例 假定一个有100个元素的数组A,要计算A的每个元素(除A(1)和A(100)外)的左右相邻两个元素值之和的平均值,并将平均值保存在数组ANEW中,该算法的串行伪代码如下: real A(100), ANEW(100) ...... do i = 2, 99 ANEW(i) = (A(i-1)+A(i+1)*0.5 enddo 下面分别使用共享存储模型、并行循环模型、分布存储SPMD(单程序多数据)模型来实现该算法。

假设有一台由4个处理机组成的共享存储并行机,使用FORTRAN的并行循环实现上述程序的并行代码如下: 并行程序举例 假设有一台由4个处理机组成的共享存储并行机,使用FORTRAN的并行循环实现上述程序的并行代码如下: real A(100), ANEW(100) ...... PARALLEL do i = 2, 99 ANEW(i) = (A(i-1)+A(i+1)*0.5 enddo 该段程序尽管实现了并行计算,并获得所需要结果,但由于计算粒度太小,不能弥补因派生并行线程带来的开销。

并行程序举例 为了获得更好的结果,可以加大任务粒度,通过使用外层循环分块,使每个处理机执行一个迭代块为24次,伪代码如下: real A(100), ANEW(100) ...... PARALLEL do ib = 1, 100, 25 PRIVATE i, myfirst, mylast myfirst = MAX(ib, 2) mylast = MIN(ib+24, 99) do i = myfirst, mylast ANEW(i) = (A(i-1)+A(i+1)*0.5 enddo

ANEWlocal(i) = (Alocal(i-1) +Alocal(i+1))*0.5 并行程序举例 下面在分布存储并行机上,使用消息传递SPMD模型来实现上述程序: !This code is executed by all processors; !myP is a private local variable containing the processor number;myP runs from 0 to 3; !Alocal and ANEWlocal are local versions of arrays A and ANEW If (myP. NE. 0) send Alocal(1) to myP – 1 If (myP. NE. 3) send Alocal(25) to myP + 1 If (myP. NE. 0) receive Alocal(0) from myP – 1 If (myP. NE. 3) receive Alocal(26) from myP + 1 myFirst = 1 myLast = 25 If(myP == 0) myFirst = 2 If(myP == 3) myLast = 99 do i = myFirst, myLast ANEWlocal(i) = (Alocal(i-1) +Alocal(i+1))*0.5 enddo

并行程序举例 在发送和接收操作之间插入本地计算,实现计算与通信的重叠,以获得更好的并行性能,伪代码如下: If (myP. NE. 0) send Alocal(1) to myP – 1 If (myP. NE. 3) send Alocal(25) to myP + 1 do i = 2, 24 ANEWlocal(i) = (Alocal(i-1)+Alocal(i+1))*0.5 enddo If (myP. NE. 0) then receive Alocal(0) from myP – 1 ANEWlocal(1) = (Alocal(0)+Alocal(2))*0.5 endif If (myP. NE. 3) then receive Alocal(26) from myP + 1 ANEWlocal(25) = (Alocal(24)+Alocal(26))*0.5

并行程序举例 并行算法设计 映射 并行计算模型 并行计算机

并行计算 基本概念 同时对多个任务或多条指令、或对多个数据项进行处理。 主要目的 提供比传统计算机快的计算速度 解决传统计算机无法解决的问题

并行计算 时间 流水线技术 并行计算 SIMD 空间 多处理器 MIMD 串行计算 SISD

并行计算模型 从不同并行计算机体系结构中抽象出来的、供并行算法设计者使用的一种抽象的并行机。 连接软件和硬件的桥梁。

并行计算模型 PRAM 给算法设计者 提供设计基础 通用性较强 可移植性好 BSP 并行计算模型 LogP C3 串行计算模型 冯诺依曼

PRAM模型 PRAM (Parallel Random Access Machine)是一种理想的并行计算模型,属于SIMD共享存储模型。 一台PRAM并行计算机由若干处理机和一个全局的共享存储器构成。通过SM的R/W交换数据,隐式同步计算。

PRAM模型 P1 共享存储器 P2 …… Pn

适于算法设计、分析 底层细节隐藏在模型中 优点 算法易修改,可移植性强 扩展性强 PRAM 共享存储器容量无限大 理想化 无限多功能相同处理器 处理器任何时刻可交换数据

BSP(Bulk Synchronous Parallel)模型 把并行计算机抽象为三个独立的模块: 处理器-内存单元 全局的通信网络 各处理器之间的路障同步机制

BSP模型 存储器 存储器 …… 处理机 处理机 全局互联网络 路障同步机构 模型参数 p:处理器数(带有存储器) g:全局通信网络的路由器吞吐率(带宽因子) L:路障同步的开销

一个BSP计算过程由若干超级步组成,每个超级步具体分为三个部分: 首先各处理机进行本地计算。 各处理机向其它处理机提出远程内存读写请求。 所有处理机进行路障同步,本次超级步的数据通信仅当同步以后有效。

BSP模型中的计算过程

BSP模型成本分析 在BSP计算中,如果用了s个超级步,则总的运行时间为:

BSP模型特点 将处理器和路由器分开,强调了计算任务和通信任务的分开。 路由器仅仅完成点到点的消息传递,简化了通信协议 。 采用障碍同步的方式以硬件实现全局同步 ,减轻了程序员负担。

LogP模型 基本概念 模型参数 一种分布存储的、点到点通信的多处理机模型。其中通信由一组参数描述,实行隐式同步。 L(Latency):源处理机与目标处理机之间进行消息通信所需要的等待延迟时间的上限。 o(overhead):处理机准备发送或准备接受每个消息的时间开销,在这段时间内处理机不能执行其它操作。 g(gap):一台处理机连续两次发送或连续两次接受消息时的最小时间间隔,其倒数即为处理机的通信带宽。 P(Processor):处理机个数。

LogP模型特点 描述分布式存储互联网络特征 抓住网络与处理机的性能瓶颈 LogP 处理机间异步工作,通过消息传送同步 根据参数分析算法通信复杂度 预估算法的实际运行时间

C3模型 计算单元CU 本地计算量 超级步性能分析 处理机发送接收数据量 通信单元COU 消息的延迟 通信的拥挤量

C3模型 模型参数 p 处理器个数 h 网络延迟 b 网络的对分宽度 S 启动时间,及建立一个消息时的开销 L 消息包的长度,即消息包所含字节数

C3模型开销 C3模型用2个量C和La来描述网络的拥挤,其中,C表示参与通信的处理机对的数目, La表示处理机间路由消息包的平均数目,则有   (1) 连接上的拥挤量Cl=La*C/b   (2) 处理机上的拥挤量Cp=La*C/b*h 在一个超步中,若Si与Ri分别表示第i个处理机总的发送和接收时间,则有    COU=max(Si+Ri)+Cl+Cp, 0<i<p-1

小结 LogP模型最复杂,PRAM模型最简单。 BSP模型可以看成是LogP模型的改进和演化,而PRAM模型又可以看成是BSP模型的简化。 BSP模型较好的综合了其他两个模型的优点,在面向物理机器实现方面优于PRAM模型,而和LogP模型相比,又更加便于进行算法设计和性能预测。

并行算法在遥感图像融合的应用 遥感图像融合简介 主成分分析(PCA) 串行PCA 并行PCA

遥感图像融合简介 图1(a) MS图像 图1(b) Pan图像

遥感图像融合简介 图2 融合后的图像

遥感图像融合简介 遥感图像融合常用技术: 比值融合方法 滤波融合方法 多分辨率分析方法 成分替换方法(如PCA)

主要成分分析简介 主成分分析方法 把原来多个变量划为少数几个综合指标的一种统计分析 方法。从数学角度来看,这是一种降维处理技术。

主要成分分析简介 例:评价学生的综合能力 基础知识(x1) 动手能力(x2) 学习能力(x3) 学生1 8 2 5 学生2 6 学生3 9 学生4 4 7 学生5 学生6 学生7 学生8

原始数据: 第一步:进行标准化处理 则:

第二步:计算相关系数矩阵R 则: 其中:

第三步:计算R的特征值和特征向量 根据特征方程 计算特征值,并使其按大小顺序排列为: 的特征向量 ,由 计算得到: 本例计算得到: 特征值: 对应的特征向量:

第四步:计算各主成分 其中:

第五步:计算第k个主成分贡献率及累计贡献率 贡献率: 累计贡献率: 取选取主成分个数原则: 一般取累计贡献率达85—95%的特征值所对应的第一、第二、…、第m(m≤p)个主成分。 本例计算得到: 特征值: 贡献率: 0.46 0.37 0.17 累计贡献率: 0.46 0.83 1.00 故只需取第一和第二主成分。

串行PCA 基本说明: 图像表示为向量形式; Pan图像和MS图像配准 ,使尺寸一样,为m×n; MS图像的R、G、B三个波段数据以一个矩阵输入,则输入矩阵为s×3的大小,其中s=m×n。 图(a) MS图像 图(b) Pan图像

串行PCA 图3 串行PCA融合过程

串行PCA 第一步:输入矩阵的协方差矩阵: R= 其中σij表示第i和第j个波段的数据做协方差计算,计算公式为:

串行PCA 第二步:计算协方差矩阵的特征向量v及特征值d; 第三步:将特征向量矩阵v乘以输入数据矩阵得到主成分矩阵P,记P中对应于最大特征值的一行P1为第一主成分; 第四步:将P1用经过拉伸后的全色图像pan的数据替换,得到新的P矩阵; 第五步:v矩阵的转置v’乘以P矩阵,反变换回RGB坐标系统。

并行PCA 图4 数据并行划分

并行PCA 并行计算模型: BSP模型 并行算法模型: 数据并行模型 图5 PCA并行机

图6 并行PCA算法的并行流程 59

并行PCA 第一步:输入矩阵的协方差矩阵: 其中: R=

并行PCA 各个结点Pi进程将 传给主结点P; 再由主结点P算出整幅图像的R、G、B平均值后,广播给其它结点。

并行PCA 第二步:计算协方差矩阵的特征向量v及特征值d;由主进程完成,并将计算结果广播到其他非主进程结点; 第三步:在每个结点上,完成由R、G、B向P1、P2、P3的转换,记P中对应于最大特征值的一行P1为第一主成分。 62

并行PCA 第四步:在每个结点上,将P矩阵的第一主成分用经过拉伸后的全色图像pan的数据替换; 第五步:在各个结点进程上,v矩阵的转置v’乘以P矩阵,反变换回RGB坐标系统。此步骤不涉及到各个结点进程间的通信,可以完全并发的执行。

并行PCA 实验结果: 图7(a) MS图像 图7(b) Pan图像

并行PCA 实验结果: 图8(a) MS图像 图8(b) 融合后图像

并行PCA 性能分析: 表2各种图像的执行时间(单位s)