论文部分内容阅读
多核/众核处理器中集成的丰富计算资源为线程级猜测并行提供了契机。在过去的20年中,有数十种通过或硬件或软件或软硬件实现的线程级猜测并行机制被广泛应用,充分证明了该机制的性能潜力。但在现有的绝大多数猜测并行模型中,猜测任务以顺序提交、顺序确认的方式完成正确性检验。如果当前线程执行的猜测任务发生了回滚,则后续猜测线程执行完的任务也就无法及时提交,无论该任务与回滚任务之间是否存在相关性,后续线程也只能进行不必要的等待,这大大降低了猜测线程的执行效率,减少了猜测并行机制带来的实际性能加速。本文以HEUSPEC软件猜测并行模型为研究平台,在深入分析该模型的基本框架、开销模型和优化策略的基础上,针对顺序提交、顺序确认机制对模型性能进一步提升所带来的约束展开了相关的研究工作。主要工作及创新点如下:1)现有的TLS系统对猜测任务的确认遵循严格的顺序原则。顺序原则虽然能确保程序执行的正确性,但对在猜测执行过程中数据相关性不确定的程序而言,会因为猜测任务的回滚而产生大量不必要的等待开销,进而降低系统的计算性能。为此,本文提出了乱序提交、顺序确认的激进式任务提交缓冲区机制(Aggressive Submission Buffer,SUB),避免猜测线程在执行过程中不必要的等待,从而提高执行效率,为进一步提升HEUSPEC模型的计算性能提供契机。2)激进式任务提交缓冲区机制在程序的猜测执行过程中,因为缓冲区的存在,可以提前对多项猜测任务进行分派,对于存在确定性相关的应用程序,这种超前的任务分派会导致应用程序的回滚率上升,缓冲区越大,回滚的连锁反应越明显。为此,本文提出了跨任务取(Inter-task Fetch,ITF)和动态缓冲区调整(Dynamic Buffer Resizing,DBR)两种动态优化技术,用以在应用程序执行过程中对回滚率进行控制,使之保持在较低的水平。实验结果表明,在误猜率相同的情况下,激进式任务提交缓冲区机制能够有效缩短执行时间,提升系统性能,并且最佳性能提升达到28.32%。跨任务取优化策略能够对误猜率进行有效控制,平均降低57.47%的误猜率和提升19.77%的计算性能,而在跨任务取优化策略的基础上增加动态缓冲区调整技术,又可以进一步提升6.73%的系统性能。