Mctrain's Blog

What I learned in IT, as well as thought about life

ChinaSys小记(2014.11)

| Comments

每次在google上搜ChinaSys看到自己之前的博客被排在前两个,都会感觉很开心,然后就想还是把这个习惯保持下去吧,每次去参加会议都最好能稍微总结一下,不要浪费了参会的时间和旅途上的劳累。

前几天由老大带队,我们实验室4个PhD candidates和2个PhD candidate candidates到深圳南山区大学城,去参加一年两度的ChinaSys。这一届的ChinaSys由北京大学深圳研究院举办,这次是除了去年的APsys,我们实验室第二次组团来深圳参加会议了,和之前的ChinaSys相比,感觉这届工业界来的人稍微少了一些,各大高校的PhD也多了一些生面孔。这次参会的除了之前的常客(北大、清华、上交、复旦、计算所、中科大、华科、国防科大、北理工、MSRA、AMD),还有来自港中文大学的老师,华为的研究员等参与报告,同时,由于是在深圳举办的,也就多了很多深圳大学和研究院的老师和学生进行的报告,听到了一些新的领域和声音。总的来说,这次会议收获还是挺大的,虽然还是找不到和我自己做相关领域的博士进行比较深入的交流和学习,但是也认识了一些新的人,大家一起吐吐槽,或者吹吹牛,还是挺有趣的。另外,这是我第一次在ChinaSys上作报告,感觉挺兴奋,也希望以后能一直有值得拿出来说的topic来和大家交流。

下面进入主题:

报告从28号下午开始,到29号下午结束,每半天两到三个sessions,覆盖了体系结构、操作系统、虚拟化、大数据、分布式计算、网络、并行等主题,同时也有北大深研院的老师来介绍他们相关的包括数据库,研究生教育等工作。这些报告大部分是各大研究机构早期和最近已经发表的研究成果,当然也有一小部分正在进行的工作。

体系结构和性能

首先是计算所的韩银和老师介绍他们的“数据感知的DRAM动态刷新”,他们发现,随着DRAM容量的增大,对其进行刷新的性能和功耗损失都会变大,而刷新频率是由DRAM里面保持时间最小的单元决定的。另外他们发现,根据对DRAM写的内容不同(比如全0,全1,或者混合),DRAM的保存时间也会不同。他们工作的目的就是降低DRAM的动态刷新,采用的方法就是通过从高频率往下降,逐步向下刺探,直到尝试到无法容错,找到一个最优值。当然这里有很多其它细节问题,比如如何容错,如何检测内存中的故障等,由于领域不同,我就没有听的很懂了。

第二个是国防科大的博士苏博的一个关于性能预测的工作,据说是发表在今年MICRO的一篇论文,他们解决的问题是:程序CPI会随着频率变化而变化,这是由于一种叫做“访存停顿周期”的现象所造成的,即某些处理器需要等待访存结果才能继续执行,于是它们就开发了一套性能和功耗预测系统,希望能够最小化其带来的损失。

第三个是复旦张为华老师的研究生宋波做的一个工作,其希望解决的是多核系统中性能不稳定的问题,即在多核中运行测试集,可能会得出截然不同的结果,这就可能错误地判断不同体系结构和系统之间的优劣,这个问题主要是由于工作流随机分配、线程启动时间不确定、共享内存访问不同等原因造成,之前相关工作的主要方法是通过强制运行多次,或者基于统计的方法来进行解决,但是都会有各自的问题,他们提出的方法是通过提取程序执行特征 (BBV) ,对其进行相似路径划分(kmeans),并采用了一些优化手段。不过具体的流程没有听的太清楚。

操作系统和虚拟机

第二个session有两个报告,除了我自己的TxIntro外,还有一个是来自计算所包云岗老师的博士生徐天妮介绍他们正在进行的工作,一开始她回忆了从大内核到微内核一路发展过来的历史,然后提出来说我们到底应该是重新设计大内核把它变成微内核呢,还是仅仅是对其进行调优(tuning)就好了。之后她通过介绍三个例子,来解释说明调优其实可以从很大程度上解决大内核的性能问题。对于这个问题,我是觉得微内核和大内核有各自的优势,并不能很绝对地去考虑谁优谁劣,但是如果能通过一套包括profiling在内的机制找到不同场景的最优参数也是一项很有意义的工作。

自己的工作就不在这里介绍啦,就放两种图吧:-)

report

poster

其它

这个session主要是北大深研院的雷凯和李险峰两位老师来介绍他们的工作,雷老师介绍了他们在命名数据网络(NDN)中所进行的研究,而李老师则和我们分享了智能硬件这一领域目前的一些发展情况,以及他对把研究生教育往这个领域靠的一些想法。

keynote

这次keynote请了原来在上海交大,后来去了华为的翁楚良老师来讲关于NVM的topic。他首先从不同存储介质的latency开始比较,然后提出了3种不同组织形式的NVM架构:

APP->OS->PCIe->NVM
APP->OS->memory controller->memory+NVM (hybrid)
APP->OS->memory controller->NVM (single-level)

以及这里面需要考虑的一系列问题,比如如何对整个架构进行组织,是否需要设计新的OS,文件系统,编程模型等等。最后,翁老师提到华为在最近在做的一个工作,NVMFS,当然,由于某些原因,也没有对其进行细讲。

云计算和大数据

这个topic被分到了两个sessions。

首先是MSRA的周虎城介绍了下他们在设计人工智能系统上的一些经验分享,他认为在当前人工智能的浪潮中,能够最终存留下来的系统必须得是generalisazation一般化的,而不是那些基于应用定制的。于是,他介绍了AI的三种不同抽象(data parallel, model parallel, graph parallel),并简单介绍了下MSRA在整个平台和生态系统中所做的一些工作。

之后AMD的谷俊丽介绍了他们在异构平台(CPU+GPU, APU…)上加速DNN(Deep neural network)的工作,她的中心思想就是:人工智能应该要与系统结合,光有算法是解决不了最终问题的,硬件才是大数据+算法的enabler!

深圳大学的毛睿老师介绍了下他们在数据库方面做的工作,主要是希望把DBMS进行通用化,他们定义了一套数据结构,称为度量空间(metric space)。这套数据结构不需要有任何其它的约束,只需要满足3个条件:任意两个节点可以计算距离,距离为正,并且满足三角不等式。那么这套数据结构就能被存在他们的DBMS中,对其进行查询。

北大的胡夏蒙介绍了他们把程序局部性理论运用在分布式系统中的研究。在当前的memory slab机制中,不支持chunk的重新调整,而对于chunk中item的淘汰机制,基本上是采用贪心算法,得到的结果并非全局最优。于是他们提出方法来优化miss ratio和平均访问延迟,并对这套机制进行自适应的监控。

北大的陈琪博士介绍了他们通过sampling和partitioning方法解决MapReduce中数据倾斜(data skew)上的工作,中科大的曹慧芳则是设计了一个deterministic的MapReduce(DetMR)来解决MR中debug的问题。

深圳大学的李荣华老师介绍了他们最近发表的一篇论文,研究如何在社交网络爬数据的过程中,保证得到的样本有代表性。他首先提到的是该领域中的一些挑战:social graph is hidden, API query limits, login requirements, graph size is unknown。在这个领域上,相比于传统的DFS/BFS的搜索算法,他们的工作是基于random walk方法的。他先分析了random walk中三种不同的算法以及他们的缺陷,并针对它们各自的缺陷,提出了两套算法对其进行优化。

来自香港中文大学的李柏晴老师介绍了他们在erasure code方面的研究。在cluster storage system领域,错误经常发生,针对于这些问题,主要有两个方法,replication和erasure code。相比于replication,erasure code的存储开销会小很多。erasure code的原理是这样的:把一个文档分为k个chunk,并将这些chunk编码到另外n-k个额外的parity chunk中,之后这n个chunk中的任意k个都能恢复这个文档。李老师他们的工作主要是用来优化erasure code里面的一种叫做regenerating code的方法。具体的步骤我也没听太清楚,但是我感觉这种erasure code的方式特别棒。

网络和并行

在这个session中,首先是计算所的范学鹏博士介绍了他们在task调度中遇到的一个问题,即lock在程序员和线程池之间的语义鸿沟:对于程序员来说,它想要的是lock一个task,而对于线程池来说,它是lock一个thread。所以他们做的是需要在适当的时候把其他任务提前执行,这个需要解决很多问题,比如如何自动化地感知语义鸿沟,具体的方法就不在这里细说了。

国防科大的王鹏博士介绍了他们在网络上做的工作,即如何调度不同剩余跳帧的网络包。剩余跳帧是指当前网络包到目标地址的中间路由器数目。如果优先调度剩余跳帧少的包,可以有效减小网络负载,但是不利于公平性,反之亦然。他们所做的工作就是对这个过程做一个平衡:根据当前的网络负载平衡,如果网络负载大,优先传输剩余跳数较少(减小网络负载),如果网络负载小,则优先传输剩余跳数较多(更加公平)。这是一个很简单的想法,当然,也能达到比较好的效果。

之后是中科院计算所的刘珂老师介绍他们如何通过优化TCP的协议层,来有效地提高3G/4G网络的带宽;而中科大的李丰介绍了他们CPU-GPU 异构系统的编程模型和编译优化中所做的工作。由于会议快要结束了,而且领域相差比较远,这两项工作都没有听的很仔细,这里就不细说了。


这次实验室博士组团去深圳参加ChinaSys还是很惬意的,相信以后这样子的机会还会有很多。由于这次是在深圳举办,我们就顺便去了趟香港,专业组团代购。一路逛下来,买了9个IPAD!加上七七八八的化妆品和姚姐的奢侈品,五个人一路提心吊胆的过了海关。在香港,我们还看到了没有人只有帐篷的传说中的占中,还有人山人海的购物商场。说实话,我一直对香港都不是很有好感,具体也没有什么说得上来的原因,反正就觉得自己和那里很不搭。这次主要比较珍惜和以后还要一起待好多年的同学一起旅游的经历,希望这种机会还能有很多。

Comments