Upload
others
View
8
Download
0
Embed Size (px)
Citation preview
并行处理技术课程设计
任课教师:谢磊 博士副教授、博士生导师
主讲教师信息
• 主讲教师: 谢磊 博士,副教授,博士生导师• 研究方向:分布式计算、智能感知计算• 联系方式– Email:[email protected]– 手机:13805150963
• 办公室:仙林校区计算机系大楼607室• 主页: http://cs.nju.edu.cn/lxie/
一、课程简介
三、课程的结构与内容
主要内容:
二、课程的定位与目标
五、课程的考核形式
六、课程的参考书籍
四、课程的教学形式
课程简介-为何需要并行计算?
How to run applications
faster?
课程简介- How to run applications faster?
• Three ways to improve performance
–Work Harder
–Work Smarter
– Get Help
课程简介- Computer Analogy
• Faster hardware
• Optimized algorithms and Techniques
• Multiple computers to solve problem
课程简介-经典的并发模型:Pipeline (1)
课程简介-经典的并发模型:Pipeline (2)
课程简介-经典的并发模型: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)
课程简介-经典的并发模型: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.
课程简介-经典的并发模型:Pipeline (5)
课程简介-并行计算的定义
• 并行计算– 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]
• 计算科学– 理论科学、实验科学外一个新的学科分支– 计算科学:计算物理、计算化学、计算生物等
课程简介-并行计算的应用需求
• 科学与工程问题的需求– 气象预报、油藏模拟、核武器
数值模拟、航天器设计、基因测序等。
– 需求类型:计算密集、数据密集、网络密集。
课程简介-并行计算的范畴
• 相对于串行计算,并行计算可以划分成时间并行和空间并行。
• 时间并行即流水线技术,空间并行使用多个处理器执行并发计算,当前研究的主要是空间的并行问题。
• 以程序和算法设计人员的角度看,并行计算又可分为数据并行和任务并行。数据并行把大的任务化解成若干个相同的子任务,处理起来比任务并行简单。
并行计算的设计过程
• 并行计算的一般设计过程– 划分、通信、组合、
映射
问题
划分
映射
组合
通信
课程简介-并行计算面临的挑战
• 并行计算 vs 串行计算– 是否一定能够得到性能的提升?– 是否能够得到性价比的提升?
• 如何提升并行计算的性能?– 硬件 (结构)– 软件 (算法、编程)
• 并行计算的性能瓶颈– 同步– 通信
• 如何将并行计算的理念实际转化到当前的高性能应用中?
课程定位-本科生课程
可计算性与计算复杂性
算法研究的数学基础
并行排序和选择算法
VLSI计算理论与并行算法
并行图论算法 分布式算法
并行算法类课程教学网站
并行算法类课程实践
并行算法实践并行计算机体系结构
并行计算:结构.算法.编程
高性能计算导论
面向
计算机
专业博士生
面向
计算机
专业硕
士生
面向
计算机
专业
本科生
或计算科学的研究生
算法理
论
算法
设计
与分析
算法
实现
算法
应用基
础
并行算法的设计与分析
课程的目标
• 全面介绍并行计算涉及的基础性内容。– 并行计算的硬件基础:并行计算机系统及结构模型– 并行计算的核心内容:并行算法设计与并行数值算法– 并行计算的软件支持:并行程序的设计原理与方法
• 以并行算法设计为课程的核心内容。– 并行算法的设计基础– 并行算法的设计策略– 并行算法的设计技术– 并行算法的设计过程
课程的结构与内容
算法
编程
结构
并行计算
应用
课程的结构与内容
• 并行计算硬件结构基础 (30%课时量)
第一章 并行计算机系统及其结构模型
第二章 当代并行机系统:SMP、MPP和Cluster
第三章 并行计算性能评测
课程的结构与内容
• 并行算法的设计(40%课时量)
第四章 并行算法的设计基础
第五章 并行算法的一般设计方法
第六章 并行算法的基本设计技术
第七章 并行算法的一般设计过程
课程的结构与内容
• 并行数值算法(15%课时量)
第八章 基本通信操作
第九章 稠密矩阵运算
第十章 线性方程组的求解
第十一章 快速傅里叶变换
课程的结构与内容
• 并行计算应用(15%课时量)
专题报告1:“云计算”中的并行计算
专题报告2:Google Map-Reduce的概念、原理与应用
专题报告3:边缘智能-边缘计算时代的人工智能
教学内容的思考
• 相对于传统的并行计算课程,教学侧重点– 更侧重并行算法的讲授• 充分意识到并行算法在并行计算中的重要性• 本课程的定位:将并行算法作为核心内容
– 更为侧重方法论的灌输• 系统性地学习并行计算的相关概念• 掌握并行算法设计的原理、策略与技巧• 培养解决问题的思路,加深对问题、方法的理解
教学内容的思考
• 相对于传统的并行计算课程,教学侧重点– 面向实际、具体的问题进行算法设计的讲授• 并行非数值算法设计方法–并行排序算法–并行选择算法–字符串匹配并行算法–图论中的一些并行算法:最小生成树,单源最短
路径• 并行数值算法设计方法–并行快速傅里叶变换
教学内容的思考
• 课程的组织结构–以“结构、算法、编程”教学大纲为横线• 全面的介绍并行计算的概念与原理
–以具体问题的算法设计讲授为纵线• 实现“问题驱动”的教学,其效果会更好
课程的教学形式
• 授课对象– 计算机系本科大三、大四学生;
• 先修课程– 计算机体系结构、操作系统、算法设计与分析
• 课时– 课堂讲授16周,每周2学时
课程的考核形式
• 课程作业 + 期末考试• 课程作业主要包括– 教材中每章节的习题– 课程Project:给定一些确定的课题,让学生在规定时
间内完成简单的Technique Report,例如:• 如何用并行算法实现快速搜索,快速排序?• 面对资源共享锁问题,如何设计并行算法来提高性能?
• 打分方式: 课程作业 × 20% + 期末考试分数 × 80 %
课程的参考资源-教材
• 《并行计算—结构•算法•编程》– 作 者:陈国良 编
著– 出 版 社:高等教育出
版社