随着现代高性能处理器普遍采用多核/多线程结构,多道或多线程程序成为片上应用的主流负载。在一些重要应用领域,片上同时运行的程序之间存在大量指令重复,通过合理的软硬件设计,消除对重复指令的冗余取指和执行,不仅可能大幅提高片上并行执行效率,还可能显著改善处理器的能效。.本课题以数据并行的多线程程序、数据并行消息传递应用、多道程序、网络服务和安全应用等五大类负载为背景,从编译优化以及体系结构两个方面系统研究如何利用线程间指令和数据的相关性特征优化现代处理器的指令流水线。具体研究内容包括:(1) 利用程序切片的思想,研究静态程序分析或动态即时编译技术分析线程间计算和数据的相关性;(2) 线程间指令重用的体系结构支持,研究能在多个线程运行时自动消除重复的取指和执行操作的指令流水线。研究成果不仅在高性能计算、网络、安全和桌面计算等重要领域有宽广的应用前景,还将大大拓深结构研究领域对线程间指令重用的认识。
从20世纪80年代初至今,围绕计算机体系结构的指令重用研究历经了30余年历史。早期的研究工作专注于线程内计算重用,从最早提出的复用复杂指令(如三角函数、对数计算等)计算结果发展到能支持任意指令结果重用的处理器结构。2010年,作为该研究计划的前期工作,首次提出了面向通用负载的线程间指令重用处理器体系结构。以该工作框架为基础,项目计划拟从软件制导的角度进一步开展两方面的研究工作:(1) 对高级语言(C语言)的静态程序分析研究线程间计算重用;(2) 软件制导的体系结构优化支持高效能的线程间指令重用。.围绕此计划开展了三方面探索,包括:(1) 使用程序切片技术静态分析线程间的计算和数据重用空间;(2) 使用二进制插桩技术动态分析程序执行轨迹,反推线程间可重用的高级语义结构;(3) 研究对软件计算重用的体系结构支持。三方面的探索均未取得预期结果,其中静态分析过于保守、程序中大量存在的动态状态判定和为实现复用所需要的高昂存储开销是探索效果不彰最主要的原因。.在开展上述三方面探索的同时,一直并行进行负载行为的研究工作,主要研究成果包括:(1) 基于GPU异构平台的高效能前缀和算法及其在稀疏矩阵向量乘中的应用,成果发表于并行计算领域顶级会议PPOPP2013和PPOPP2014;(2) 面向GPU异构计算平台的软件优化模型,研究成果发表于并行计算领域的高水平国际会议EuroPar2012和ICA3PP2012,另有一项工作处于审稿中;(3) 面向GPU异构计算平台的非规则图像算法优化研究,研究成果发表于Computing Frontiers 2014和HPCC 2013;(4) 有关众包场景下排序聚合研究结果,发表于机器学习领域顶级会议WSDM2015。.总体而言,项目执行过程中共发表EI检索的国际会议论文7篇,其中两篇并行计算领域顶级会议的论文,一篇机器学习领域顶级会议论文,另有一篇论文在审稿中。在人才培养方面,项目执行过程中培养博士生1名,硕士生2名。
{{i.achievement_title}}
数据更新时间:2023-05-31
玉米叶向值的全基因组关联分析
正交异性钢桥面板纵肋-面板疲劳开裂的CFRP加固研究
硬件木马:关键问题研究进展及新动向
基于SSVEP 直接脑控机器人方向和速度研究
小跨高比钢板- 混凝土组合连梁抗剪承载力计算方法研究
超线程结构和SIMD指令的编译优化技术
基于单片多处理器的指令级多线程研究
拓展众核有效并行源的微线程式软硬件支持机制
同时多线程超长指令字DSP的体系结构关键技术研究