异构多核架构逐渐成为多核处理器的主流平台,并且不同的应用场景对异构多核架构有不同的需求。通过集成不同类型的处理核,异构多核平台具有更好的灵活性,不同的应用程序可以根据需求动态地选择不同的核心组合来高效地处理任务。然而,随...异构多核架构逐渐成为多核处理器的主流平台,并且不同的应用场景对异构多核架构有不同的需求。通过集成不同类型的处理核,异构多核平台具有更好的灵活性,不同的应用程序可以根据需求动态地选择不同的核心组合来高效地处理任务。然而,随着核的类型、数量和支持的频率级别的增加,如何高效地调度和管理异构多核平台是当前的一个重要的挑战。现有的调度算法多是基于内核利用率的简单启发式算法,难以利用异构多核的特性获得最优的性能。本文提出了一种基于ANN的动态调度算法,能更好地发挥异构多核平台不同核心的优势来提升应用程序的执行效率。本文所提出的调度算法将应用程序的执行划分为等长的间隔,在相邻的间隔间动态调整映射策略。该调度算法由2个模块构成:首先根据不同核心在不同时刻的处理特征,利用神经网络预测应用程序下一阶段在该类型核心上运行的IPC。其次,所提出的调度算法会根据预测的IPC值确定应用程序下一阶段被映射的核心类型,动态调整映射。实验表明,本文提出的方法相比于传统的轮询调度算法(Round Robin Scheduler,RRS)可以将每个时钟周期执行的指令条数(Instruction Per Cycle,IPC)平均提高63%。展开更多
文摘异构多核架构逐渐成为多核处理器的主流平台,并且不同的应用场景对异构多核架构有不同的需求。通过集成不同类型的处理核,异构多核平台具有更好的灵活性,不同的应用程序可以根据需求动态地选择不同的核心组合来高效地处理任务。然而,随着核的类型、数量和支持的频率级别的增加,如何高效地调度和管理异构多核平台是当前的一个重要的挑战。现有的调度算法多是基于内核利用率的简单启发式算法,难以利用异构多核的特性获得最优的性能。本文提出了一种基于ANN的动态调度算法,能更好地发挥异构多核平台不同核心的优势来提升应用程序的执行效率。本文所提出的调度算法将应用程序的执行划分为等长的间隔,在相邻的间隔间动态调整映射策略。该调度算法由2个模块构成:首先根据不同核心在不同时刻的处理特征,利用神经网络预测应用程序下一阶段在该类型核心上运行的IPC。其次,所提出的调度算法会根据预测的IPC值确定应用程序下一阶段被映射的核心类型,动态调整映射。实验表明,本文提出的方法相比于传统的轮询调度算法(Round Robin Scheduler,RRS)可以将每个时钟周期执行的指令条数(Instruction Per Cycle,IPC)平均提高63%。