课程大纲

课程大纲

并行处理

课程编码:085400M05016T 英文名称:Parallel Processing 课时:40 学分:2.00 课程属性:专业普及课 主讲教师:谭光明等

教学目的要求
近年来,多核处理器逐渐占据了通用处理器市场的主导地位,并行计算机因此也成为人们日常使用的主要计算机类型。由此,如何用好并行计算机,必然成为系统开发人员和计算机用户们无法回避的关键问题。作为一门计算机系统结构专业的研究生专业课,本课程主要讨论各类并行计算机系统设计中的核心问题,涉及计算模型、编程模型、体系结构、性能分析等内容,帮助学生建立并行计算机系统设计和应用的整体概念和基本思路,为今后从事多核和众核处理器及各种并行计算机系统的设计、编程和应用打下基础。

预修课程
计算机系统结构、操作系统、C语言编程、计算机网络

大纲内容
第一章 并行处理基础 9.0学时
第1节 课程介绍,并行处理基础知识、发展历史
第2节 并行体系结构分类介绍,数据并行、共享内存并行、消息传递并行体系结构原理及其典型案例
第3节 并行编程模型介绍,数据并行、共享内存并行、消息传递并行编程模型原理及其典型案例
第4节 并行编程基础:如何编写并行程序
第5节 并行编程基础:如何优化并行程序,包括负载平衡、局部性、通信和竞争优化
第二章 性能评价方法 6.0学时
第1节 性能评价方法:性能模型-并行程序性能评测指标包括加速比、扩展性;计算模型包括BSP、LogP
第2节 性能评价方法:系统评测及仿真、基准测试程序
第4节 性能评价方法:Roofline模型及案例分析
第三章 数据并行结构及编程 3.0学时
第1节 数据并行结构及编程:向量计算机及处理器、GPU
第3节 数据并行结构及编程:CUDA编程模型
第四章 共享内存结构及编程 3.0学时
第1节 共享内存结构及编程:相关性协议及一致性模型设计原理及案例剖析
第五章 互连网络和消息传递编程 6.0学时
第1节 系统互连网络:协议、拓扑结构及案例分析
第2节 系统互连网络:大规模互连网络模拟
第3节 消息传递结构及编程:RDMA硬件体系结构
第4节 消息传递结构及编程:系统级编程接口-IB verbs编程
第六章 同步操作设计与实现 3.0学时
第1节 同步操作设计与实现:锁、栅障的设计与实现
第七章 并行文件系统 3.0学时
第1节 并行文件系统:硬件、系统设计及案例
第2节 并行文件系统:并行I/O系统级和用户级编程接口和框架
第八章 其他并行应用介绍 6.0学时
第1节 数据仓储级并行:数据中心、云计算的扩展性、大数据体系结构及编程模型
第2节 深度学习中的并行:深度学习体系结构及编程并行框架和算法
第九章 课程总结 1.0学时
第1节 考试:以课程总结的方式:比如结合实验课的实践或者自己科研项目制作报告演讲

教材信息
1、 Parallel Computer Architecture: A Hardware/Software Approach David Culler 1999年5月 机械工业出版社

参考书
1、 Fundamentals of Parallel Processing Jordan 2003 清华大学出版社

课程教师信息
谭光明研究员多年来一直从事高性能计算领域的算法设计和优化的研究工作,作为曙光高性能计算机团队中算法与应用方向的负责人,参与了曙光4000、曙光 5000 、曙光 6000(星云)、曙光7000系列国产超级计算机系统的研制。在高性能算法设计、领域编程与自动调优和领域专用加速计算三个方面取得了若干创新性和系统性的研究成果,对曙光高性能计算机的性能优化和应用推广贡献了关键技术,获得了 1 项国家科技进步二等奖。