190 likes | 458 Views
网络算法学. Network Algorithmics. 主讲:华蓓 办公室:科技实验西楼 617 室 电话: 63607043 ( O ) 电子邮件: bhua@ustc.edu.cn 主页: http://staff.ustc.edu.cn/~bhua 助教:王冬洋, dyw@mail.ustc.edu.cn. 主讲与助教. 教材与参考资料. [1] Network Algorithmics. George Varghese 著 . Morgan Kaufmann. 2004. [2] 相关文献资料. 课程简介.
E N D
网络算法学 Network Algorithmics
主讲:华蓓 办公室:科技实验西楼 617室 电话:63607043(O) 电子邮件:bhua@ustc.edu.cn 主页:http://staff.ustc.edu.cn/~bhua 助教:王冬洋,dyw@mail.ustc.edu.cn 主讲与助教
教材与参考资料 [1] Network Algorithmics. George Varghese著. Morgan Kaufmann. 2004. [2]相关文献资料
课程简介 • 网络算法学是一门关于网络系统高效实现的课程,有别于关注原理与协议的计算机网络课程。 • 注:网络系统分为终端与交换设备两类。 • 网络算法学的目的:解决网络系统实现中的性能瓶颈。
网络算法与网络算法学 • 网络算法:单纯在算法层面上解决问题 • 网络算法学:强调运用跨学科的、系统的方法解决问题(当然也包括算法的方法)
举例:IP地址查找 一个地址转发表的例子
Binary Trie • 利用前缀中每一位的值决定树的分支。 • 第L层的节点代表了地址前L比特均相同的一个地址空间。 • 与地址前缀对应的节点包含转发信息。 • 最坏情况需要查找5次
多分支Trie 最坏情况下查找2次 空间换时间
用硬件实现DIR-24-8 • 实际上只需一次访存时间。 TBL24 TBLlong
教学目标和基本要求 • 教学目标: • 以网络系统的高效实现为内容,培养学生跨学科的系统思维能力和综合运用计算机系统知识解决实际问题的能力,使其具备初步的研究能力。 • 基本要求: • 能够运用课程介绍的设计原则、典型技术和模型等解决网络系统实现中的性能瓶颈问题。
教学方式 • 课堂教学: • 老师授课 • 学生报告(进展报告,结题答辩) • 课堂讨论 • 实验教学: • 课程设计(3~4人/组,按组完成) • 进展报告(按组提交,每两周一次) • 结题论文(1篇/人)
教学内容 • 讲课内容: • Part 1:网络算法学概述、网络实现模型和实现原则 • Part 2:网络终端系统的实现问题及设计技术 • Part 3 (如果有时间) :交换设备的实现问题及设计技术 • 实验内容: • 优化一个轻量级的用户空间协议栈实现LWIP
课程设计的要求 • 使用开源软件(Linux,LWIP,Apatch AB)建立一个web服务器,使用性能测试工具Oprofile寻找性能瓶颈。 • 系统建立:利用助教提供的开源软件包建立系统,阅读代码了解代码结构,学会使用相关工具。 • 探索研究:通过阅读代码或使用性能测试工具发现系统性能瓶颈,进行优化。 • 课程设计评估:按照统一的要求对改进的系统进行性能测试。
课程成绩 • 作业:课程设计,进展报告,结题论文 • 考试:无卷面考试 • 课程评分: • 课堂讨论的表现(15%) • 课程设计完成的质量(50%) • 结题论文的质量(25%) • 结题答辩的表现(10%)
对学生的要求 (1)不得抄袭: • 组之间:可以采纳其他组的方法,但必须独立实现,不能简单拷贝。 • 组内部:每个成员要做不同的事情,或者独立实现各自的系统。 (2)课程设计必须按进度推进: • 不能前面不做,后面突击。 • 如果不能做到以上两点,请退选。 • 如果中途发现违反以上两点,退出课程学习,不给成绩。
上一届学生的教学效果 • 理论课: • 气氛不活跃,学生习惯被动听课,互动较困难。 • 课程设计: • 一位同学没有调试出来,一位同学退选,其余同学都不同程度地完成了课程设计。 • 2个组完成得很好,2个组中等,1个组较差。 • 课堂讨论的气氛好于理论课,且越往后越好。
学生反馈(收获) • 了解了系统性能优化的思路、切入点、方法和技巧等。 • 掌握了一些软件工具的使用,知道如何阅读大型开源项目。 • 第一次自己搭建环境并完整实现一个项目,很有成就感。 • 锻炼了分析问题和解决问题的能力,发现了自己的不足。
我的体会 • 不要低估学生的能力,只要引导得当,学生都能完成教学目标。 • 不要降低教学要求,一个难度稍大的课程设计有利于帮助学生树立自信(跳一跳就能够得着)。 • 课堂讨论有利于提高学生的主动性和参与度。
学生反馈(问题与建议) • 理论课内容与课程设计内容不是很匹配。 • 课堂讨论缺乏规范机制,应强制每个人参加讨论。(准备采纳这个建议) • 缺少对源代码的导读和讲解,导致学生在实验过程中走了弯路。(助教和我对此持不同看法)