论文部分内容阅读
ESL设计和验证是一种新兴的电子设计方法,它提供给软件和EDA工程师提供一个虚拟平台,用以进行硬件系统架构的探索和嵌入式软件程序的开发。通信系统是一个结构复杂的系统,在对原有的通信系统做出改进或建立一个新系统之前,通常需要对这个系统进行建模和仿真,通过仿真结果衡量方案的可行性,然后再应用于实际系统中。然而,当前的ESL仿真软件和通信仿真软件只能串行执行或在单台工作站上以多线程模式运行,一次仿真过程可能耗费成百上千个小时,也不支持多人同时仿真。因此,基于传统架构的仿真软件已经不能满足下一代ESL仿真和通信仿真的要求。同时,EDA工程师也缺乏并行计算的专业技能。利用并行计算技术在异构的并行计算机上并行地仿真是解决问题的重要途径。因此,本文提出了一个基于云计算平台的并行ESL仿真和通信仿真平台Cloud-PECSim。
Cloud-PECSim主要由应用程序开发接口、任务解析模块、任务分解模块、任务聚合模块、用户管理模块、任务调度模块和底层的Hadoop云计算平台组成。通过使用Cloud-PECSim,EDA工程师不需要了解底层并行计算的细节就能在分布式平台上开发仿真程序。
Cloud-PECSim实现了一套统一的应用程序开发接口。通过使用这些接口,EDA工程师可以很方便地使用各种异构硬件计算资源,包括共享内存的多处理器、多核CPU、GPU和FPGA等。为了充分利用已有的仿真算法代码,同时使EDA工程师能方便地使用并行计算对仿真算法进行加速,提出并实现了两种对原有代码进行并行优化的机制:(1)基于宏定义的并行机制;(2)基于API调用的并行机制。传统串行仿真算法的代码不需要改动或只需少量改动就能迁移到Cloud-PECSim上运行。另外,本文提出并实现了一种多层次队列的优先级调度算法,对多任务进行合理的调度,以便充分利用底层异构硬件平台的资源,使整个集群内的负载均衡。系统支持多用户同时进行仿真的功能,并且单个用户可以同时提交同一个仿真任务的多次运行请求。系统会对这些任务进行合理调度,尽量保证每个任务从提交到运行完成所需的时间最少,使每个用户尽快得到结果。
本文选取了三个经典的应用:加性高斯白噪声信道仿真误码率计算、雷达信号处理和Turbo乘积码译码,对Cloud-PECSim进行了性能分析和评估。实验结果表明,随着算法处理的数据量增加和进行仿真任务的用户数量的增多,仿真程序所耗费的最长时间并没有明显地增长。可见,Cloud-PECSim能充分利用硬件的资源,具有良好的可扩展性。