并行计算
形式科学:计算机科学 - 计算机系统 - 并行计算
课程大纲
第1周:课程介绍与并行计算基础
- 主题: 并行计算概述
- 学习目标:
- 理解并行计算的基本概念
- 介绍并行处理模型(共享内存、消息传递)
- 阅读资源: 《现代操作系统》(C.A.R. Hoare)
- 教学方法: 讲座、小组讨论
- 评估: 课后小测验
第2周:多线程编程
- 主题: 线程与并发控制
- 学习目标:
- 学习线程的基本概念
- 掌握线程同步机制(互斥锁、条件变量)
- 阅读资源: 《深入理解计算机系统》(Randal E. Bryant & David R. O'Hallaron)
- 教学方法: 实践编程练习
- 评估: 编程作业
第3周:并行算法与性能分析
- 主题: 分布式计算与性能指标
- 学习目标:
- 理解并行算法设计原则
- 学习性能度量(速度up、效率、负载平衡)
- 阅读资源: 《并行算法设计与分析》(Michael T. Goodrich)
- 教学方法: 讨论与案例研究
- 评估: 小论文撰写
第4周:GPU编程与并行计算
- 主题: GPU并行编程入门
- 学习目标:
- 了解CUDA和OpenCL等GPU编程语言
- 实践基本GPU计算任务
- 阅读资源: 《CUDA编程指南》(NVIDIA)
- 教学方法: 实践项目
- 评估: GPU编程作业
第5周:并行数据库与分布式系统
- 主题: 分布式数据管理与一致性问题
- 学习目标:
- 了解分布式数据库系统
- 探讨分布式一致性模型
- 阅读资源: 《分布式数据库系统》(Jim Gray)
- 教学方法: 讨论与案例研究
- 评估: 分布式系统设计报告
第6周:并行编程工具与实践
- 主题: 工具和技术实践
- 学习目标:
- 介绍并行编程工具如MPI、Hadoop等
- 深入了解并行编程实践中的挑战与解决方案
- 阅读资源: 《大规模并行编程》(Peter van der Linden)
- 教学方法: 实战项目与小组演示
- 评估: 项目演示与代码审查
第7周:期末复习与总结
- 主题: 课程回顾与未来展望
- 学习目标:
- 回顾并巩固所学知识
- 思考并行计算的未来趋势
- 教学方法: 自我测试与研讨会
- 评估: 期末考试
整个课程将结合理论讲解、案例分析、编程实践和项目实施,确保学生能够从多个角度理解和掌握并行计算。