和李凯老师的交流

来源:互联网 发布:太平洋软件微信小程序 编辑:程序博客网 时间:2024/06/10 07:22

 

今天上午普林斯顿的李凯老师到我们实验室,和实验室进行了交流,还是有不少收获:

 

第一个是关于虚拟机,VMWare已经收入超过1 Billion Dollars,微软也开始害怕。李老师讲,现在做研究,尤其是体系结构,不得不考虑虚拟机,也就是在原有的系统上再加一层。他说,国内可能感觉不到,但是从美国看,虚拟机已经很多人在用。特别是Data Center,现在大的Data Center最主要的问题是功耗问题,他举WU的例子,来说Power问题,学校电已经不够用,不得不在远处买地建Data Center,再用高速网络连到学校,非常费钱。有的学校已经不再自己维护mail server的数据了,直接用Gmail,学校花很大力气才能维护一个用户几百M的空间,而Google提供一个用户免费6G的空间。用虚拟机虚拟机可以比较有效地解决Power问题,同样还节省Space,减少雇员数,非常经济划算。此外在Isolation隔离应用、更新设备等方面都有很好的用处。当然还存在一些问题,但总体是好的。

 

第二个,主要是编程模型方面,未来5-10年,多核众核发展,编程模型肯定要变,现有的模型研究虽然很多,但是基本没有重大的突破。他提到了Ruby,还讲了Java作例子,他说新的language必须要有新的,很重要的feature,比如Java成功取代C,就是靠着C所没有的网络Internet编程,Portable等特性,同时OO等支持比较容易写程序。而functional language,虽然数学上很好,但是缺乏用户,程序员不喜欢用。此外,一些其它的考虑,比如未来众核,比如100个核,不一定全用满,或者说非要追求90%的utilization,这对程序员,对编译器都太难。相反,可以让50个核计算,另外50个核去保证正确性。提高软件的reliability。他举桥梁的例子,说人家建筑师设计桥梁,都是很可靠,你用个小炸弹炸它,可能还没事,车辆还可以通过。但是软件就不同了,你一个比特的错误可能就会全都有问题。可靠性显然是非常重要的一个特性。张兆庆老师问关于性能和好用性的问题,李老师认为好的编程模型应该对写程序简单,调试简单,能保证正确性。同时具有扩展性,即写好的程序可能很长时间不会变,而随着系统硬件发展,如核数的增加,程序性能还可以提升而不必修改程序。

 

在提到concurrency 和parallel,李凯老师强调这两方面有区别,而模型设计中需要考虑不同的方式,如fork-join的并行方式,consumer-customer的并行方式等等。一个模型不必全部兼顾,而只要把某个事情做好。(如Google的MapReduce)

 

此外,李老师还鼓励中国的研究人员做high risk的工作,他说只有high risk,才能有high return,大的公司没有突破性进展,他们只采用low risk的方案。鼓励中国学生做前沿性的工作,比如语言模型,而不是做填补空白的工作。

 

 

原创粉丝点击