UT Austin的Yale Patt教授上个月来Chalmers交流,做了题为《Future Microprocessors: Multi-core, Mega-nonsense, and What We Must Do Differently Moving Forward》的讲座。Yale Patt是计算机体系结构学术圈的巨擘,他最有名的研究成果是和Branch Predictor和HPS microarchitecture,他的学生们也巨牛无比,学术界有名的有UIUC的Wen-Mei Hwu,CMU的Onur Mutlu等等,工业界Intel不少核心工程师也出自他的门下。这个讲座主要谈了他对未来的多核处理器的发展的看法,有趣的是他二十年前也预测过现在的处理器,我还专门问了他当时的预测是否靠谱,他说“那我得回去查查看才行”,人非常的Nice。
简单介绍一下关键的几点:
1. 为什么要多核?
It is easier than designing a much better uni-core
It is cheaper than designing a much better uni-core
It was embarrassing to continue making L2 bigger
It was the next obvious step
2. Asymmetric Chip Multiprocessor才是未来
一个chip上既有Large Core,又有Small Core,前者专门用来加速那些诸如Critical Section之类的串行代码。
3. ILP未死
其实还有ILP的性能很多可挖掘的空间,只是多核设计上更经济更简单,所以大家都慢慢转到多核上来了
4. Parallel Programming is NOT Hard
如果从新生就开始进行并行编程的教育,从一开始就thinking in parallel,并行编程就不难,关键是打破Abstraction。
UIUC的Distinguished Lecture Series也有他今年4月在UIUC的讲座,甚至还有video。
Enjoy!
David Patterson在 The Landscape of Parallel Computing Research: A View from Berkeley 说ILP 也有个Wall, 不知是否是实现难度上的wall还是ILP本身的?
@Jerry
是实现难度的Wall。例如,现在的Branch Predictor大都能有95%以上的准确度(大概是这个范围 不确定),但是80%提高到90%容易,90%提高到99%可是一点都不容易;cache也是同样的道理,现在的cache离完美还存在距离,但是要再继续走单核的路性能提升越来越困难。所以在晶体管数量每18个月继续翻一倍的大前提下,把增加的晶体管用来做成多核是最简单最经济的解决办法,所以有部分搞体系结构的说这是一个shame。