论文部分内容阅读
随着半导体工艺的发展,处理器朝着众核方向发展,片上网络逐渐取代总线成为核间通信的基础架构。新工艺的出现改变了片上的设计范式,使得在单芯片集成更多的处理器核成为可能。然而众核系统运行效率较低,尚有一系列的科学技术问题亟待解决。线程推测执行可以大幅提高众核系统的运行效率,但同时也面临着许多新问题,主要包括推测线程间数据依赖冲突检测问题、片上网络性能评估和设计问题等。本课题针对线程推测执行中数据依赖冲突检测的核心理论和设计技术问题进行研究,为完善线程推测执行中数据依赖冲突检测提供坚实的理论和技术基础,具有重要的理论意义和应用价值,取得研究成果如下:1.提出了一种数据依赖冲突检测的有序链表优化实现。在分析一种典型数据依赖冲突检测机制和运行特征的基础上,对用于全局数据依赖冲突检测硬件有序链表提出了改进实现。该改进实现融合了Cache实现机制和双端口RAM的工作原理,使得链表快速查找和插入操作流水化和并行化,其结构规整有利于VLSI实现。对类似于硬件有序链表等用于数据依赖冲突检测的全局部件,推导了数据依赖冲突检测性能分析公式。检测性能分析公式针对不同的数据依赖冲突检测和线程作废方式,推导了推测线程重启概率与内存访问频率、处理器核数和推测线程存在数据依赖概率之间的解析方程。同时利用GCRA(Generic CellRate Algorithm)方程模拟推测线程访存模型,结合网络演算相关理论,推导了全局检测部件缓存和延迟上界公式。利用性能分析公式,结合仿真实验确定了有序链表在不同线程派发情形下的最优存储配置和实现方式。2.提出了一种基于SMP系统线程推测执行的存储一致性技术。存储一致性技术利用L1Cache一致性协议解决数据依赖冲突检测,采用L2Cache解决由于线程切换所引发的不可避免的Cache块替换问题。一致性协议扩展自MESI协议,通过多种技术途径来去除集中式数据依赖冲突检测的弊端。协议在L1Cache中增加存储线程推测度的版本优先级寄存器用于存储线程推测度,通过版本优先级寄存器解决推测数据版本比较问题。该技术利用数据写令牌环标记系统中推测线程对数据所做的最新修改,结合作废向量寄存器记录线程之间的RAW数据依赖,进行分布式数据依赖冲突检测。如果来自总线的推测读失效具有更高的推测度,L1Cache在取得数据的总线监听令牌环之后,根据处理器核ID更新作废向量。线程作废采用了延迟作废机制以减少线程作废重启次数。此外,L1Cache根据推测线程不同执行状态增加推测执行子模式,解决了由于线程作废引起的数据依赖冲突检测错位。针对推测线程切换和访存特征,在L2Cache中设置分布-共享缓冲区以缓存被替换L1Cache块。3.提出了一种基于随机网络演算理论的数据依赖冲突检测报文通信性能分析方法。数据依赖冲突检测报文主要是由Cache一致性事件所引发,通过将Cache一致性事件引发的信息流抽象成MMOO(Markov-Modulated On-Off)流,分析了在片上网络有无多播支持的不同情形下报文通信性能,主要针对多播报文流在相邻分支节点间传播过程,利用随机网络演算基本理论推导出了中间路由节点的两个性能解析模型,即缓存上界和端到端延迟上界与节点归一化处理能力和节点利用率之间的解析模型,并提出了一种片上网络中分析数据依赖冲突检测报文的通信性能分析方法,最后利用该方法对传统电信号片上网络进行仿真实验。4.提出了一种支持高效数据重估依赖检测的片上光互连网络结构。该结构基于混合式链路交换通信网络,利用广播总线和光Token仲裁机制简化了一致性协议的设计,在TorusNX拓扑结构借鉴Corona体系结构设计思想上增加蛇形光导通信环,在光交换器上增加新的光波导从而在片上光网络中构建出一条Cache一致性通信广播总线,综合采用波分复用方式提高片上光互连的通信效率和带宽,着重解决了广播总线光仲裁Token生成、传递和再生的问题,总线仲裁为推测线程提交增加高优先级快速提交通道。实验结果表明,利用该片上光互连网络结构,可以很好的解决线程推测运行中数据依赖冲突检测,支持推测线程快速提交,使得数据依赖冲突检测高效,并提高了非推测执行应用程序执行性能。