选课类别:计划内与自由选修 | 教学类型:理论实验课 |
课程类别:本科计划内课程 | 开课单位:计算机科学与技术系 |
课程层次:专业选修 | 学分:3.0 |
课程主要围绕网络性能优化,讲述优化原则、算法和数据结构。内容涉及计算机网络、组成原理、操作系统等,帮助学生融会贯通,适合对系统/网络方向感兴趣的同学学习。
期末开卷考试,题目多在PPT上有,包括简答题、判断题和计算题。考试重点基本不变,相对简单。
部分观点认为给分较好,即使实验结果不理想也能拿高分。另有观点表示想拿高分需完成所有要求,分数不一定调高。
无常规作业,但有两三次英文文献阅读并回答问题,工作量不大。
四次实验,使用DPDK构建和优化DNS服务器。实验分组但要求个人独立提交,实验难点在于环境搭建和编程。提出实验和上课内容存在割裂,有助教指导。
老师上课点名,签到严格,课堂表现计分,适合认真上课的同学。
华蓓老师教学认真,内容实用且实验设计巧妙,助教耐心负责。老师通过实验汇报指导科研思维,但部分综合点评认为实验难度较高。
《网络算法学》课程内容丰富、实用,适合有一定计算机网络基础且希望提高优化能力的同学。尽管某些反馈显示部分环节较难和工作量大,但总体收获良多。不适合仅想混学分的同学,推荐给对系统/网络方向研究或应用感兴趣的学生。
教学内容:上课主要围绕网络性能优化讲一些优化的原则、算法和数据结构。涉及计网、组成原理、操作系统等等(但是老师上课讲得比较细致,这些课没学好也可以听懂),学完有一种融会贯通的感觉,所以还是推荐学习的。
点名:每节课有签到。
作业:无,但是有两三次英文文献阅读然后回答问题。
助教:非常nice,问问题基本秒答,也很有耐心。
实验:三人组队,总共四次实验,主要是用DPDK搭建DNS服务器然后优化,DPDK官方文档很详细,也有各种范例。总的来说实验不是很难,最难的地方可能在于搭建环境,但是实验文档有一些问题,这可能要多问助教。每次实验结束要做汇报。实验结束后要提交一份总的实验报告,要求以论文的格式,有摘要、前言、实验分析等等,会用latex可能会轻松一点。
考试:一次期末考试,开卷,主要考ppt上的内容和一些DPDK的特点等等,非常简单。
给分:比较好,我们组实验最后没有优化好也给了4。
总的来说还是推荐学习的,学完感觉对网络和硬件方面的理解更深了,也了解到了非常多的优化思想。但是这门课平时轻松一点,到了期末就有考试+实验+论文要完成,还是比较忙的,这一点应当仔细考虑。
珍爱生命慎选。
本人大四咸鱼,就是以不挂为目的(估计挺多选这门课的大四狗也是)想水水算了。结果堂堂点名。。。人数与签到人数不符,老师还抓过一次人。。。课堂表现(汇报、发言之类)算分,有种大一英语课的错觉。
课程内容:可能是太菜,听不懂(虽然信明给分好,但是上完信明的计网感觉对网络一无所知)。后来说为了提高课堂效果,老师布置各小组提前预习一节然后上课讲。
课程作业:读几篇论文然后回答问题。这个工作量还可以,一学期就两次作业。
课程实验:脱发一时爽,一直脱发一直爽。一学期三个实验,说是分组然而每个人必须单独交,似乎还要查重?第一个实验和第二个实验Part 1就看文章回答几个问题,简单到怀疑人生,然后难度就阶跃了[手动微笑]。完全没接触过QAT DPDK相关就直接上手编程,还必须用校园网(实习不友好的设定)[手动微笑]。一个班30多人,汇报实验时候就三五个人做完了。心疼助教,一个人要扶大半个班的阿斗。
考完试来补一下,本咸鱼对社会的贡献就这么多了
考试30分伪选择,从几个优化原则中选每道题的例子最符合的那个
40分问答,。。问用了某个优化原则的两个例子并解释、选bps和pps分别适用于哪些情形并解释、主要的三种控制开销并说出开销来源、(应该还有一题。。忘了)
30分分析设计,第一题是类似组成原理的问两个程序段哪个效率高(数组一个是ij循环一个是ji循环),第二题是压缩Trie问合适的数组规模,第三题是设计用中断还是轮询
顺带一提复习这门课的心得,这门课集组成原理、体系、网络、操作系统、编译等百家之长,看似只是一门网络课,实则贴心的帮你重温了一遍全部专业课。一开始以为只是个青铜,最后发现原来是个王者。如果说每学期末复习的感觉都是“泡了四个月的脚,最后一个月把泡脚水喝掉”,那复习这门课就是。。泡了两年的脚。。。
给分好像还可以。。正如别人所说这门课你虽然啥也学不会但是你啥也不用学。。考场现场开卷学习就ok。
这是一门很好的课,华老师准备的很用心,课程设计也很好,助教也很负责。
除了平时正常讲课,会安排每个小组展示实验结果,华老师和助教就会在下面提问题,引导大家用做科研的思维来完成实验,要思考怎么优化程序。本次实验是用DPDK来提高收发包性能。
考试的题目大部分在ppt上有,极小部分需要对知识的了解,有填空题,判断题,和简单题。判断题考的是那15条原则,判断给出的情况对应哪条原则,基本都能在ppt上找到。填空题ppt上基本都能找到,有一道计算题,大概是网络中发送帧的最大速率(和帧有关的,但是题目要考虑发送一个帧之后要有20byte的空闲)。简答题也没什么新颖的,基本都能在ppt上找到。可以参考前面一个人写的考试题,重点基本不变。
不过这门课确实不太适合摆烂水学分的人,本人太过摆烂,编程能力又很差,实验基本都跑不通(完全收不到包),最后也就放弃挣扎了,全靠队友带了(doge
出分了,4.0,给分太好咧!(立刻来修改评分)
再补充一下,有三次论文阅读的作业,全部实验做完之后要写个结课论文,要求论文的格式(摘要、关键字、引言、相关工作、实验设计、实验评估、结束语、参考文献)。
这门课之前的给分太惨了,我觉得不至于。
说一下2021秋的情况:学期初有20个人来上课,过了两周退了12个,剩8个人。实验是组队完成的,一共有5队。人很少的情况下听课体验其实不错 XD
这门课可以分为两个部分:
上课主要讲 Network Algorithmitics(参考教材,推荐自己看一遍,非常不错)的一些理念,可以称为网络方面进行优化的十几个元思想,然后围绕这些思想介绍了很多优化的实践,讲课内容基本不超出教材。我是大三选的,可以和计网一起学,相互补充(但是肯定要有一点计网基础再来学,我在暑假因为 OSPP 已经预习了一遍计网)。
实验是第二个部分,分开来讲的原因是个人觉得实验和上课内容有一些割裂。实验围绕 DPDK 进行, 主要在调用 DPDK 的 API 进行数据报的收发(从帧开始构建)。一共有四次实验,先从熟悉 DPDK API 开始,层层递进,最后把 SimpleDNS 移植到 DPDK 上并作多核并行/流水线优化,然后比较效率。我们队的实现在8核上大概实现了100倍的性能提升,应该是成绩最好的,选下次课的同学可能会看到我们的报告。(老师大概已经能认出我了2333)
平时只有文献阅读作业和实验要做,实验的工作量不算大(给的时间非常充裕),期末考试也特别简单(但是我记错了最大帧的大小,至少错了一题)。最后总评拿了92,问了一圈好像没有更高的,老师似乎不调分。所以想卷绩点的同学基本上得做好所有东西,从实验到考试。总的来说,上课讲的各种优化理念还是很棒的,听下来收获不小,可以作为算法/OS/计网的后续课程学习,是一门非常综合的课。不足的地方在于实验设计和上课内容割裂比较严重,我个人认为让同学接触一些现代的实现(比如 Linux 的 io uring 和 wheel timer 等)会比用 DPDK 填鸭好很多。
大四,学分已经修够了,就选了这门评价很可怕的课上着玩玩。
感觉上没有其它几条评论说的那么可怕,实验也就是写写DPDK,偶尔有一两篇阅读论文的要求。
至少个人感觉难度绝对比不上比较硬核的专业课,工作量也并没有那么大(我以超出最高要求的标准完成实验,代码量也没有超过300行)。
给高分的主要原因在于课上的内容十分有用,特别是对于准备做系统/网络方向的同学,课上讲的优化方法几乎就是科研中真正用到的那些想法。
总体而言收获不错,挺有意思的,但是的确是硬核课程,混学分的慎选,像我一样大四闲得没事的可以上着玩玩,学习一个。
同上面的,我是大四狗学分不够不得不选这个课,实验实在太坑,主要的坑点在根本不知道怎么写。像第二个实验到ddl时只有一两个人做出来。除非没办法否则别选这个课。