第一篇论文

今年NSDI秋季投稿的结果出来了,我们关于Watchdog的论文被录取了。这是我博士期间的第一篇论文,同时也很可能成为我thesis的基础。简单记录一些想法,将来顺利的时候假如自己得意忘形了,或者遇到困境又压抑了,不妨拿出来看看,作为一个过去的真实的想法的留存。

如果你也有做一个做了很久的项目,或许你也有这样的体验:你感觉就像背着一个重物负重前行。与此同时这仿佛是个无底洞,需要你继续填充大量的精力和时间。当你反复看同样的代码已经看到几乎要厌倦的时候,你感到似乎想法已经被这个项目禁锢了。麻烦在于似乎这个前行遥遥无期。同时这种苦行僧般的行军感可能会被身边的人放大,之前一公的项目发ASPLOS并且拿到Best Paper Award的时候,我虽然非常为他高兴,但是内心还是有一些失落的。看到一起出发的旅伴大步前进的时候,多少会有一些自己在泥泞里裹足不前的感觉。好在9月投完NSDI以后,我得以继续我的新的项目,在那时我便下了决心,打算把这个事情抛诸脑后,暂时不管了。

然而转眼到了12月。不管如何忐忑,还是需要回到现实。由于网站上说出结果是周五,我周二收到消息的时候感觉被奇袭了:傍晚的时候我在等编译,在IDE上瞎点,这时看到弹出一个邮件提醒。看到标题是[NSDI'20 HotCRP]等等,这时候脑子已经不转了,赶紧点开来看一下。下意识开始在第一段找”regret”和”inform”的字样,结果看到一个”delighted”,觉得这是个好词,停下来稍微琢磨了一下然后接着往下看。看到一个”accept”以后觉得有一点好的感觉了,但是还是得确认一遍,于是又回头从开头开始看。看完觉得自己没有理解错,赶紧slack上发消息问Ryan。Ryan兴高采烈的语气总算让我有了一些真实感。

从前赶ddl跑实验的时候,我和一公累了就会去茶水间泡个茶,做一些论文如果发了的白日梦,讨论发了论文会是怎样的心情,喝完了回来再战。但是真的论文发了,并没有想象里的狂喜。确认消息的一瞬间,我心中涌现出无限感激:我回想过去两年,这一路其实是Ryan一直牵着我蹒跚学步,磕磕绊绊走过来的,可以说是遇山开山遇河搭桥。我感到他从未在其他学生的项目上花如此多的时间和精力,项目有一个好的结果,我为自己高兴,也为没有辜负期许松了一口气。

由于review要等到周五才出,看不到评分多少我心里总是不踏实。我想起从前申请phd的时候看到的CMU误发offer的新闻,觉得NSDI也大有可能摆此乌龙。我如实把我想法和其他人说了,祝老师骂我矫情,一公说我是穷怕了。而我心里想的是,恐怕没有把先把希望给一个人再夺走更残酷的事情了。晚上的时候看到Ryan已经发了推特。但同时也看到一些别的业内知名的researchers发了自己拒稿的消息,这下心里更不踏实了。直到周五的时候review终于出了,看到分数的时候喜悦才涌上心头。吃饭的时候把五个review都过了一遍,读赞扬的时候,有一种轻快的喜悦,仿佛画家看自己的画作;当然也有不少问题反馈和意见,尽管已经知道结果了,看的时候还是有一些紧张的感觉。确实还有一些问题需要在论文最后版本解决。

总之,真的很高兴这个工作到了下一个阶段。之后还有很多工作要做,准备camera-ready版本,准备presentation,整理代码之后开源等等。给自己鼓鼓劲继续加油。更重要的一个课题是,随着现在组里成员越来越多,导师的精力总是有限的,之后的项目如何自己扮演一个更全面独立的角色?

最后,我想起做这个项目最快乐的时候,是在我们做了这个检测系统运行时故障的工具以后,我们做了一些人为注入故障(fault-injection)的实验来看工具本身的效果。这是我觉得整个evaluation过程中最有趣的一个部分。有一个晚上我跑ZooKeeper的时候,我在之前实验的基础上随手加了一些ACL(权限控制列表)到系统里。这时某个watchdog报错了。随后检查后发现这是一个新bug,这个bug和我们研究过的一个bug很相似,但是之前的bug修复三年后一直没有人注意到这个孪生的bug。虽然找bug本身并不是这个项目的主要目标,但这个工具指给我一个我不知道的问题所在,换句话说它展示了我之前不知道的东西,证明了自己的价值,这是我最受鼓舞的一瞬间。我想这也是做系统研究这件事的快乐所在。