论文部分内容阅读
在单核处理器时代,随着大规模集成电路技术和半导体技术的快速发展,处理器的频率和集成度的不断提高,这不但使得单芯片单核处理器的功耗剧增,而且使得其设计更加复杂。近年来,许多厂商和科研机构开始研制众核处理器,经过多年的努力,众核处理器技术取得较快的发展,然而与之匹配的众核软件技术较为滞后,目前还没有一个比较成熟的众核软件映射方法,而在众核基础软件设计中,众核任务分配与调度算法作为其关键技术,成为当前一个研究热点。尽管日前对其开展了一些研究,但是现阶段仍没有一个成熟的体系,尤其是针对日前单芯片上核心数快速增长的情形,现有的众核任务分配与任务调度技术所寻得的近似解的优化度不高。众核软件映射技术以及众核任务分配与调度算法仍然是一个不成熟的领域,还需要进行不断的研究和探索。本文首先对众核处理器技术做深入研究,了解其发展历程、相关设计技术以及对其基础软件的需求。然后对众核软件映射技术进行深入研究,通过对当前研究现状的分析与总结,归纳出一个较为完善的众核软件映射技术流程,此流程基于编译器的静态任务映射,包含了对一个实际应用程序的所有处理环节,所以其整体实现较为困难,通过对其各个环节的深入分析与取舍,其可以作为众核软件映射研究的设计参考。特别地,本文着重对任务分配和任务调度进行深入研究,然后综合比较相关算法后,采用模拟退火算法作为任务分配算法,并对其进行深入研究,包括其背景、演化以及相关参数的意义与设置。通过对前人已有的工作的研究与分析,本文基于对模拟退火算法的深入分析,提出一个环境自适应任务分配算法。建立了模拟退火算法中参数与优化环境的任务数和核心数的关系,随着核心数的增加,不但可以有效降低近似解的相对偏差,而且使任务分配算法具有较高的环境自适应能力。与较近研究成果相比较,在16核心时,自适应模拟退火算法迭代次数增加41%,相对偏差降低68%。在本文算法设计中,因为算法的验证需要几乎整个众核软件映射流程的支持,所以在对众核软件映射流程的各个环节进行深入的研究基础上,优化地完成整个算法程序。整个验证平台采用分层设计方法,以方便于对众核软件各个环节做研究,适用于众核软件研究与设计的参考平台。本文采用标准任务图集STG作为任务优化模型,STG图是早稻田大学实验室针对基于多处理器和众核系统的任务分配与任务调度的研究,提供的一组基准程序测试用例。由于其简单以及灵活性,以被广泛应用于众核系统的任务分配与调度的研究中。