发明名称 基于SMT的线程级推测系统中推测线程数目的动态控制方法
摘要 本发明公开了一种基于SMT的线程级推测系统中推测线程数目的动态控制方法,主要通过动态检测每个循环运行时的并行执行特征来判定每次循环调用所需分配的推测线程数目,以达到充分挖掘循环潜在并行性能和提高处理器资源有效利用率的目的。在进行线程分配之前,需要对所选循环进行运行时的性能剖析,动态监测和估算所有激发线程在整个循环推测执行过程中所带来的正向和负向性能干扰作用。在此基础上,将所有激发线程按照自身所属的推测级为单位,对当前线程分配下的各个推测级进行相应的性能评估和能效评估。最后,再根据各个推测级的评估结果,预测所选循环在下次循环调用中所需分配的推测线程数目,以确保整个循环的高能效推测执行。
申请公布号 CN105260165A 申请公布日期 2016.01.20
申请号 CN201510654581.5 申请日期 2015.10.10
申请人 西安交通大学 发明人 赵银亮;李美蓉;王启明;侍加强;刘凯;张磊
分类号 G06F9/38(2006.01)I 主分类号 G06F9/38(2006.01)I
代理机构 西安通大专利代理有限责任公司 61200 代理人 岳培华
主权项 一种基于SMT的线程级推测系统中推测线程数目的动态控制方法,其特征在于,包括以下步骤:步骤一,在编译时采取贪心的循环选择的基础上,结合运行时的循环调度策略和当前线程分配的需求,选择候选循环在所分配的处理器资源上进行推测并行和循环性能剖析;步骤二,在循环性能剖析中,根据线程内和线程间的性能影响作用,提取出循环推测执行过程中的正向线程性能干扰和负向线程性能干扰,并计算得到相应的正向性能估计值和负向性能估计值;步骤三,识别出每个线程在推测并行过程中所属的推测级,再以各个推测级为单位,利用单个线程的正向性能估计值和负向性能估计值来估算和量化在当前线程分配下各个推测级的并行代价开销,用于对整个循环的执行结果进行性能评估和能效评估;步骤四,根据整个循环的评估结果,采用线程分配算法预测整个循环在不同循环调用过程中所需的推测线程数目,并将此结果反馈到循环性能表中,用于指导不同循环调用间的线程分配和资源调度;步骤五,利用循环性能表中当前循环的线程分配信息计算所激发线程的相对位置,进行推测线程和处理器核之间的动态映射以及资源调度,完成整个循环在所分配的处理器资源上的一次推测执行;步骤六,若当前循环在一次推测执行结束时,经性能评估和能效评估之后,仍未找到所需的推测线程数目,那么在后续的循环调用过程中,将会重复步骤一至步骤五,直到找到合适的线程分配结果为止;若当前循环在一次推测执行结束时已经找到所需的推测线程数目,将会停止对当前循环进行再次线程分配,并在后续的循环调用过程中重复利用当前所找到的推测线程数目,直到整个程序执行结束,至此即完成了SMT的线程级推测系统中对于推测线程数目的动态控制。
地址 710049 陕西省西安市咸宁西路28号