● 摘要
多核并行计算通过开发程序的线程级并行性(Thread Level Parallisim,TLP)来提高执行效率,处理器则通过不断增加更多数量的计算核心来提供更高的计算性能。在共享Cache的片上多核处理器(Chip Multi-Processor, CMP)中,多个核心通常以总线方式共享最后一级Cache(Last Level Cache,LLC)以及动态随机存储器(Dynamic Random Access Memory,DRAM)。由于不同任务的访存特征存在差异,对系统中共享存储资源的竞争能力也各不相同;如果没有特别的调度机制,某些任务可能占用大部分乃至全部的系统资源,导致其他任务得不到响应,会对系统的性能造成影响。本文的研究目标是利用FPGA实现一个硬件结构灵活可配、软/硬件实现完全透明的共享二级Cache的四核处理器;并在该多核处理器上进行任务亲和性调度研究,以任务亲和性来指导任务划分。
本文的研究内容主要包括以下几个方面:
1.分析Beehive多核处理器的互连结构以及实现技术。Beehive是微软硅谷研究院(Microsoft Silicon Research,MSR)利用FPGA实现的、主要用于科研和教学目的的多核处理器,具有硬件结构灵活可配、软件工具链完整等优点;
2. 基于Beehive设计与实现一种采用新型互连结构的多核处理器NewBeehive。相比于Beehive,NewBeehive将提供共享二级Cache和Cache一致性,并对其中的RISC核进行改进:增加时钟中断功能,改进硬件互斥信号量的实现;
3. 针对多核系统中任务并行执行时的相互影响给出一种任务亲和性测试方法,并通过测试任务集对该方法进行验证。针对最短执行时间和RM调度的最坏执行时间拟合对任务亲和性进行应用分析,说明任务亲和性对于任务在多核中的划分和调度所具有的积极意义。