课程大纲

课程大纲

并行处理

课程编码: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 清华大学出版社

课程教师信息
王展,中国科学院计算技术研究所高性能计算机研究中心副研究员,主要从事高性能计算机体系结构、智能计算机体系结构、高性能互连网络方面的研究工作。作为项目骨干参与了曙光6000和曙光7000高性能计算机互连网络部分的 研制,主持了十三五重点研发计划课题1项,中国科学院先导B类专项课题1项,国家自然科学青年基金1项;在高性能计算和互连网络方面发表了20余篇论文,申请了10余项发明专利。2017年入选计算技术研究所学术百星,2018年入选中国科学院青年创新促进联合会、北京分会第三届委员会委员。
邵恩,中国科学院计算技术研究所 高级工程师 硕士生导师,博士毕业于中国科学院大学。在高性能计算机研制方面,主要负责机群操作系统的开发与研制工作,具体攻关技术方向包括:计算机系统结构、超算系统软件。承担和参与国家重点研发计划、国家自然科学基金、总装预研、CCF-百度松果基金等项目及课题的科研任务。