形式科学:计算机科学 - 计算机系统 - 并行计算

课程大纲

第1周:课程介绍与并行计算基础

  • 主题: 并行计算概述
  • 学习目标:
    • 理解并行计算的基本概念
    • 介绍并行处理模型(共享内存、消息传递)
  • 阅读资源: 《现代操作系统》(C.A.R. Hoare)
  • 教学方法: 讲座、小组讨论
  • 评估: 课后小测验

第2周:多线程编程

第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周:期末复习与总结

  • 主题: 课程回顾与未来展望
  • 学习目标:
    • 回顾并巩固所学知识
    • 思考并行计算的未来趋势
  • 教学方法: 自我测试与研讨会
  • 评估: 期末考试

整个课程将结合理论讲解、案例分析、编程实践和项目实施,确保学生能够从多个角度理解和掌握并行计算。