总结操作系统报告的经验171225

在本学期的操作系统课上,老师布置了一个撰写阅读报告的任务,让我们在今年10月,11月刚刚开完的会议里产生的论文中,选择一篇来研读,然后完成阅读报告的撰写和PPT的制作。我选择的文章是一篇名叫“ffwd: delegation is (much)faster than you think”。

为了完成这个任务,我的思路是先读懂这篇英语论文,边读边写阅读报告。由于这篇文章刚刚发表,网络上也没有相关的介绍博客;我呢之前也度过几篇论文,但这些论文要么是中文写的,要么是已经有大量中文博客做过研读或者翻译的经典论文。自己写阅读报告,还是头一遭。我采取了一种笨办法,就是一边翻译一边写报告。我的阅读报告就变得非常像一片论文的中译本。不过比之还要臃肿一些,因为论文中有不少术语是我不懂的,所以我在不懂的地方都查阅了相关资料和博客,并附上了相应的reference网址。此外,这篇论文的实验部分因为正好在github上放了源码,所以我也尝试着运行了一下。然后我还试着问老师借了服务器去运行这个程序,可惜因为种种原因没能成功运行。另一方面,这个实验对应的论文部分又臭又长,让我实在是头痛,所以我只草草读了一下其中的内容,了解了他大概做了些什么,并没有深究;因此,我的阅读报告也没有包含实验部分的完整的翻译。此外,这篇论文比较复杂,可以从它引用论文的数目为95(这在SOSP2017的论文中排名也算得上靠前了,对比之下,FAST2017的论文引用论文数目就要少得多,有的只有十几二十)看出。然后我失策的地方在于,我居然没有发现,居然没有发现这篇文章(这两个会议的绝大部分文章)都是有slide的!!!然后我就傻乎乎地写了一个slide。个中“艰辛”,皆系我自己疏忽啊。

我大约花了一周的时间翻译这篇文章,当然只翻译了2/3,实验部分没翻译。可是翻译完了以后,我还是没搞懂这文章在干什么。这篇文章里面有个很讨厌的地方,就是它有一大堆术语,所以阅读门槛不低;它更讨厌的地方在于,有些术语跟我们以前学到的知识是不一致的,如果你按照以前学到的知识来理解这篇文章的内容,那么不好意思,你是南辕北辙了。于是我对着自己的翻译(我还是很相信自己的英语翻译水平的,“达”“雅”不谈,至少做到了“信”字)重新研究了一遍文章,总算搞懂了他大概讲的是什么。然后我开始在虚拟机上试着跑程序,同时撰写ppt。所以这个ppt其时是以论文的写作思路为思路的,与之后的讲稿并不太匹配。

我在虚拟机上配置好了环境,一运行程序,发现跑不了。人家非要用XEON或者皓龙才行!于是我求助于老师,老师丢给我一个X3,我就在老师实验室捣鼓了好一会儿他的服务器,总算给我配置好了。然后当晚调试了许久,并未成功(貌似是卡在了32位与64位的不兼容问题上???我很怀疑这个问题是怎么产生的,不过我没有细看这个程序代码,对于makefile也是一窍不通T_T)。然后我就放弃了,不仅是因为时间问题,而且人家github上挑明了至少是X5,这个X3确实带不动啊。不管了不管了,我开始撰写讲稿了。

这个讲稿是依照论文的写作思路&我自制的ppt的思路来写的。写了7000+;写完的时候,我就觉得很僵,毕竟20来分钟,不可能让你把7000多字的报告都念一遍吧。按照每秒2字的速度,基本上20分钟讲一个2000-3000字的报告就差不多了,7000字都可以讲一个钟头了(最后讲了40分钟)。然后我特地理清了我报告的思路,为此在全英文的ppt中添加了唯一的一张中文ppt(无奈。。。):

主要内容:在线程间访问共享内存的时候,本文提出了一种改进版的委托的模式,叫做ffwd. 
报告主线:
1.什么是线程间访问共享内存?
2.有哪些线程访问共享内存的方式?
(1)这些访问方式的有什么区别?
(2)如何通过实验得知这些区别?
(3)这些访问方式分别适用于怎样的环境?
3.什么是委托模式?
(1)什么是ffwd?
(2)改进体现在哪儿?
(3)改进是如何实现的?
(4)改进的核心是什么?
(5)改进后的实验结果如何?
4.总结

可以说这点内容就是我整个报告的思路了。这个思路可行吗?实际上是不行的。

为啥呢?

首先,时间和不熟悉限制了我介绍的内容。我不可能把主线里所有的内容面面俱到地讲一遍,这时大忌啊!然后我就犯了这个大忌。。。

其次,讲稿和ppt是脱节的,按理说应该先写讲稿,再做ppt。可我倒好,先做ppt再写讲稿。。。

其时,如果只是口头去讲这篇文章,我是基本上OK的。我利用回寝室的时间和吃饭的时间,给一个哥们已经基本上讲清楚了这篇文章的内容。问题就出在这里了,为什么口头上讲(甚至不用纸笔)就能讲清楚的东西,用了高大上的ppt,反而就讲不清了呢?为什么我不用讲稿,只调用大脑中的内容就能讲清的东西,在用了讲稿以后,反而讲不清楚了呢?

我认为,首先是我(包括同学)对讲清楚与否的评判标准和老师对此的评判标准是不一致的。我辈相对而言是较为宽容的,老师是较为严格的;我辈了解得有限,老师懂的远比我们多。

其次,我在讲的时候,由于面面俱到,暴露了一些理解上不那么准确的漏洞,这是致命的。但是我在调用脑中知识描述这个模型的时候,我因为基于所掌握的知识,对这个模型进行了重构,所以这个模型在我脑海中已经成为了自洽的逻辑结构了,属于我的知识库的一个部分,这在理论上就没有了漏洞。

第三,由于不充分的ppt准备导致关键点在ppt上呈现得不足,以及我的演讲的思路不当,我不得不依赖于念稿子,然后每念一段话解释该段的内容。就好像在做古诗文阅读一样,老师在上面咿咿呀呀,可是此时的听众并非参加中高考的学生,而是你的同学,老师,他们可没心思听你朗诵“经文”。

基于以上几点,我的pre效果并不好。

我反思了一下,觉得有几点要改进:

1.先尽可能地搜索与目标有关的资料,尤其是那些直接相关的资料,然后再动手去做。

2.根据要求早确定要完成的内容,有舍才有得;不重要的内容完全可以忽略掉。

3.抓关键点,抓关键点中的关键点。比如这篇文章,最关键的是ffwd的delegation模式的实现和6大核心思想。从这里出发,我们要先讲NUMA结构,后讲性能界限和使用范围,再讲实验结果和总结即可。至于传统方法,则是可讲可不讲的,视听众人群和pre时间而定。

最后,以后做pre,尽量不要带稿子!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值