《软件优化技术》课程网站
课程名:软件优化技术
课程内容
讨论软件优化的核心概念、技术与实践,使学生:
- 了解软件优化的基本概念;
- 了解面向软件优化的体系结构支持,包括指令集风格、寄存器、缓存、分支预测等;
- 了解面向软件优化的操作系统支持,包括页面缓存、页面调度、文件目录缓存等;
- 了解面向软件优化的运行时支持,包括Just-in-time编译、基于运行时profiling的优化、内存管理、垃圾回收等;
- 了解面向软件优化的编译支持,包括常见的编译优化技术;
- 有益于从事全栈优化框架或者软硬件基础设施的研发。
考核方式:
- 课堂Presentation,以及课程报告
- 最后一次课之前完成ppt展示(50%)
- ppt时间为25~35分钟
- 鼓励提前完成(以免第最后一次课扎堆,时间不够)
- 期末之前完成课程报告(50%)
- 独立完成
丢分点:
- 禁止大幅抄袭博客或现有技术资料(本课程会对课程报告,进行网络查重和报告间查重)
- 切勿过泛过浅,缺乏细节展开
考核选题参考
从给定论文列表中选择一篇论文精读(不限一篇,需参考相关文献),也可以自选论文(需事先与老师沟通,并获同意),基本要求:
- 该问题的应用背景是什么
- 该领域的困难和挑战是什么
- 该领域的研究历史和现状如何
- 该论文的贡献是什么【尤其是经典论文的创新贡献是什么】
- 作者如何验证该方法的有效性,效果如何
- <font color=#00FF00>觉得可以在课堂上跟大家分享或讨论的至少2个点(必需)</font>
- 你认为该方法为什么有效(bonus)
- 论文工作的有待改进之处和展望(bonus)
从给定题目列表中选择一个题目,也可以自拟题目(需事先与老师沟通,并获同意),基本要求:
- 该问题的应用背景是什么
- 该领域的困难和挑战是什么
- 该题目领域的优化方法的历史与现状
- 重点展开讨论其中1-2个最有意思的优化方法
- 该题目领域后续的问题及解决思路展望
- <font color=#00FF00>觉得可以在课堂上跟大家分享或讨论的至少2个点(必需)</font>
- 有实验分析或实验对比(bonus)
- 有独到见解,并有支撑(bonus)
参考资料
1)Computer Systems: A Programmer’s Perspective
深入理解计算机系统(csapp),第3版,2016
- 作者:Randal E. Bryant and David R. O’Hallaron
- 教材官网:http://csapp.cs.cmu.edu
2)Computer Organization and Design:The Hardware/Software Interface
- 作者:David A.Patterson,John L.Hennessy
- 中文名:计算机组成与设计硬件/软件接口
3) Computer Architecture:A Quantitative Approach
- 作者:John L. Hennessy, David A. Patterson
- 中文名:计算机体系结构:一种量化方法