关键词:
异构多核处理器
微内核操作系统
通信机制
任务映射算法
摘要:
随着智能硬件逐渐进入大众的视野,使得嵌入式设备的开发愈来愈繁杂。使用广泛的单核处理器以及同构多核处理器的处理性能已经很难达到应用需求。为了减弱开发难度提升计算机处理能力,处理器生产商将异构多核处理器纳入智能设备的主要研究方向。其中,异构多核架构中核间通信技术成为计算机体系结构中关注的研究热点,主要包括进程间通信以及核间通信。本文基于异构多核处理器,研究不同结构和功能的多个核心之间进行高效率通信,以此达到处理器性能最优化。本文的主要研究工作如下:(1)针对核内进程间传递消息的字节大小的不同降低通信效率的问题,设计了一种基于消息类型界定策略的核内进程间通信机制。该机制利用通用寄存器(General Register,GR)和共享内存地址映射(Shared memory address mapping,SMAM)的消息传递方法的优缺点互补的方式提出一种消息类型界定策略,该策略设定了一种最大传输单元(Maximum Transmission Unit,MTU)值,如果进程之间传递的消息超过MTU值,则通信方式为共享内存的地址映射,反之,则采用通用寄存器的方式进行通信。有效地缩短了消息传递的时间,提高进程间消息传输速率。(2)针对不同结构内核之间的任务无法高效跨核通信以及发挥各核协作优势,以此提升多核之间通信效率的问题,对现有多核通信架构进行改进以此满足异构多核之间的通信,并设计一种基于LS-SVM的异构多核任务映射算法。本文异构多核通信机制设计实现理念采用主从式结构方案,在该方案中设立一个通信管理主内核和一个控制主内核,通信管理主内核主要负责处理应用程序中控制密集型任务与辅助从核通信,在每个从内核中添加一个代理线程,负责将位于不同内核的消息传递给通信管理主内核以及核间共享内存,实现相互协作完成异构核之间的高效通信。控制主内核主要负责将大量的应用程序中的计算密集型任务从系统内存中搬运到各个从内核的本地存储中,完成数据搬运类通信。为了提供系统通信性能和吞吐率,本文采用最小支持向量机通过训练后划分任务类型得出预测计算通信比率PCC,并与任务实际计算通信率CC比较,如果PCC>CC,则说明此任务为I/O密集型任务,反之,为计算密集型任务。考虑不同任务类型有不同通信和计算需求,将两种任务类型采用不同的方式合理的映射在内核上。(3)采用MPICH2搭建异构多核模拟仿真平台,在PC端将μC/OS-II相关文件移植到Visual Studio 2017并进行相应删改。采用C语言编写实现通信机制利用测试程序得出的通信耗时和传输速率,并在相同的运行环境下与消息邮箱、消息队列通信机制的耗时和速率做比较。实验测试结果显示,本文设计的异构多核通信机制在通信耗时、传输速率方面都优于两个通信媒介,验证了本文所设计的通信机制具有有效性。