众核处理器的运行时支持面临一系列挑战,主要表现在:众核环境下多种应用相互干扰,导致系统性能下降;众多进/线程同时运行,导致进/线程间的同步/通信/调度成为系统瓶颈;以进程/线程为单位进行任务分配/调度,众核资源难以得到有效利用。因此,解决众核系统的运行支持问题,在系统结构层面支持操作系统及应用程序的高效运行,使众核资源得到充分利用,对众核处理器系统结构和新型操作系统的形态与设计实现有重要的参考意义。.项目重点研究软件可知的分区方法,实现分区之间的隔离以避免应用间的相互干扰;研究分区与操作系统和应用进/线程之间的灵活映射,为上层提供便于管理和调度的系统结构视图;研究支持分区控制和进/线程间高效同步与通信的硬件原语,在保证灵活性的前提下,获得更高的性能;研究在分区内多个处理器核上进行细粒度任务调度的方法和支持机制,以更有效地发掘应用的并行性,提高众核资源的使用效率,使应用获得应有的性能。
本项目按照原计划开展了众核资源分区、硬件原语和细粒度任务调度等三方面的研究工作。在资源分区方面,我们在真实系统中实现了软件Cache分区方法,解决了传统分区方法大多依赖于新型硬件支持因而难以应用的问题,同时提出了轻量级的分区调整技术;还研究了处理器核资源按照应用的分区和自适应问题,提出了有利于负载平衡和动态调整的分区方法。在硬件原语方面,针对众核存储一致性的问题,提出了可以有效进行一致性异常检测和内存竞争检测硬件机制和硬件原语。在任务调度方面,研究了支持任务并行度动态反馈的和支持处理器核资源公平和有效分配的自适应任务窃取算法。开发了一个可以采集并行程序线程运行时通信信息的分析工具,以及一个分析并行程序Cache性能的工具,可以为运行时提供信息支持。.除原计划内容外,我们从编程模型的角度,研究了以运行期数据同步支持高效率编程的GPU事务存储模型,在CUDA平台实现了基于软件的事务存储编程框架;还提出了一种基于参数配置的MapReduce应用性能调优方法。针对以虚拟机为载体的运行时环境,提出了基于内核性能事件的虚拟机能耗建模方法。在硬件层面,为了支持Cache的分区和多种优化,提出了一种新的存储器设计方法,将STT-RAM和SRAM在存储单元级别集成,可以同时支持多种Cache优化技术,并显著降低能耗。.综上所述,本项目从编程模型、运行时资源分配、线程调度、硬件原语、虚拟化与硬件支持等多个方面开展了多项研究,形成了一套对众核应用程序提供运行支持的解决方法,项目的主要成果为:1)软件可知的众核处理器Cache分区方法与真实系统实现,核资源的分区和自适应调整方法;2)支持存储一致性异常检测和内存竞争检测的硬件机制和原语;3)具有负载平衡和自适应调整能力的众核处理器的细粒度任务调度方法;4)面向GPU的事务存储编程模型与真实系统实现,以及面向Mapreduce的模型优化方法;5)面向虚拟环境的能耗建模方法;6)开发众核模拟器1个,程序调试和开发工具2个。通过本项目的研究,在国内外知名期刊、会议上发表学术论文共计34篇,其中SCI期刊论文6篇,CCF A类会议3篇,CCF B类会议1篇,EI检索24篇。申请发明专利7项。培养博士研究生4名,硕士研究生9名。完成了项目计划书所设定的研究目标和各项研究任务。
{{i.achievement_title}}
数据更新时间:2023-05-31
黄河流域水资源利用时空演变特征及驱动要素
特斯拉涡轮机运行性能研究综述
硬件木马:关键问题研究进展及新动向
基于LASSO-SVMR模型城市生活需水量的预测
自然灾难地居民风险知觉与旅游支持度的关系研究——以汶川大地震重灾区北川和都江堰为例
支持动态可扩展Cache一致性分区的众核处理器关键技术研究
众核平台的并行编程模型及其运行时支持技术的研究
拓展众核有效并行源的微线程式软硬件支持机制
基于众核处理器的高通量视频解码优化技术研究