论文部分内容阅读
可重构计算技术兼备ASIC的高性能和通用CPU的灵活性的双重优点,能够满足各领域对高性能计算的迫切要求,已成为业界的研究热点。目前,可重构逻辑器件已经具备局部可重构的能力,能够满足现代计算系统高性能和多任务动态执行的需求,同时对可重构操作系统提出了新的要求。硬件任务调度是可重构操作系统的核心技术。高效的硬件任务调度和放置是发挥局部可重构计算技术优势最为关键的因素之一。为提高任务调度的性能,本文针对局部动态可重构计算系统中的在线硬件任务调度问题展开研究,通过对该领域现有的算法和成果进行分析总结,针对其中的一些缺陷与不足提出了自己改进方案。论文的具体研究工作如下:首先,为改善现有资源管理算法随着可重构器件上任务数的增多而开销骤增的缺点,本文在已有相关矩阵模型基础上,设计了一个基于区域划分(Segmentation Algorithm, SA)的资源管理算法。SA屏蔽掉扫描区域中已被占用的区域,将大的扫描区域划分成多个子区域进行扫描,从而降低资源管理的时间开销。其次,通过对现有经典算法的任务放置策略进行分析,本文发现他们采用的代价函数皆与放置区域周边已被占用的可重构资源数量相关。本文对其加以综合和简化,证明了基于最大邻接边数(Max-Adjacent Sides, MAS)的放置策略能有效地降低可重构资源的碎裂程度,从而提升任务的调度成功率和资源利用率。再次,由于基于可重构逻辑器件的任务上下文切换开销巨大,业界针对可重构计算系统中抢占式内核的相关研究未能引起足够重视,忽略了可重构计算系统中预留任务的特殊属性。本文利用系统中预留任务的特殊属性,提出了一种亚可抢占任务调度算法(Secondary Preemptable Scheduling Algorithm, SPSA)。当存在任务不能被成功调度时,SPSA剥夺系统已分配给预留任务的可重构资源,设计算法对这些任务进行统一离线调度,以进一步提高任务调度成功率和资源利用率。最后,为了验证本文算法思想的有效性,本文基于现有的在线硬件任务调度模型实现了一个模拟系统,对本文提出的算法思想和现有的经典算法进行模拟仿真。最终的实验数据表明:SA算法非常有效地降低了可重构资源管理开销;MAS放置策略成功简化了FE的算法过程,并在BV和KTVS放置策略的同等代价下,具备更高的任务调度成功率和资源利用率;基于MAS策略的SPSA算法,大幅度提升了任务调度成功率和资源利用率。