并行处理技术课程设计 -...
TRANSCRIPT
![Page 1: 并行处理技术课程设计 - cs.nju.edu.cn–课程Project:给定一些确定的课题,让学生在规定时 间内完成简单的Technique Report,例如: •如何用并行算法实现快速搜索,快速排序?](https://reader033.vdocuments.mx/reader033/viewer/2022051311/603eb24713566d6d1b071642/html5/thumbnails/1.jpg)
并行处理技术课程设计
任课教师:谢磊 博士副教授、博士生导师
![Page 2: 并行处理技术课程设计 - cs.nju.edu.cn–课程Project:给定一些确定的课题,让学生在规定时 间内完成简单的Technique Report,例如: •如何用并行算法实现快速搜索,快速排序?](https://reader033.vdocuments.mx/reader033/viewer/2022051311/603eb24713566d6d1b071642/html5/thumbnails/2.jpg)
主讲教师信息
• 主讲教师: 谢磊 博士,副教授,博士生导师• 研究方向:分布式计算、智能感知计算• 联系方式– Email:[email protected]– 手机:13805150963
• 办公室:仙林校区计算机系大楼607室• 主页: http://cs.nju.edu.cn/lxie/
![Page 3: 并行处理技术课程设计 - cs.nju.edu.cn–课程Project:给定一些确定的课题,让学生在规定时 间内完成简单的Technique Report,例如: •如何用并行算法实现快速搜索,快速排序?](https://reader033.vdocuments.mx/reader033/viewer/2022051311/603eb24713566d6d1b071642/html5/thumbnails/3.jpg)
一、课程简介
三、课程的结构与内容
主要内容:
二、课程的定位与目标
五、课程的考核形式
六、课程的参考书籍
四、课程的教学形式
![Page 4: 并行处理技术课程设计 - cs.nju.edu.cn–课程Project:给定一些确定的课题,让学生在规定时 间内完成简单的Technique Report,例如: •如何用并行算法实现快速搜索,快速排序?](https://reader033.vdocuments.mx/reader033/viewer/2022051311/603eb24713566d6d1b071642/html5/thumbnails/4.jpg)
课程简介-为何需要并行计算?
How to run applications
faster?
![Page 5: 并行处理技术课程设计 - cs.nju.edu.cn–课程Project:给定一些确定的课题,让学生在规定时 间内完成简单的Technique Report,例如: •如何用并行算法实现快速搜索,快速排序?](https://reader033.vdocuments.mx/reader033/viewer/2022051311/603eb24713566d6d1b071642/html5/thumbnails/5.jpg)
课程简介- How to run applications faster?
• Three ways to improve performance
–Work Harder
–Work Smarter
– Get Help
![Page 6: 并行处理技术课程设计 - cs.nju.edu.cn–课程Project:给定一些确定的课题,让学生在规定时 间内完成简单的Technique Report,例如: •如何用并行算法实现快速搜索,快速排序?](https://reader033.vdocuments.mx/reader033/viewer/2022051311/603eb24713566d6d1b071642/html5/thumbnails/6.jpg)
课程简介- Computer Analogy
• Faster hardware
• Optimized algorithms and Techniques
• Multiple computers to solve problem
![Page 7: 并行处理技术课程设计 - cs.nju.edu.cn–课程Project:给定一些确定的课题,让学生在规定时 间内完成简单的Technique Report,例如: •如何用并行算法实现快速搜索,快速排序?](https://reader033.vdocuments.mx/reader033/viewer/2022051311/603eb24713566d6d1b071642/html5/thumbnails/7.jpg)
课程简介-经典的并发模型:Pipeline (1)
![Page 8: 并行处理技术课程设计 - cs.nju.edu.cn–课程Project:给定一些确定的课题,让学生在规定时 间内完成简单的Technique Report,例如: •如何用并行算法实现快速搜索,快速排序?](https://reader033.vdocuments.mx/reader033/viewer/2022051311/603eb24713566d6d1b071642/html5/thumbnails/8.jpg)
课程简介-经典的并发模型:Pipeline (2)
![Page 9: 并行处理技术课程设计 - cs.nju.edu.cn–课程Project:给定一些确定的课题,让学生在规定时 间内完成简单的Technique Report,例如: •如何用并行算法实现快速搜索,快速排序?](https://reader033.vdocuments.mx/reader033/viewer/2022051311/603eb24713566d6d1b071642/html5/thumbnails/9.jpg)
课程简介-经典的并发模型:Pipeline (3)
• A canonical five-stage pipeline in a RISCmachine (IF = Instruction Fetch, ID = Instruction Decode, EX = Execute, MEM = Memory access, WB = Register write back)
![Page 10: 并行处理技术课程设计 - cs.nju.edu.cn–课程Project:给定一些确定的课题,让学生在规定时 间内完成简单的Technique Report,例如: •如何用并行算法实现快速搜索,快速排序?](https://reader033.vdocuments.mx/reader033/viewer/2022051311/603eb24713566d6d1b071642/html5/thumbnails/10.jpg)
课程简介-经典的并发模型:Pipeline (4)
• A five-stage pipelined superscalar processor, capable of issuing two instructions per cycle. It can have two instructions in each stage of the pipeline, for a total of up to 10 instructions (shown in green) being simultaneously executed.
![Page 11: 并行处理技术课程设计 - cs.nju.edu.cn–课程Project:给定一些确定的课题,让学生在规定时 间内完成简单的Technique Report,例如: •如何用并行算法实现快速搜索,快速排序?](https://reader033.vdocuments.mx/reader033/viewer/2022051311/603eb24713566d6d1b071642/html5/thumbnails/11.jpg)
课程简介-经典的并发模型:Pipeline (5)
![Page 12: 并行处理技术课程设计 - cs.nju.edu.cn–课程Project:给定一些确定的课题,让学生在规定时 间内完成简单的Technique Report,例如: •如何用并行算法实现快速搜索,快速排序?](https://reader033.vdocuments.mx/reader033/viewer/2022051311/603eb24713566d6d1b071642/html5/thumbnails/12.jpg)
课程简介-并行计算的定义
• 并行计算– Parallel Computing:Multiple processes
cooperating to solve a single problem.– A Parallel Computer is a “collection of processing
elements that communicate and cooperate to solve large problem fast” [David E. Culler]
• 计算科学– 理论科学、实验科学外一个新的学科分支– 计算科学:计算物理、计算化学、计算生物等
![Page 13: 并行处理技术课程设计 - cs.nju.edu.cn–课程Project:给定一些确定的课题,让学生在规定时 间内完成简单的Technique Report,例如: •如何用并行算法实现快速搜索,快速排序?](https://reader033.vdocuments.mx/reader033/viewer/2022051311/603eb24713566d6d1b071642/html5/thumbnails/13.jpg)
课程简介-并行计算的应用需求
• 科学与工程问题的需求– 气象预报、油藏模拟、核武器
数值模拟、航天器设计、基因测序等。
– 需求类型:计算密集、数据密集、网络密集。
![Page 14: 并行处理技术课程设计 - cs.nju.edu.cn–课程Project:给定一些确定的课题,让学生在规定时 间内完成简单的Technique Report,例如: •如何用并行算法实现快速搜索,快速排序?](https://reader033.vdocuments.mx/reader033/viewer/2022051311/603eb24713566d6d1b071642/html5/thumbnails/14.jpg)
课程简介-并行计算的范畴
• 相对于串行计算,并行计算可以划分成时间并行和空间并行。
• 时间并行即流水线技术,空间并行使用多个处理器执行并发计算,当前研究的主要是空间的并行问题。
• 以程序和算法设计人员的角度看,并行计算又可分为数据并行和任务并行。数据并行把大的任务化解成若干个相同的子任务,处理起来比任务并行简单。
![Page 15: 并行处理技术课程设计 - cs.nju.edu.cn–课程Project:给定一些确定的课题,让学生在规定时 间内完成简单的Technique Report,例如: •如何用并行算法实现快速搜索,快速排序?](https://reader033.vdocuments.mx/reader033/viewer/2022051311/603eb24713566d6d1b071642/html5/thumbnails/15.jpg)
并行计算的设计过程
• 并行计算的一般设计过程– 划分、通信、组合、
映射
问题
划分
映射
组合
通信
![Page 16: 并行处理技术课程设计 - cs.nju.edu.cn–课程Project:给定一些确定的课题,让学生在规定时 间内完成简单的Technique Report,例如: •如何用并行算法实现快速搜索,快速排序?](https://reader033.vdocuments.mx/reader033/viewer/2022051311/603eb24713566d6d1b071642/html5/thumbnails/16.jpg)
课程简介-并行计算面临的挑战
• 并行计算 vs 串行计算– 是否一定能够得到性能的提升?– 是否能够得到性价比的提升?
• 如何提升并行计算的性能?– 硬件 (结构)– 软件 (算法、编程)
• 并行计算的性能瓶颈– 同步– 通信
• 如何将并行计算的理念实际转化到当前的高性能应用中?
![Page 17: 并行处理技术课程设计 - cs.nju.edu.cn–课程Project:给定一些确定的课题,让学生在规定时 间内完成简单的Technique Report,例如: •如何用并行算法实现快速搜索,快速排序?](https://reader033.vdocuments.mx/reader033/viewer/2022051311/603eb24713566d6d1b071642/html5/thumbnails/17.jpg)
课程定位-本科生课程
可计算性与计算复杂性
算法研究的数学基础
并行排序和选择算法
VLSI计算理论与并行算法
并行图论算法 分布式算法
并行算法类课程教学网站
并行算法类课程实践
并行算法实践并行计算机体系结构
并行计算:结构.算法.编程
高性能计算导论
面向
计算机
专业博士生
面向
计算机
专业硕
士生
面向
计算机
专业
本科生
或计算科学的研究生
算法理
论
算法
设计
与分析
算法
实现
算法
应用基
础
并行算法的设计与分析
![Page 18: 并行处理技术课程设计 - cs.nju.edu.cn–课程Project:给定一些确定的课题,让学生在规定时 间内完成简单的Technique Report,例如: •如何用并行算法实现快速搜索,快速排序?](https://reader033.vdocuments.mx/reader033/viewer/2022051311/603eb24713566d6d1b071642/html5/thumbnails/18.jpg)
课程的目标
• 全面介绍并行计算涉及的基础性内容。– 并行计算的硬件基础:并行计算机系统及结构模型– 并行计算的核心内容:并行算法设计与并行数值算法– 并行计算的软件支持:并行程序的设计原理与方法
• 以并行算法设计为课程的核心内容。– 并行算法的设计基础– 并行算法的设计策略– 并行算法的设计技术– 并行算法的设计过程
![Page 19: 并行处理技术课程设计 - cs.nju.edu.cn–课程Project:给定一些确定的课题,让学生在规定时 间内完成简单的Technique Report,例如: •如何用并行算法实现快速搜索,快速排序?](https://reader033.vdocuments.mx/reader033/viewer/2022051311/603eb24713566d6d1b071642/html5/thumbnails/19.jpg)
课程的结构与内容
算法
编程
结构
并行计算
应用
![Page 20: 并行处理技术课程设计 - cs.nju.edu.cn–课程Project:给定一些确定的课题,让学生在规定时 间内完成简单的Technique Report,例如: •如何用并行算法实现快速搜索,快速排序?](https://reader033.vdocuments.mx/reader033/viewer/2022051311/603eb24713566d6d1b071642/html5/thumbnails/20.jpg)
课程的结构与内容
• 并行计算硬件结构基础 (30%课时量)
第一章 并行计算机系统及其结构模型
第二章 当代并行机系统:SMP、MPP和Cluster
第三章 并行计算性能评测
![Page 21: 并行处理技术课程设计 - cs.nju.edu.cn–课程Project:给定一些确定的课题,让学生在规定时 间内完成简单的Technique Report,例如: •如何用并行算法实现快速搜索,快速排序?](https://reader033.vdocuments.mx/reader033/viewer/2022051311/603eb24713566d6d1b071642/html5/thumbnails/21.jpg)
课程的结构与内容
• 并行算法的设计(40%课时量)
第四章 并行算法的设计基础
第五章 并行算法的一般设计方法
第六章 并行算法的基本设计技术
第七章 并行算法的一般设计过程
![Page 22: 并行处理技术课程设计 - cs.nju.edu.cn–课程Project:给定一些确定的课题,让学生在规定时 间内完成简单的Technique Report,例如: •如何用并行算法实现快速搜索,快速排序?](https://reader033.vdocuments.mx/reader033/viewer/2022051311/603eb24713566d6d1b071642/html5/thumbnails/22.jpg)
课程的结构与内容
• 并行数值算法(15%课时量)
第八章 基本通信操作
第九章 稠密矩阵运算
第十章 线性方程组的求解
第十一章 快速傅里叶变换
![Page 23: 并行处理技术课程设计 - cs.nju.edu.cn–课程Project:给定一些确定的课题,让学生在规定时 间内完成简单的Technique Report,例如: •如何用并行算法实现快速搜索,快速排序?](https://reader033.vdocuments.mx/reader033/viewer/2022051311/603eb24713566d6d1b071642/html5/thumbnails/23.jpg)
课程的结构与内容
• 并行计算应用(15%课时量)
专题报告1:“云计算”中的并行计算
专题报告2:Google Map-Reduce的概念、原理与应用
专题报告3:边缘智能-边缘计算时代的人工智能
![Page 24: 并行处理技术课程设计 - cs.nju.edu.cn–课程Project:给定一些确定的课题,让学生在规定时 间内完成简单的Technique Report,例如: •如何用并行算法实现快速搜索,快速排序?](https://reader033.vdocuments.mx/reader033/viewer/2022051311/603eb24713566d6d1b071642/html5/thumbnails/24.jpg)
教学内容的思考
• 相对于传统的并行计算课程,教学侧重点– 更侧重并行算法的讲授• 充分意识到并行算法在并行计算中的重要性• 本课程的定位:将并行算法作为核心内容
– 更为侧重方法论的灌输• 系统性地学习并行计算的相关概念• 掌握并行算法设计的原理、策略与技巧• 培养解决问题的思路,加深对问题、方法的理解
![Page 25: 并行处理技术课程设计 - cs.nju.edu.cn–课程Project:给定一些确定的课题,让学生在规定时 间内完成简单的Technique Report,例如: •如何用并行算法实现快速搜索,快速排序?](https://reader033.vdocuments.mx/reader033/viewer/2022051311/603eb24713566d6d1b071642/html5/thumbnails/25.jpg)
教学内容的思考
• 相对于传统的并行计算课程,教学侧重点– 面向实际、具体的问题进行算法设计的讲授• 并行非数值算法设计方法–并行排序算法–并行选择算法–字符串匹配并行算法–图论中的一些并行算法:最小生成树,单源最短
路径• 并行数值算法设计方法–并行快速傅里叶变换
![Page 26: 并行处理技术课程设计 - cs.nju.edu.cn–课程Project:给定一些确定的课题,让学生在规定时 间内完成简单的Technique Report,例如: •如何用并行算法实现快速搜索,快速排序?](https://reader033.vdocuments.mx/reader033/viewer/2022051311/603eb24713566d6d1b071642/html5/thumbnails/26.jpg)
教学内容的思考
• 课程的组织结构–以“结构、算法、编程”教学大纲为横线• 全面的介绍并行计算的概念与原理
–以具体问题的算法设计讲授为纵线• 实现“问题驱动”的教学,其效果会更好
![Page 27: 并行处理技术课程设计 - cs.nju.edu.cn–课程Project:给定一些确定的课题,让学生在规定时 间内完成简单的Technique Report,例如: •如何用并行算法实现快速搜索,快速排序?](https://reader033.vdocuments.mx/reader033/viewer/2022051311/603eb24713566d6d1b071642/html5/thumbnails/27.jpg)
课程的教学形式
• 授课对象– 计算机系本科大三、大四学生;
• 先修课程– 计算机体系结构、操作系统、算法设计与分析
• 课时– 课堂讲授16周,每周2学时
![Page 28: 并行处理技术课程设计 - cs.nju.edu.cn–课程Project:给定一些确定的课题,让学生在规定时 间内完成简单的Technique Report,例如: •如何用并行算法实现快速搜索,快速排序?](https://reader033.vdocuments.mx/reader033/viewer/2022051311/603eb24713566d6d1b071642/html5/thumbnails/28.jpg)
课程的考核形式
• 课程作业 + 期末考试• 课程作业主要包括– 教材中每章节的习题– 课程Project:给定一些确定的课题,让学生在规定时
间内完成简单的Technique Report,例如:• 如何用并行算法实现快速搜索,快速排序?• 面对资源共享锁问题,如何设计并行算法来提高性能?
• 打分方式: 课程作业 × 20% + 期末考试分数 × 80 %
![Page 29: 并行处理技术课程设计 - cs.nju.edu.cn–课程Project:给定一些确定的课题,让学生在规定时 间内完成简单的Technique Report,例如: •如何用并行算法实现快速搜索,快速排序?](https://reader033.vdocuments.mx/reader033/viewer/2022051311/603eb24713566d6d1b071642/html5/thumbnails/29.jpg)
课程的参考资源-教材
• 《并行计算—结构•算法•编程》– 作 者:陈国良 编
著– 出 版 社:高等教育出
版社