论文部分内容阅读
分布式处理是目前非常流行的一个研究热点,其实现与优化都基于软件平台。本研究提出了一种通过硬件(FPGA)实现片内多核分布式处理机制设计方案。异构多核芯片广泛应用于现今的顶层超级计算机当中,类似的异构处理单元(或计算加速器)也普遍存在于FPGA系统当中。在多核芯片和FPGA系统当中,片上网络对于连接这些处理单元起着关键作用。但是,目前普遍应用的片上网络只用于片上构件和存储接口间的点对点通信。随着系统节点数量的不断增加,传统的编程方法,例如MPI,对片上网络和片下网络的利用率都不高,导致通信成为性能的瓶颈。本研究提出了一种片内多核分布式处理机制(消息传递引擎MPE)的设计方案,作为片上网络的一部分来实现硬件点对点通信和集合通信。一方面,消息传递引擎通过承担通用处理单元的工作负载大幅提高了通信性能。另一方面,消息传递引擎给异构处理单元直接提供了接口,这样可以减少甚至去除操作系统和库周围的数据通道。实验结果表明,消息传递引擎可以大幅度的减少通信时间以及提高整体性能,尤其对于和网络紧耦合的异构计算系统来说。另外,硬件测试结果表明消息传递引擎可以高效率的承担通信任务,使得处理单元在计算上得以充分发挥优势。本设计的硬件平台为赛灵思公司的FPGA开发板Virtex-5,其嵌入的MicroBlaze处理器可作为设计的中央处理器。由于采用了32位RISC(Reduced Instruction Set Computer)优化架构,MicroBlaze核所占用的片上资源非常少,简单且具有很高的性能。本研究在深入学习现有分布式处理软件实现的基础上,用硬件描述语言VHDL在赛灵思公司ISE10.1开发工具中设计了分布式处理中点对点通信和集合通信的基本函数,并对各个函数及整体实现进行了波形仿真验证。用赛灵思公司的开发工具EDK新建硬件工程,并将设计的硬件分布式处理机制添加到硬件工程中,生成网表和比特流等相关文件进行板级验证。