论文部分内容阅读
随着人们对嵌入式系统计算需求的提高和应用软件的复杂,片上多处理器系统(Multiprocessor-system-on-chip,MPSoC)在嵌入式系统中的应用越来越广泛。MPSoC硬件的发展给软件的开发带了很多挑战,其中细粒度多线程模型因其能够高效利用硬件多核资源而获得了大量的应用。然而,细粒度多线程模型在提供系统性能优化空间的同时,也会更多暴露线程之间的依赖关系,从而在多核系统中引入大量通信开销。因此,如何减少细粒度线程模型的通信开销对于系统性能提升有重要意义。为了更好利用多核硬件的并行性和细粒度线程模型的优势,如何将由多个线程(也叫任务)组成的应用合理分配到各个处理器上同时确定每个任务的启动顺序和起始时间,即任务映射和任务调度问题,对于系统性能提升也有着决定性的作用。另外,通信优化和任务映射、任务调度互相之间还存在依赖关系,则如何在任务映射和任务调度过程中同时考虑通信优化也非常有必要。本文针对以上的问题进行深入研究,对以往研究中提出的细粒度通信优化技术——通信流水线和消息聚合技术——从时间和空间两个角度分别对它们在性能提升上的优缺点进行探讨,并给出了能够最大化发挥其优势而避免其劣势的解决方案。针对能够减少占通信开销中比例最大的通信流水线应用,本文将其分别与任务映射和任务调度过程相结合以获得性能提升。对于与任务映射相结合,本文首先分析了任务映射和通信流水线的使用时涉及到的相互权衡关系,接下来提出了基于ILP的任务映射方法。针对该ILP方法存在的可扩展性和自适应性问题,本文进一步提出了优化模型和TP-CLUSTER算法来解决可扩展性问题,ILP与多目标优化算法AUGMECON2结合来解决自适应性问题。对于与任务调度相结合,由于通信流水线会改变任务的执行顺序,故它和任务调度之间也存在依赖关系,本文则据此提出了 FCATS算法来解决考虑通信流水线的任务调度问题。FCATS算法包括针对高质量解的S-FCATS和短求解时间的H-FCATS。另外,本文针对以上三个问题提出的解决方法中都考虑了任务图的无环拓扑和有环拓扑,针对不同拓扑进行了不同的处理。本文采用了大量任务图和两个实际应用在2-24个CPU的MPSoC平台上进行实验,从理论上和实际上分别证明了各算法的有效性。本文的创新点主要有:·深入分析通信流水线技术和消息聚合技术的优缺点,针对它们存在问题提出利于性能优化的相应解决方案;·探讨通信流水线和任务映射的关系,提出基于ILP的任务映射方法,并针对其可扩展性和自适应性问题提出解决方案以获得最优性能;·探索通信流水线和任务调度的关系,提出FCATS算法来解决调度和通信流水线分配问题来最大程度上提升性能。