论文部分内容阅读
计算密集型应用一直是高性能计算(HPC)领域的一个重要话题。然而,计算密集型应用对硬件平台的计算能力要求甚高,使得传统的多处理器系统难以胜任。所幸,拥有大规模并行计算能力的新型众核处理机的问世改变了这一局面,为计算密集型应用注入了新的活力。当前,主流众核处理机的代表是NVIDIA的GPGPU和Intel的Xeon Phi,它们是超级计算机和计算机集群中广泛采用的加速器。最新的NVIDIA GPGPU采用Kepler架构,而Intel 最新推出的Xeon Phi基于MIC架构,它们都是并行计算领域的最新技术,却拥有截然不同的体系结构,代表着众核处理机的不同发展方向,因此计算密集型应用的实现平台有了不同的选择。在业内,对于这两者的比较还缺乏相对系统化的研究。本课题选取了一类典型的计算密集型应用——蒙特卡罗模拟,分别在两种众核处理机环境下实现并进行性能分析和比较。蒙特卡罗模拟的庞大计算量一直困扰它的应用和推广,其自身求解过程中包含的多次独立重复试验天生具有并行性,因此众核并行计算可以用来加速蒙特卡罗模拟,蒙特卡罗方法也成为了一个研究众核并行计算的完美切入点。本文的主要工作有:(1)探讨了并行计算的一些基本理论和编程模型。(2)深入研究了NVIDIA GPGPU和Intel Xeon Phi的体系结构与编程方法,并作了相应的对比和总结。(3)阐述了蒙特卡罗模拟的计算机实现及其在系统可靠性分析中的应用。(4)选取了两个蒙特卡罗模拟在系统可靠性分析中的具体案例,并在Tesla K20X GPU和Xeon Phi 5110P上实现,然后从多个角度对这两种加速器进行分析和比较。另外,为了更好地对两者的性能进行比较,本文还引入了相对计算能力的概念。最后,本文得出的结论是,对于蒙特卡罗模拟这一类计算密集型应用,NVIDIA的GPGPU在数据传输带宽、计算能力等方面优于Intel Xeon Phi。