HL-TLS:支持热点的线程级猜测编译实现

2015-12-06 06:11李春强尚云海卢永江
计算机工程 2015年11期
关键词:线程热点冲突

金 跃,李春强,尚云海,卢永江

(浙江大学超大规模集成电路设计研究所,杭州310027)

HL-TLS:支持热点的线程级猜测编译实现

金 跃,李春强,尚云海,卢永江

(浙江大学超大规模集成电路设计研究所,杭州310027)

猜测并行化编译,即线程级猜测(TLS)编译,可将原来顺序运行的程序并行化。但由于猜测数据的不确定性引起的数据管理开销过大,以及猜测线程失败引起的线程回滚开销,使得并行后的执行性能较低。针对上述问题,提出一种HL-TLS并行化编译优化框架。HL-TLS能有效地标记并行化的循环体为热点循环体,采用对最高层次热点循环体进行更激进的并行化的方式提高性能,而对非热点循环体采用保守的顺序执行以减少开销。实验结果表明,使用HL-TLS编译优化框架,实验程序的执行效率可以提高20%。

并行计算;多线程;猜测执行;线程级猜测并行;热点循环;动态转换执行机制

1 概述

循环体的并行化是当今多核系统中提升计算机性能的一个编译研究热点。线程级猜测(Thread Level Speculation,TLS)技术能有效提高并行化效率。TLS技术在假设不存在数据依赖的条件下,延后检查数据冲突,积极地对程序进行并行化,从而提高程序执行的性能。使用硬件TLS技术[1-3],虽然取得较好的效果,但是往往代价昂贵,并且设计复杂。软件TLS编译技术[4-6]相比硬件来说,有更好的可扩展性,但存在资源开销大的问题,如猜测线程间通信的开销、猜测数据管理一致性的开销等,特别是当猜测线程执行时如果检测到数据冲突发生,往往需要将整个线程回滚(Rollback)[6]到安全点,整个程序才能继续保持数据一致性。当猜测错误达到一定比例时,线程回滚形成的CPU资源浪费会导致TLS猜测并行化执行时间比顺序执行时间更长。

HL-TLS(Hot Loops-TLS)并行编译优化框架编译出的程序在执行时,编译时插入的桩代码能有效地标记可以并行化执行的热点循环体,并对循环体的并行化执行方式进行动态转换,转换后的热点循环体执行方式根据热点程度不同分为多个层次。在HL-TLS并行编译优化框架中,第一层次热点循环体先采用顺序提交的TLS并行化执行方式;TLS并行化执行过程中,如果回滚次数低于一定程度,则此循环体被标记为第二层次热点循环体,被动态转换为激进的直接提交(In-Place)[7-9]的TLS执行方式,从而进一步提升性能;对于TLS执行中回滚次数高于一定程度的循环体,将被标记为非热点循环体,被动态转换为顺序执行,从而避免开销过大而产生TLS执行效率低于顺序执行的情况。

针对TLS编译技术的上述问题,本文提出HL-TLS编译优化框架,在TLS编译技术的基础上,引入热点循环体(Hot Loops,HL)的概念来解决现有TLS编译技术因线程回滚过多导致资源开销过大的问题,并对热点循环体采用更为激进的并行化执行策略,从而提高程序性能。

2 相关研究

LRPD test[10]系统地实现了软件TLS并行化技术。在LRPD test中,数据依赖在线程执行的最后检测,相比同步并行化技术(synchronization parallel)减少了等待和执行时检查的时间,从而提高了性能。此后RLRPD test[11]基于LRPD test做了改进,并使用了sliding w indow策略,从而控制了线程间通信的开销。

文献[12-13]针对循环体进行TLS研究。其中文献[12]实现了代价驱动的编译器框架,其使用代价描述决定了哪些可以被TLS并行,而哪些不适合。

本文的HL-TLS框架不同于上文提到的框架。首先,HL-TLS是一个全新的概念,以上文章都没有针对HL-TLS进行研究。其次,虽然HL-TLS和文献[12]中的cost-driven compiler一样是代价驱动的,但是后者是静态计算代价,而在HL-TLS是动态计算并决定的。但是以上文献都没有提到动态转换执行机制的技术。

文献[14-15]实现了编译器辅助TLS并行化,提高了编程效率,但是对性能并没有改进。

文献[16]总结了TLS并行技术,并从生命周期的角度提出新的分类方法,但是并未提出新的框架,也并未提高性能。

与本文框架最为接近的是文献[6-7]。文献[7]提出了一个轻量级的TLS软件并行框架,并验证了性能提升和可行性。文献[6]对文献[7]进行改进,在数据管理上采用新的数据结构以节省缓存开销。本文HL-TLS框架的不同之处在于:(1)采用了新框架,并提出了TLS热点循环体的概念,针对TLS最高层次的热点循环体,可以采用激进的直接提交的TLS策略,进一步提升程序性能;(2)本文采用了执行机制动态转换,程序将使用最适合的执行方式,从而最大程度上保证程序的性能提升。

3 TLS编译技术

TLS编译技术,是一种并行化计算编译技术。当程序在编译时不确定是否存在数据依赖关系时,编译器往往保守地认为存在数据依赖关系,从而阻碍了程序的并行化编译。但是运用TLS编译技术,可以先假设程序中不存在数据冲突,将程序并行化编译以提高性能,而将数据冲突检测延后。

为了解决数据冲突的问题,TLS编译技术对猜测线程产生的数据进行了一定管理,管理方法采用2种方式[6]:

(1)每个猜测线程产生的数据采用专门的缓存(Buffer)管理,不直接写到内存(M emory);在猜测线程的提交(Comm it)阶段,再将最终数据从缓存中提交到内存中。这种方式称为顺序提交(Serial-Comm it)。

(2)每个猜测线程产生的数据直接写到内存(M emory),写入前的内存数据备份到专门的缓存(Buffer)中;在猜测线程的提交(Comm it)阶段,如果检测到数据冲突,则内存中的数据被取消,采用备份在缓存中的原数据进行恢复。这种方式称为直接提交(In-Place Comm it)。

直接提交相对顺序提交而言,是一种激进的数据管理方法。直接提交假设猜测线程产生的猜测数据是正确的,且不存在将数据从缓存中提交到内存的阶段,因此如果程序中存在的数据冲突较少时,即回滚次数相对较小时,则采用直接提交将比顺序提交可以获得更好的性能。但是一旦数据冲突超过一定比例,直接提交方式的内存恢复的开销将引起性能急剧下降,并抵消并行化带来的性能提升,因而此时性能比顺序提交要差。另外,在TLS编译技术中,当程序执行时冲突比例超过一定阈值时,TLS并行不管采用直接提交或是顺序提交,其执行时间将会超过顺序执行时间。传统的TLS编译技术一般假设程序中存在一定比例的数据冲突,因此使用的数据管理方式往往是比较保守的顺序提交方式。

图1(a)展示了一个循环体。假设只有在执行时才知道数组成员间的依赖关系,则为了保证程序的正确性,这段程序只能顺序执行,如图1(b)所示。但是如果运用TLS编译技术,则可以将这段程序并行化执行。刚开始猜测线程执行时形成的数据,称为猜测数据,因为并没有检验其数据一致性,所以猜测数据是不安全的;当猜测线程执行完毕,如果没有检测到数据冲突,则该猜测线程产生的数据是安全的,此猜测线程产生的猜测数据被确认写入内存,这个过程称为提交;如果检测到数据冲突,线程需要撤销(Squash)到安全状态,并进行回滚操作,以保障数据一致性,这个过程称为撤销并回滚。

如图1(c)中所示,线程1对arrary[3]进行写操作,线程3对array[3]进行读操作,而且读操作发生在写操作前,即RAW(Read-A fter-W rite)冲突,则线程3必须回滚到安全点重新执行。

图1 线程猜测循环过程

综上所述,猜测线程的生命周期包括了空闲、猜测化执行、提交或检测到冲突进行撤销并回滚等阶段,如图2所示。

图2 线程猜测的生命周期

4 HL-TLS框架

本文在TLS编译技术的基础上提出了HL-TLS并行化编译框架:标记能有效并行化的循环体为热点循环体(HL),采用对最高层次的热点循环体进行更激进的并行化的方式提高性能,而对非热点循环体采用保守的执行方式以减少开销。

HL-TLS编译出的程序,除循环体的线程化部分外,还包含2个重要部件:热点循环体判断部件和执行机制动态转换部件。

热点循环体判断部件的任务是寻找符合热点条件的循环体。热点循环体判断部件将会使用如下3个条件:

(1)循环体所在的函数被调用多次,超过HL-TLS定义的临界调用次数——N-HOT-CALL;循环体顺序执行时,所用的时间超过HL-TLS定义的临界执行时间——T-HOT-EXE。

(2)循环体TLS执行后,冲突比例不超过HL-TLS定义的临界冲突比例1——P-ROLLBACK1。

(3)循环体TLS执行后,冲突比例超过HL-TLS定义的临界冲突比例1——P-ROLLBACK1,但不超过HL-TLS定义的临界冲突比例2——P-ROLLBACK2。

执行机制动态转换部件的任务是根据以上条件决定的循环体热点程度选择该循环体的执行方式:顺序执行、顺序提交的TLS并行化执行和直接提交的TLS并行化执行。

循环体在程序执行初期均为非热点循环体,采用保守的顺序执行;当符合热点条件1时,HL-TLS将其标记为第一层次热点循环体,循环体将采用顺序提交的TLS并行化执行;到达下次执行前,将根据是否符合热点条件2来决定是否转换为激进的直接提交的TLS并行化执行,如果冲突比例小于P-ROLLBACK1,则HL-TLS将其标记为第二层次热点循环体,采用激进的直接提交的TLS并行化执行此循环体,以提高执行效率;如果冲突比例大于P-ROLLBACK 1但是小于P-ROLLBACK2,即满足热点条件3,此循环体仍然作为第一层次热点采用顺序提交的TLS并行化执行;如果冲突比例超过P-ROLLBACK 2,过多的数据冲突造成的回滚操作将浪费大量CPU资源,判定此循环体不适合TLS并行化,HL-TLS将其标记为非热点循环体,此后执行将转为保守的顺序执行方式。

4.1 热点判断

如前文所述,热点判断的条件有3点。循环体满足条件1或者条件3时,为第一层次热点循环体,将采用顺序提交的TLS方式执行;循环体满足条件2时,为第二层次,即最高层次热点循环体,将采用激进的直接提交的TLS方式执行,以提高程序性能。如果3个条件皆不满足或者TLS执行后发现冲突比例超过了P-ROLLBACK 2时,此循环体将被标记为非热点循环体,其后续的执行方式将使用顺序执行。使用各个条件来判断热点循环体的原因如下:

(1)不满足条件1:如果循环体所在的函数没有被多次调用(调用次数小于N-HOT-CALL),循环体并行化的意义不大,继续延续顺序执行。如果循环体的单次执行时间很短(小于T-HOT-EXE),则可以判定将来并行化带来的性能提升将被创建线程的开销所抵消,循环体不能被判定为热点循环体,将继续延续顺序执行;

(2)不满足条件2或者条件3:如果冲突比例过高(HL-TLS中定义为大于P-ROLLBACK 2),则数据冲突而回滚整个线程造成的开销将抵消并行带来的优势,甚至超过了带来的优势,即TLS并行化执行时间超过顺序执行时间的情况。

(3)区分第一层次和第二层次热点循环体:如前文所述,如果回滚比例在一定范围内(HL-TLS中定义为小于P-ROLLBACK1),则直接提交的TLS并行执行方式可以获得比顺序提交的TLS并行执行方式更快的执行速度。第二层次热点循环体采用的是直接提交的TLS并行执行,其回滚比例小于P-ROLLBACK1;第一层次热点循环体采用的是顺序提交的TLS并行执行,其回滚比例大于P-ROLLBACK 1但小于P-ROLLBACK 2。当回滚比例大于P-ROLLBACK2,此循环体为非热点循环体。

热点机制的算法实现如下:

判定为热点循环体的优势在于,下一次执行此循环体时,将根据循环体为第一层次或第二层次热点循环体的信息,来选择下一次执行方式。如果此循环体被判定为第一层次热点循环体,则说明此循环体满足了顺序提交的TLS并行化执行的前提条件,下次执行则会采用顺序提交的TLS并行化执行。如果此循环体被判定为第二层次热点,则说明此循环体用TLS来并行化将有极大可能给程序带来性能的提升,此时,可以采用更加激进的策略去TLS并行这段程序块,即采用直接提交的数据管理机制。

相反,如果这段循环体没有被判定为第一层或第二层次热点循环体,则此循环体为非热点循环体,只能够保守地对它进行顺序执行。在这种情况下,通常是因为程序执行时遇到了过多的冲突,此时如果仍然采用TLS并行化策略,将会导致开销(冲突检测开销、回滚开销)带来的性能下降大过并行化带来的性能提升。此时,相比较现行其他的TLS策略,HL-TLS编译优化框架有利于避免这种情况的发生从而大大减少了不必要的开销。

使用到的宏、数据结构和函数接口如表1所示。

表1 热点判断部件用到的结构体以及函数接口

4.2 执行机制动态转换

从上节可知,执行机制的动态转换依赖于热点判断部件。对于循环体运用什么方式的执行机制,是由热点判断部件决定的。这种动态的执行方式的转化,解决了因TLS并行带来的并行性能低于顺序执行性能的问题;并且因更加激进的TLS策略的应用,一定程度上提高了程序的性能。如图3所示,在HL-TLS框架中的动态转换执行机制分为下面2个方面:

(1)发生在循环体多次调用之间。根据热点判断部件,可以知道循环体是否被判定为第一层或第二层次热点循环体。如果循环体是第一层次热点循环体,则下次执行循环体时,将用TLS并行化机制;如果循环体是第二层次循环体,则使用更加激进的直接提交的TLS并行化执行策略;否则,此循环体将使用保守的顺序化执行机制。

(2)发生在循环体执行时。如前文所述,多次执行循环体时,会根据前几次的执行情况,来指导下一次执行。不仅如此,在循环体执行的时候,也会根据循环体内部前几次循环执行后的数据冲突情况,来指导循环体剩下部分的执行。如果前几次循环出现冲突,那么在剩下的循环体中,出现冲突的可能性就会大大增加。所以,在前几次循环中,数据冲突出现一定的比例之后,就会转而用顺序或同步并行的方法去执行剩下的部分。

图3 动态转换执行机制

4.3 程序执行流程

运用HL-TLS框架时,编译器对源代码中每个可以TLS并行化执行的循环体前插入一段热点判断和执行机制动态转换的代码,并对其进行并行化编译,程序执行时,通过HL-TLS的热点判断和执行机制动态转换部件,进行第一层次、第二层次热点的判断,并转换到最适合此循环体的执行方式执行。

(1)顺序执行程序,跟踪循环体是否满足热点条件1;

(2)如果不满足条件1,则此循环体被判定为非热点循环体,循环体继续采用顺序执行;

(3)如果满足条件1,则此循环体被判定为第一层次热点循环体,循环体的下次执行方式为顺序提交的TLS并行,TLS执行后判断是否满足热点条件2或者3;

(4)如果满足热点条件2,则此循环体被判定为第二层次热点循环体,此后循环体的猜测并行化执行将采用更为激进的直接提交的TLS执行方式;

(5)如果不满足条件2,但满足条件3,则此循环体延续为第一层次热点循环体,此后的执行方式为顺序提交的TLS执行;

(6)如果既不满足条件2,也不满足条件3,则此循环体将被判定为非热点循环体,此后的执行方式为保守地顺序执行。

循环体执行的流程如图4所示。

图4 HL-TLS执行流程

在HL-TLS框架中,热点判断部件以及执行机制动态转换的采用,有效减少了因回滚引起的开销,解决了因开销过大而引起的性能降低的问题;而被标记为第二层次热点之后,采用更为激进的直接提交的TLS方式执行循环体,在一定程度上提高了其执行的性能。

5 性能比较与分析

将HL-TLS和SpLSC[7]做性能比较。SpLSC是一个轻量级的TLS编译框架,是目前相对实用且性能表现比较好的实现框架。SpLSC假设程序中会存在一定的冲突比例,采用顺序提交的TLS执行方式,且其执行方式在程序执行时不可改变。相比较SpLSC来说,HL-TLS引进了热点循环体的概念和分析,并运用了执行机制的动态转换,且主要在以下2个方面对SpLSC体现了优势:

(1)引进热点循环体判断,能有效减少不必要的开销,特别是避免因回滚过多引起的TLS并行性能比顺序性能还低的问题;

(2)对于最终判定为第二层次热点的循环体,HL-TLS将采用更加激进的方案进行TLS并行,所以在一定程度上能提高加速比。

实验所用的处理器为Intel Xeon 8核处理器,频率3.47 GHz,cache大小为12 288 KB。所用的编译器为gcc-4.6.3,使用-O2选项。实验采用的测试用例来自以下3个benchmark:SciM ark2,BYTEmark和JOlden。实验结果如表2所示,SpLSC和HL-TLS加速比皆为和顺序执行相比较的结果。

表2 测试用例实验结果

如表2所示,4核上的HL-TLS执行速度平均要比顺序执行提高了79.7%,比SpLSC提高了19.8%。其中NNFW性能提升较为明显,比SpLSC提升了将近40%。

8核上的HL-TLS执行速度平均要比顺序执行提高了152.3%,比SpLSC提高了20.0%。其中SparseM ult性能提升较为明显,比SpLSC提升了将近40%。而在IDEA Dekey中性能略微下降了0.8%。

从实验结果中可以看到,除了IDEA Dekey在8核HL-TLS比SpLSC要慢,HL-TLS的性能均有所提升,不管是在4核还是8核上,执行速度平均要比SpLSC提高了20%。HL-TLS性能有所提升的主要原因是HL-TLS在执行时识别了循环体热点层次,其后最高层次热点循环体将采用更加激进的直接提交的数据管理方案进行TLS并行,因此得到了更多的性能提升。

IDEA Dekey在8核中,HL-TLS执行速度比SpLSC低0.9%。分析运行结果发现,IDEA Dekey运行时猜测线程产生的数据有较高的比例是猜测错误的,因此IDEA Dekey适合使用顺序提交的TLS并行方式。在IDEA Dekey中,HL-TLS没有体现出对SpLSC的优势,HL-TLS热点判断模块产生的额外开销导致了性能略微有所下降。

除了动态地采用直接提交的TLS并行策略提升性能,HL-TLS还将动态地识别那些不适合TLS并行化的循环体转换为保守地顺序执行。如表3所示,在EM 3D中,HL-TLS是SpLSC性能的2倍左右。其中,SpLSC性能明显低于顺序执行,且不到顺序执行的50%。而HL-TLS性能接近于顺序执行。SpLCS引起的回滚数量为:20(4核)、60(8核)。例如,循环体进行TLS并行执行时如果数据冲突过多此时线程撤销并回滚的开销已经抵消了并行化带来的优势,HL-TLS将采用顺序执行,从而避免了如SpLSC的性能明显下降的问题。

表3 SpLSC中开销过大的情况

因此,从总体上看,无论循环体猜测并行执行时回滚次数多少,HL-TLS都体现出了对SpLSC的优势。

6 结束语

本文提出一种新的TLS编译框架HL-TLS。该框架有效解决了现有TLS编译技术中猜测并行执行回滚开销过大、性能提高有限的问题。HL-TLS对第二层次的热点循环体采用更加激进的TLS并行化策略,从而进一步提高了并行执行的性能。而针对回滚过多影响性能、甚至导致并行性能低于顺序执行的情况,HL-TLS能够加以识别并动态转换执行机制,从而避免此种问题的发生。实验结果表明,HL-TLS在一定程度上提高了程序的性能,并且解决了开销过大的问题。下一步的研究方向是在HOT机制中加入同步并行的HOT判断,并在动态转换执行机制中进行同步并行方案,实现顺序、同步并行、顺序提交TLS并行和直接提交TLS并行执行方式的动态转换,从而进一步挖掘程序的并行化能力。

[1] Steffan JG,Colohan C G,Zhai A,et al.A Scalable Approach for Thread Level Speculation[C]//Proceedings of the 27th Annual International Sym posium on Computing Architecture.New York,USA:ACM Press,2000:1-12.

[2] 赖 鑫,刘 聪,王志英.支持线程级猜测的存储体系结构设计[J].计算机工程,2012,38(24):228-234.

[3] Krishnan V,Torrellas J.A Chip-multiprocessor Architecture with Speculative Multithreading[J].IEEE Transactions on Computings,1999,48(9):866-880.

[4] Cintra M,Llanos D R.Toward Efficient and Robust Software Speculative Parallelization on Multiprocessors[C]//Proceedings of the 9th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming.New York,USA:ACM Press,2003:13-24.

[5] Liu W,Tuck J,Ceze L,et al.POSH:A TLS Compiler that Exploits Program Structure[C]//Proceedings of the 11th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming.New York,USA:ACM Press,2006:158-167.

[6] Yiapanis P,Rosas-Ham D,Brow n G,et al.Optimizing Software Runtime Systems for Speculative Parallelization[J].ACM Transactions on Architecture and Code Optimization,2013,9(4):39-51.

[7] Oancea C E,Mycroft A.Software Thread-level Speculation:An Optimistic Library Implementation[C]//Proceedings of the 1st International Workshop on Multicore Software Engineering.New York,USA:ACM Press,2008:23-32.

[8] Oancea C E,Mycroft A.A Lightweight In-place Implementation for Software Thread-level Speculation[C]// Proceedings of the 21st Annual Symposium on Parallelism in Algorithm s and Architectures.New York,USA:ACM Press,2009:223-232.

[9] Oancea C E,Mycroft A.Set-congruence Dynamic Analysis for Thread-level Speculation[M].Berlin,Germany:Springer-Verlag,2008:156-171.

[10] Rauchwerger L,Padua D.The LRPD Test:Speculative Run-time Parallelization of Loops with Privatization and Reduction Parallelization[C]//Proceedings of ACM SIGPLAN'95.New York,USA:ACM Press,1995:218-232.

[11] Dang F,Yu H,Rauchwerger L.The R-LRPD Test:Speculative Parallelization of Partially Parallel Loops,TX77843-3112[R].College Station,USA:Texas A&M University,2001.

[12] Du Zhaohui,Lim Chu Cheow,Li Xiaofeng,et al.A Cost-driven Compilation Framework for Speculative Parallelization of Sequential Program s[C]//Proceedings of ACM SIGPLAN'04.New York,USA:ACM Press,2004:71-81.

[13] Dubey P K,O'Brien K,O'Brien K M,et al.Singleprogram Speculative Multithreading(SPSM)Architecture[C]//Proceedings of PACT'95.Manchester,UK:[s.n.],1995:109-121.

[14] Xiang Lingxiang,Scott M L.Compiler Aided Manual Speculation for High Performance Concurrent Data Structures[C]//Proceedings of the 18th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming.New York,USA:ACM Press,2013:47-56.

[15] A ldea S,Estebanez A,Llanos D R,et al.A New GCC Plugin-based Compiler Pass to Add Support for Thread level Speculation into OpenMP[C]//Proceedings of EPP'14.Porto,Portugal:Springer International Publishing,2014:234-245.

[16] 郭 辉,王 琼,沈 立,等.多核平台上的线程级猜测执行综述[J].计算机科学,2014,41(1):16-21.

编辑索书志

HL-TLS:Com piling Implementation of Thread Level Speculation Supporting Hot Spot

JIN Yue,LI Chunqiang,SHANG Yunhai,LU Yongjiang
(Institute of VLSIDesign,Zhejiang University,Hangzhou 310027,China)

Thread Level Speculation(TLS)compiling can effectively improve the parallel efficiency.But the overheads,caused by the management of the speculative data and the failure of speculative thread's rollback,decreases the improvement of the parallel performance.Aiming at the too big overhead of data management and thread rollback,the Hot Loops-TLS(HL-TLS)framework is proposed.HL-TLS marks the loops which can be efficiently paralleled as HL,using a more eager parallel way on HL to improve performance,while using conservative sequence way on non-HL to reduce the overheads.Experimental result shows that HL-TLS im proves 20%performance.

parallel computing;multi-thread;speculative execution;Thread Level Speculation(TLS)parallel;Hot Loops(HL);dynamic transformation execution mechanism

金 跃,李春强,尚云海,等.HL-TLS:支持热点的线程级猜测编译实现[J].计算机工程,2015,41(11):77-83.

英文引用格式:Jin Yue,Li Chunqiang,Shang Yunhai,et al.HL-TLS:Com piling Implementation of Thread Level Speculation Supporting Hot Spot[J].Computer Engineering,2015,41(11):77-83.

1000-3428(2015)11-0077-07

A

TP311

10.3969/j.issn.1000-3428.2015.11.014

国家自然科学基金资助项目(61204111);“核高基”重大专项(2010ZX01030-001-001-006)。

金 跃(1990-),男,硕士研究生,主研方向:编译器优化,并行计算;李春强、尚云海,硕士;卢永江,副教授、博士。

2014-11-06

2014-12-07 E-m ail:xuyv@zju.edu.cn

猜你喜欢
线程热点冲突
热点
耶路撒冷爆发大规模冲突
“三宜”“三不宜”化解师生冲突
基于国产化环境的线程池模型研究与实现
热点
结合热点做演讲
浅谈linux多线程协作
线程池技术在B/S网络管理软件架构中的应用
“邻避冲突”的破解路径
热点