软件系统优化

本书详细介绍了软件系统优化的原理、技术和常用方法,强调系统优化应具备从单点到全局的“系统观”,提出了“数据驱动的系统优化”方法,围绕“软件+硬件+数据”三个方面展开讲解。本书共 18 章,分为五个部分。第一部分包括第 1 章和第 2 章,从一个性能优化案例引入,概述了软件系统优化的方法论。第二部分包括第 3~6 章,介绍了性能工程的基础知识。第三部分包括第 7~10 章,介绍计算机体系结构优化的相关知识。第四部分包括第 11~16 章,介绍编译优化的相关知识。第五部分包括第 17 章和第 18 章,针对新兴场景下的系统优化技术展开专题讨论。

本书内容全面,体系完整,适合作为高校计算机及相关专业高年级本科生、研究生的教材,也可作为从事系统优化工作的技术人员的参考书。

教材配套资料

教材示例代码

软件系统优化配套代码仓库@Github

教学计划与课程资料

包含 PDF 版本的理论教学课件、上机作业与实践项目。

理论课 实践课
模块 主题 上机作业(2 周 / 个) 实践项目(4 周 / 个)
1 绪论 [PDF] 矩阵乘法优化案例
2 方法论概述
3 性能工程基础 性能测量 [PDF] A1 初试环境和工具 [PDF]
4 基准评测 [PDF] A2 SPECjvm2008 基准测试 [PDF] P1 矩阵乘法自动调优器 [PDF]
5 配置优化 [PDF] A1 提交
6 性能评价 [PDF] A2 提交
A1 反馈和检查
7 计算机体系结构优化 处理器优化 [PDF] A2 反馈和检查
8 存储器优化 [PDF] P1 提交
9 微体系结构性能分析 [PDF] P2 剖析合并排序 [PDF]
P1 反馈和检查
10 异构计算与编程 [PDF] A3 oneAPI 异构编程 [PDF]
11 编译优化 源程序级别的常见优化方法 [PDF]
12 编译器概述 [PDF] A4 GCC 与 Clang/LLVM 优化比较 [PDF]
A3 提交
P3 交叉编译与跨平台应用仿真 [PDF]
13 目标指令集架构及汇编语言 [PDF] A3 反馈和检查 P2 提交
14 C 程序的汇编代码生成 [PDF] A4 提交 P2 反馈和检查
15 编译器的优化能力 [PDF] A5 向量化 [PDF]
A4 反馈和检查
16 程序插桩及优化机会识别 [PDF] P3 提交
17 专题讨论 数据中心的性能优化 [PDF] A5 提交 P3 反馈和检查
18 深度学习框架的优化 [PDF] A5 反馈和检查

勘误

后续教材的勘误信息将会在此页面发布

如果您有任何意见、建议或者评论,欢迎通过邮箱 [email protected] 进行反馈。