今天参加了国内几个做编译器的单位做的研讨会,有计算所,中国科大,intel,北京大学,清华大学,武汉大学,复旦大学,北京科技大学,北京理工大学,浙江大学,国防科技大学等,据说基本云集了国内几乎所有做编译研究的机构(公司除外)。
一天,10几个报告下来,基本发现国内做编译的无非做几个领域,最多的在并行优化,做有GPU的混合结构下的优化,国防科大的天河,北大的实验集群,基本都在做GPU和CPU混合的优化,看来它们最头疼的问题是之间的通信。还有其他几家做多核的基本也一样,如浙江大学的多核嵌入式,清华的程序切片技术提取并行通信模型。
还有几个做程序验证和安全的也不少,中国科大的陈意云老师指导的课题组,北理工的可信编译等等。早听说陈老师的严禁学风,今日算有体会。一句话点中–可信计算的研究本身的基础一定要是可信的,如果这一点搞不定,一切的研究都没有基础!做学问,就是要这样!
计算所算是拿出了很多真本事,三篇冲击CGO的文章轮番上阵,虽然有一篇没有中的,但是内容也非常精彩。第一个是关于分层次的指针分析,这是面向百万行程序的指针分析。 第二个应用池分配的堆存储管理,spec2006的性能提升非常客观。第三篇是有关软硬件协同DRAM bank,这个完全没有听懂。。。。。
复旦大学的防反向工程的程序控制流混淆也不错,虽然都没怎么懂,混淆后20%的代价也很理想。
复旦关于mapreduce的更像是杂交,用hadoop和phenix杂交放在每台单机是多核的集群上运行。因为hadoop用来做集群,单机效率低,phenix仅能用在多核。将两个能交互工作起来,于是Chadoop就诞生了。不过在实际的性能测试中,结果还不错。
终点在于两个大牛的讲座,一个是Intel中国研究院的倪博士,一个是计算所的乔老师,两人分别就多核的未来发表了看法。其中倪博士介绍了前天发布的intel 48核玩具级CPU的情况,以及Ct程序设计语言。乔老师则是在伯克利的研究基础上表达了自己的观点。其中伯克利的研究见本博系列文章<并行计算的前景–伯克利观点(试译)>.
关于今天会议中一些很细节的收获,我会在随后的博文中涉及。
据悉,这次研讨会,是国内首次这么多科研机构聚在一起。很是难得。不过国内的研究现状我这个编译跑龙套的小生还是窃以为和国外差距很大,尤其是国内做的很牛的机构几乎屈指可数。希望日后我们的编译事业能上个新台阶。
几点收获:
- 自动并行化已经没有前途了。指令级并行已经快到极限了。所以关键是和应用相结合的并行化,这种并行化需要懂计算机的高级程序员和应用方面的高级专家合作。因为应用专家指导如何将应用并行化,高级程序员知道如何写出bug很少的并行程序,这才是出路。或者将应用作成并行化的库供调用
- Intel的48核 玩具级CPU其实之所以功耗如此低,是因为没有硬件实现的cache一致性。需要用户使用软件来实现。cache目前在CPU里面占到了将近一半的面积和功耗,一致性问题由软件来解决确实能降低不少功耗。
- 众核怎么用?并行编程模型要兼顾产能和效能,要程序员编程容易,还要编出来的程序并行程度高。另外再好的并行程序,都必须有串行化的部分,而且串行化的部分一定是在程序的关键路径上。所以并行只是我们为了提高性能,而单核的CPU又不能满足我们的前提下,一种无奈的让步。
- 用户和程序员不同,程序员关心的是如何方便高效的满足用户的要求,用户关心的是怎么能可靠高效低成本的满足自己的需求,所以用户不会关系你是用MPI还是OPENMP,他只想要一个稳定,维护成本低,没有bug的系统。所以在我看来C语言还会存在很长的一段时间。
- 编程语言没有谁好谁坏,只要某一个编程语言有自己独特的优势,在某个应用领域内无可替代,那他就不会消亡,会一直存在下去。

恩,目前很多嵌入式上使用了SPM,软件来控制片上存储器来降低功耗。
不过硬件不解决cache一致性问题对话,对程序员的要求提高很多。。。
完全由编译实现倒是一个很好的研究,特别是在通用cpu上,我觉得
@rsqk, cache 对程序员不可见的话,对编译器也很难可见了。只能靠些预取之类的控制指令了吧。
不过把cache直接发展成一种快速的主存也挺好,既可以CPU管理,也可以编译器管理,不过这样的话,控制逻辑又会很复杂了。。。。。
“不过把cache直接发展成一种快速的主存也挺好,既可以CPU管理,也可以编译器管理”—>类似现在NVIDIA的CUDA model里的shared memory? programmers要显式使用这块片上内存来exploit locality、绕开对GPU global memory 的访存延迟。
感觉不太像,CUDA上程序员不维护这个shared memory的话,是不是就没什么用?
老陈很个性据说~
老陈很牛,两天的会,明显能看出来水平的差别。
总结出来就是,北京的很有北京的政治特色,讲究和谐为主。
科大的很有科大特色,做科学做的很科学,对某些报告的批评很直接:)