当线宽逐渐接近物理空间上的极限的时候,摩尔定理终将成为历史。多核的盛行使得并行编程日益成为热点,因此,一个个新的并行编程模型如雨后春笋一般涌现:MPI, OpenMP, UPC, TBB, CILK, TCT, StreamIT, X10, ...... ,在这种情况下,编译器的结构也将发生变化,目前编译器对于并行程序的分析和优化处在一个尴尬的境地,如果程序员通过annotation指定某一个变量是线程共享的,那么编译器对其进行保守分析,而且保守得过头了;反之,如果程序员没有指定annotation或者关键字,编译器就会将并行代码按照串行的思路进行优化,这样做的后果是分析结果有时候是错误的,激进得过了头。抛开高层的编程模型不谈,假使我们分析的都是最原始的Pthread程序,编译器势必要在架构上进行调整,已满足对于并行程序的分析需求,在保证分析正确性的同时,给与并行程序足够多的优化。