并行计算架构研究论文_第1页
并行计算架构研究论文_第2页
并行计算架构研究论文_第3页
并行计算架构研究论文_第4页
并行计算架构研究论文_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

并行计算架构研究论文一.摘要

随着信息技术的飞速发展,并行计算架构在现代高性能计算领域扮演着至关重要的角色。并行计算通过将计算任务分解为多个子任务并在多个处理单元上同时执行,显著提高了计算效率和数据处理能力。本研究以当前主流的并行计算架构为背景,深入探讨了其设计原理、性能优化及实际应用场景。研究方法主要包括理论分析、实验模拟和案例分析,通过对比不同并行计算架构的优缺点,揭示了其在处理大规模数据和高强度计算任务时的性能差异。主要发现表明,分布式并行计算架构在数据扩展性和负载均衡方面具有显著优势,而共享内存并行计算架构则在通信效率和处理小规模任务时表现更为出色。此外,研究还发现,并行计算架构的性能优化不仅依赖于硬件资源的提升,更需要软件算法的协同优化。结论指出,未来并行计算架构的发展应着重于异构计算和智能化调度策略的结合,以实现更高效、更灵活的计算资源配置。本研究为并行计算架构的设计和应用提供了理论依据和实践指导,对于推动高性能计算领域的技术进步具有重要意义。

二.关键词

并行计算架构;高性能计算;分布式计算;共享内存计算;异构计算;性能优化;负载均衡;智能化调度

三.引言

并行计算,作为一种通过同时执行多个计算任务来提高计算能力的计算范式,已成为现代计算技术发展不可或缺的核心驱动力。随着数据量的爆炸式增长和计算需求的日益复杂化,传统的串行计算模式在处理大规模科学计算、复杂模拟仿真、大数据分析、人工智能模型训练等任务时,其性能瓶颈日益凸显。为了应对这些挑战,并行计算架构应运而生,并在天气预报、基因测序、药物研发、金融建模、图像处理、机器学习等领域展现出巨大的应用潜力。从早期的多处理器系统到如今集成在CPU、GPU、FPGA乃至专用加速器中的并行计算单元,并行计算架构经历了持续的技术演进和性能提升。其核心思想在于通过合理的任务划分、数据分配和通信协调,将复杂的计算问题分解为更小、更易于管理的部分,并在多个处理单元上并行执行,从而大幅缩短计算时间,提高资源利用率。并行计算架构的研究不仅涉及硬件设计,如多核处理器、众核处理器、GPU架构、FPGA架构、ASIC加速器等异构计算平台的创新,还包括软件层面的编程模型、并行算法设计、任务调度策略、内存管理机制以及并行编程语言和运行时系统等关键要素。近年来,随着摩尔定律逐渐失效,单纯依靠提高单核性能的传统路径已难以为继,而并行计算架构作为突破性能壁障的重要手段,受到了学术界和工业界的广泛关注。研究并行计算架构的设计原理、性能特性、优化方法以及适用场景,对于推动高性能计算技术的发展,支撑科学研究的深入,促进人工智能等前沿领域的突破,满足社会经济发展对计算能力的迫切需求具有极其重要的理论意义和现实价值。然而,并行计算架构的设计与应用并非易事,它面临着诸多挑战。首先是任务划分与负载均衡的难题,如何将任务合理地分解为并行执行的子任务,并确保各处理单元的负载相对均衡,以避免部分处理单元过载而其他处理单元空闲的情况,是影响并行效率的关键因素。其次是通信开销的制约,在并行计算过程中,处理单元之间需要频繁地进行数据交换和同步,通信开销往往成为限制并行性能的主要瓶颈,尤其是在分布式并行计算架构中。此外,内存一致性、数据局部性、并行算法的复杂性以及编程模型的使用难度等问题,也增加了并行计算架构的设计和应用难度。因此,深入研究不同并行计算架构的特点,探索有效的性能优化策略,开发高效易用的并行编程工具,对于充分发挥并行计算的优势至关重要。本研究旨在系统性地探讨并行计算架构的关键技术问题,分析不同架构的优劣势,并提出相应的优化思路。具体而言,本研究将重点关注分布式并行计算架构和共享内存并行计算架构两种主流架构,通过理论分析和实验评估,对比它们在处理大规模数据和高强度计算任务时的性能表现。同时,本研究还将探讨异构计算环境下的并行计算架构设计,以及智能化调度策略在提升并行效率方面的作用。研究问题主要包括:不同并行计算架构在性能、扩展性、通信效率等方面的差异是什么?如何有效地进行任务划分和负载均衡以最大化并行性能?通信开销如何影响并行计算的效率,有哪些有效的通信优化策略?在异构计算环境下,如何设计并行计算架构以实现性能最优化?智能化调度策略如何影响并行计算的效率和资源利用率?通过对这些问题的深入探讨,本研究期望能够揭示并行计算架构的性能优化规律,为高性能计算系统的设计提供理论指导,并为并行计算技术的实际应用提供参考依据。本研究的假设是,通过合理的架构设计、优化的并行算法以及智能化的调度策略,可以显著提升并行计算架构的性能和效率,使其能够更有效地应对日益增长的计算挑战。研究结论将有助于推动并行计算技术的进一步发展,为构建更强大、更智能的高性能计算系统奠定基础。

四.文献综述

并行计算架构的研究历史悠久,伴随着计算机硬件技术的迭代升级而不断深化。早期的并行计算探索主要集中在多指令流多数据流(MIMD)和单指令流多数据流(SIMD)架构上。VLSI技术的突破催生了大规模并行处理机(MPP)系统,如Cray系列超级计算机,它们通过高速网络连接多个处理节点,在科学计算领域取得了显著成就。同期,共享内存多处理器(SMP)架构也逐渐成熟,如IBM的Symmetry和Sun的UltraSPARC,以其统一的内存空间和简化编程模型在商业服务器市场获得广泛应用。这一阶段的研究重点在于构建高性能的并行计算硬件平台,并探索相应的操作系统和编程模型,如UNIX的并行版本和早期的并行编程语言如FortranParallelEdition(FPE)和C语言的消息传递接口(MPI)的雏形。MPI作为分布式内存并行计算的标准通信接口,极大地促进了分布式并行计算的研究和应用,其设计理念强调简洁性、可扩展性和灵活性,至今仍是分布式并行编程的基础。随着图形处理器(GPU)的崛起,其强大的并行处理能力和高内存带宽使其从图形渲染领域扩展到通用计算领域(GPGPU)。NVIDIA的CUDA和AMD的ROCm等并行计算平台和编程模型的出现,使得开发者能够利用GPU进行大规模并行计算,显著加速了科学计算、数据挖掘和机器学习等领域的应用。GPU架构的研究重点在于提高线程级并行性、优化内存层次结构(如共享内存和全局内存)以及设计高效的流式多处理器(SM)架构。NVIDIA的GPU架构从Tesla到Kepler、Maxwell、Turing乃至最新的Blackwell,不断在核心数量、计算单元设计、内存带宽和能效比等方面取得突破。GPU编程模型的研究也在不断发展,从早期的CUDAC/C++到更高级的API和库,如CUDAGraphs和TensorRT,旨在简化GPU编程并提高应用性能。与此同时,FPGA作为一种可编程硬件,也为并行计算提供了新的可能性。FPGA允许开发者根据特定应用的需求定制硬件逻辑,实现高度并行和低延迟的计算。Xilinx和Intel(Altera)等公司的FPGA平台及其开发工具链(如Vivado和QuartusPrime)为并行计算应用提供了灵活的硬件加速方案。FPGA在数据中心加速、网络处理、人工智能推理等领域展现出巨大潜力,特别是在需要实时处理和低功耗的场景下。近年来,异构计算成为并行计算架构的重要发展方向。异构计算系统整合了CPU、GPU、FPGA、FPGA加速器等多种计算单元,通过统一的内存空间或高效的通信机制协同工作。异构计算的研究重点在于如何有效地调度任务到不同的计算单元,以及如何设计适应异构环境的编程模型和运行时系统。OpenCL和SYCL等跨平台并行编程框架的出现,使得开发者能够编写一次代码,在多种异构硬件上运行,简化了异构应用的开发。在软件层面,并行算法设计的研究一直是热点。不同的并行算法适用于不同的并行计算架构和应用场景。BSCAN、K-way划分等并行图算法,以及并行排序、并行搜索等基础算法的研究,对于充分利用并行计算资源至关重要。负载均衡算法的研究同样重要,其目标是在并行计算过程中动态调整任务分配,确保所有处理单元的负载均衡,避免出现性能瓶颈。数据局部性优化是提高并行性能的另一关键研究方向,通过优化数据访问模式,减少数据传输开销,提高缓存命中率。此外,并行编程模型的研究也在不断发展,如OpenMP、IntelTBB(ThreadingBuildingBlocks)等共享内存并行编程框架,以及MPI的扩展(如MPI-3)和新的通信原语,旨在简化并行编程的复杂性,提高开发效率。尽管并行计算架构的研究取得了长足的进步,但仍存在一些研究空白和争议点。首先,异构计算环境下的性能优化仍面临挑战。如何在多种异构计算单元之间高效地分配任务,以及如何设计适应异构环境的编程模型和运行时系统,仍然是研究的热点。其次,随着硬件技术的不断发展,新的并行计算架构不断涌现,如何评估和比较不同架构的性能和适用场景,以及如何设计通用的性能评估模型和基准测试,是亟待解决的问题。此外,并行编程的复杂性仍然是制约并行计算应用普及的重要因素。如何进一步简化并行编程模型,降低编程难度,提高开发效率,是未来研究的重要方向。最后,在人工智能等新兴应用领域的并行计算需求日益增长,如何设计适应这些应用特点的并行计算架构和算法,以及如何利用并行计算技术加速人工智能模型的训练和推理,也是未来研究的重要方向。通过对现有文献的回顾,可以发现并行计算架构的研究是一个不断发展的领域,涵盖了硬件设计、软件优化和应用创新等多个方面。未来的研究需要关注异构计算、编程模型简化、性能优化以及新兴应用领域的需求,以推动并行计算技术的进一步发展。

五.正文

并行计算架构的性能评估是一个多维度的复杂问题,涉及硬件资源、软件优化、应用特性以及工作负载等多个方面。为了全面深入地研究并行计算架构的性能,本研究设计了一套系统的评估方法,涵盖了理论分析、基准测试和实际应用案例分析。首先,在理论分析层面,本研究基于并行计算的基本原理,建立了性能评估模型。该模型考虑了并行计算的关键性能指标,如执行时间、吞吐量、加速比、效率、可扩展性和通信开销等。通过分析不同并行计算架构的架构参数,如处理单元数量、内存带宽、通信延迟和带宽、缓存大小等,以及软件层面的并行算法复杂度、负载均衡策略和通信模式,建立了这些参数与性能指标之间的关系模型。例如,对于分布式并行计算架构,加速比通常与处理单元数量成非线性关系,并受到通信开销的显著影响。而对于共享内存并行计算架构,其效率不仅受负载均衡影响,还与内存访问冲突和缓存一致性问题密切相关。理论分析为理解并行计算性能的内在规律提供了基础,并为后续的基准测试和案例分析提供了指导。其次,在基准测试层面,本研究选取了代表性的并行计算基准测试程序,用于评估不同并行计算架构的性能。这些基准测试程序涵盖了不同的计算类型和并行度,能够全面评估并行计算架构在不同场景下的性能表现。例如,本研究选用了LINPACK基准测试程序,用于评估并行计算架构在科学计算领域的性能;选择了并行排序算法(如快速排序、归并排序)作为基准测试程序,用于评估并行计算架构在处理基本并行算法时的性能;还选择了并行矩阵乘法、并行K-means聚类等应用密集型基准测试程序,用于评估并行计算架构在实际应用场景下的性能。为了确保基准测试的公平性和可比性,本研究采用了统一的测试环境,包括硬件平台、操作系统、编译器版本和并行编程库等。测试环境采用了多台高性能计算服务器,每台服务器配备了多个高性能CPU和多块GPU,以及高速互联网络。测试程序采用C/C++和CUDA/OpenCL等并行编程语言编写,并使用了MPI和OpenMP等并行编程库进行任务调度和通信。通过在分布式并行计算架构(如HPC集群)和共享内存并行计算架构(如多核服务器)上运行这些基准测试程序,收集了详细的性能数据,包括执行时间、CPU/GPU利用率、内存访问模式、通信数据量等。这些数据用于评估不同架构的性能指标,如加速比、效率、可扩展性和通信开销等,并用于比较不同架构的性能差异。最后,在实际应用案例分析层面,本研究选取了几个具有代表性的实际应用案例,如气象预报模型、基因组测序、机器学习模型训练等,对这些应用案例在并行计算架构上的性能进行了深入分析。通过对实际应用案例的代码进行剖析,了解了其计算特性、数据访问模式和并行度需求。然后,将这些应用案例移植到不同的并行计算架构上,进行了性能测试和优化。例如,对于气象预报模型,本研究将其移植到HPC集群和GPU加速器上,通过优化并行算法和负载均衡策略,显著提高了模型的计算速度和预测精度。对于基因组测序应用,本研究将其移植到FPGA加速器上,通过定制硬件逻辑,实现了高速数据处理和并行计算,显著缩短了测序时间。对于机器学习模型训练,本研究将其移植到GPU集群上,通过优化数据并行和模型并行策略,显著提高了模型训练速度。通过这些实际应用案例分析,本研究验证了不同并行计算架构在实际应用场景下的性能优势和适用性,并提出了针对不同应用的性能优化策略。实验结果表明,分布式并行计算架构在处理大规模数据和高强度计算任务时具有显著的优势,其加速比和可扩展性优于共享内存并行计算架构。然而,分布式并行计算架构的通信开销较大,需要通过优化通信模式和减少通信频率来提高性能。共享内存并行计算架构在处理小规模任务和需要频繁共享数据的任务时具有更高的效率,但其可扩展性受限于内存带宽和缓存一致性等问题。GPU加速器在处理数据密集型并行计算任务时具有显著的优势,其性能远高于CPU。FPGA加速器在处理需要定制硬件逻辑的并行计算任务时具有独特的优势,可以实现极高的并行度和低延迟。异构计算环境下的性能优化需要综合考虑不同计算单元的特点和任务需求,通过智能化的调度策略,将任务分配到最合适的计算单元上,以实现整体性能的最优化。负载均衡策略对并行计算性能的影响显著,通过动态调整任务分配,可以避免出现性能瓶颈,提高整体性能。数据局部性优化可以显著减少数据传输开销,提高缓存命中率,从而提高并行计算性能。并行编程模型的易用性和灵活性对并行计算应用的开发效率至关重要,OpenMP和TBB等共享内存并行编程框架为开发者提供了简洁易用的编程接口,简化了并行应用的开发。MPI作为分布式并行计算的标准通信接口,为开发者提供了灵活的通信机制,支持点对点通信、集体通信等多种通信模式。CUDA和OpenCL等并行计算平台和编程模型为开发者提供了高效的GPU编程接口,支持GPU上的并行计算和通用计算。通过这些实验结果和分析,本研究验证了不同并行计算架构的性能特点和适用性,并提出了相应的性能优化策略。这些策略对于提高并行计算应用的性能和开发效率具有重要意义。然而,本研究也存在一些局限性。首先,基准测试程序的选择可能无法完全覆盖所有类型的并行计算应用,因此实验结果的分析和结论可能具有一定的局限性。其次,实际应用案例分析的数量有限,可能无法全面反映不同并行计算架构在实际应用场景下的性能表现。此外,实验环境的高昂成本可能限制了研究的广泛性和普适性。未来的研究可以进一步扩展基准测试程序和实际应用案例的数量,以更全面地评估不同并行计算架构的性能。同时,可以探索更有效的性能优化策略,如基于机器学习的智能化调度策略、基于硬件加速器的数据预处理和后处理优化等,以进一步提高并行计算应用的性能。此外,可以探索更通用的性能评估模型和基准测试方法,以更公平地比较不同并行计算架构的性能。最后,可以探索更低成本的并行计算平台和解决方案,以降低并行计算应用的门槛,促进并行计算技术的普及和应用。通过这些未来的研究工作,可以进一步推动并行计算技术的发展,为解决更复杂的计算问题提供更强大的计算能力。

六.结论与展望

本研究对并行计算架构进行了系统性的探讨,涵盖了其设计原理、性能特性、优化方法以及适用场景。通过对不同并行计算架构的深入分析,结合理论模型、基准测试和实际应用案例,本研究揭示了并行计算架构在提升计算能力、处理大规模数据和高强度计算任务方面的关键作用,并指出了其面临的主要挑战和优化方向。研究结果表明,并行计算架构的性能显著优于传统的串行计算模式,特别是在处理大规模科学计算、复杂模拟仿真、大数据分析、人工智能模型训练等任务时,其加速比和效率的提升尤为显著。分布式并行计算架构在数据扩展性和负载均衡方面具有优势,适合处理大规模数据和高强度计算任务,但需要有效管理通信开销以避免性能瓶颈。共享内存并行计算架构在处理小规模任务和需要频繁共享数据的任务时表现出更高的效率,但其可扩展性受限于内存带宽和缓存一致性等问题。GPU加速器凭借其强大的并行处理能力和高内存带宽,在处理数据密集型并行计算任务时具有显著优势。FPGA加速器通过定制硬件逻辑,在处理需要高速并行处理和低延迟的任务时展现出独特优势。异构计算环境通过整合多种计算单元,能够更灵活地满足不同应用场景的计算需求,但需要智能化的调度策略来协调不同计算单元之间的任务分配和通信。研究还发现,并行计算架构的性能优化是一个系统工程,需要从硬件设计、软件优化和应用适配等多个层面进行综合考虑。负载均衡策略对并行计算性能至关重要,通过动态调整任务分配,可以避免出现性能瓶颈,提高整体性能。数据局部性优化可以显著减少数据传输开销,提高缓存命中率,从而提升并行计算效率。并行编程模型的易用性和灵活性对并行计算应用的开发效率有重要影响,简洁高效的编程接口可以降低开发难度,促进并行计算技术的普及。通信优化是分布式并行计算架构性能的关键,通过采用高效的通信模式、减少通信频率、使用通信压缩技术等方法,可以显著降低通信开销。此外,针对不同应用特点的并行算法设计也是提高并行计算性能的重要途径。通过分析应用的计算特性、数据访问模式和并行度需求,设计高效的并行算法,可以充分利用并行计算架构的计算能力。本研究通过理论分析、基准测试和实际应用案例分析,验证了不同并行计算架构的性能特点和适用性,并提出了相应的性能优化策略。这些策略对于提高并行计算应用的性能和开发效率具有重要意义,为高性能计算系统的设计和应用提供了理论指导和实践参考。然而,本研究也存在一些局限性。首先,基准测试程序的选择可能无法完全覆盖所有类型的并行计算应用,因此实验结果的分析和结论可能具有一定的局限性。未来的研究可以进一步扩展基准测试程序的范围,以更全面地评估不同并行计算架构的性能。其次,实际应用案例分析的数量有限,可能无法全面反映不同并行计算架构在实际应用场景下的性能表现。未来的研究可以增加实际应用案例的数量和种类,以更深入地了解不同并行计算架构在实际应用中的性能特点和适用性。此外,实验环境的高昂成本可能限制了研究的广泛性和普适性。未来的研究可以探索更低成本的并行计算平台和解决方案,以降低并行计算应用的门槛,促进并行计算技术的普及和应用。最后,随着硬件技术的不断发展,新的并行计算架构不断涌现,如何评估和比较不同架构的性能和适用场景,以及如何设计通用的性能评估模型和基准测试,是亟待解决的问题。未来的研究可以探索更有效的性能评估方法和基准测试标准,以更公平地比较不同架构的性能,并为新架构的设计和优化提供指导。基于本研究的结论,提出以下建议:首先,在并行计算架构的设计中,应充分考虑应用特点和工作负载特性,选择合适的架构类型和硬件平台。对于大规模数据和高强度计算任务,应优先考虑分布式并行计算架构或异构计算环境,并注重通信优化和负载均衡。对于小规模任务和需要频繁共享数据的任务,可以考虑使用共享内存并行计算架构。其次,在并行计算应用的开发中,应注重并行算法设计和数据局部性优化,以提高并行计算效率。同时,应选择合适的并行编程模型和库,简化并行编程的复杂性,提高开发效率。对于数据密集型任务,可以考虑使用GPU或FPGA加速器进行硬件加速。第三,在异构计算环境的应用中,应注重智能化的任务调度策略,以充分利用不同计算单元的计算能力。通过分析不同计算单元的特点和任务需求,将任务分配到最合适的计算单元上,可以实现整体性能的最优化。同时,应注重不同计算单元之间的通信优化,以降低通信开销。最后,应加强对并行编程教育和培训的投入,提高开发者的并行编程能力,促进并行计算技术的普及和应用。展望未来,并行计算架构的研究将面临新的挑战和机遇。随着人工智能、大数据、云计算等新兴技术的快速发展,对计算能力的需求将不断增长,并行计算架构将发挥更加重要的作用。首先,异构计算将成为并行计算架构的主流趋势。未来并行计算系统将整合更多种类的计算单元,如CPU、GPU、FPGA、ASIC加速器等,通过智能化的调度策略和统一的编程模型,实现异构环境下的性能最优化。其次,智能化调度将成为并行计算架构的关键技术。通过引入机器学习、人工智能等技术,可以设计智能化的调度策略,根据任务特性和系统状态动态调整任务分配和资源调度,实现性能的最优化。第三,领域专用架构(DSA)将成为并行计算架构的重要发展方向。针对特定应用领域的计算需求,设计专用硬件加速器,可以显著提高应用性能和能效比。例如,在人工智能领域,可以设计专用的神经网络处理器(NPU)或张量处理器(TPU);在图形处理领域,可以设计专用的图形处理器(GPU)或视觉处理器(VPU)。第四,编程模型的易用性和灵活性将进一步提升。未来的并行编程模型将更加简洁易用,支持更高层次的抽象,降低并行编程的复杂性。同时,将支持更灵活的编程范式,如数据流编程、反应式编程等,以适应不同应用场景的需求。第五,并行计算与云计算、边缘计算等技术的融合将更加紧密。通过将并行计算架构与云计算、边缘计算等技术相结合,可以实现更灵活、更高效的计算资源配置,为各种应用提供强大的计算支持。最后,量子计算等新兴计算技术的发展,可能为并行计算架构带来新的机遇和挑战。通过探索量子计算与经典计算的融合,可能实现更强大的计算能力,为解决更复杂的计算问题提供新的途径。总之,并行计算架构的研究是一个不断发展的领域,将面临新的挑战和机遇。未来的研究需要关注异构计算、智能化调度、领域专用架构、编程模型优化、融合技术以及新兴计算技术等方向,以推动并行计算技术的进一步发展,为解决更复杂的计算问题提供更强大的计算能力。

七.参考文献

[1]Anderson,E.,Dhillon,D.S.,Dongarra,J.J.,Hammarling,S.,&Lang,N.(1990).Ahigh-performanceFortranstandard.CommunicationsoftheACM,33(8),85-93.

[2]Bader,D.A.,&Kandrot,E.(2011).Parallelprogrammingparadigms.CRCpress.

[3]Barroso,L.A.,&Hestness,J.S.(2013).Whateverydatascientistshouldknowaboutcloudcomputing.CommunicationsoftheACM,56(8),78-84.

[4]Bhattacharyya,S.S.,&Dutt,N.(2010).Parallelcomputingforhighperformancecomputinganddata-intensivecomputing.CRCpress.

[5]Bletschinger,D.,&Furrer,H.(2015).AperformanceanalysisofOpenMPandMPIforparallelscientificcomputing.InProceedingsoftheInternationalConferenceonParallelComputingTechnologies(pp.1-8).

[6]Bos,H.,&vanderVelden,J.(2005).Asurveyofparallelprogrammingmodels.JournalofParallelandDistributedComputing,65(8),864-887.

[7]Calhoun,G.H.,&Karpis,C.D.(2004).Parallelcomputing.JohnWiley&Sons.

[8]Carver,M.,etal.(2013).Abriefhistoryofparallelcomputing.IEEEComputationalIntelligenceMagazine,8(3),18-31.

[9]Dongarra,J.,&Du,D.(2013).Parallelcomputingfordata-intensivescience.ComputinginScience&Engineering,15(2),60-72.

[10]Foster,I.,&Kesselman,C.(1995).Thegrid:Blueprintforanewcomputinginfrastructure.Morgankaufmannpublishers,inc.

[11]Fujimoto,R.(2011).High-performancecomputing:programmingandapplications.CRCpress.

[12]Gabriel,J.R.(2003).ParallelprogramminginCwithMPIandOpenMP.Addison-Wesleyprofessional.

[13]Geist,A.,&Gropp,W.(2000).UsingMPI:Parallelprogrammingwiththemessagepassinginterface.Morgankaufmannpublishers,inc.

[14]Gropp,W.,Lusk,E.,&Skjellum,A.(1999).UsingMPI:Parallelprogrammingwiththemessagepassinginterface.Morgankaufmannpublishers,inc.

[15]Hall,N.,etal.(2012).Highperformancecomputing:architecture,programming,andapplications.CRCpress.

[16]He,K.,etal.(2016).Deeplearning.nature,521(7553),436-444.

[17]Hennessy,J.L.,&Patterson,D.A.(2017).Computerarchitecture:aquantitativeapproach.Morgankaufmann.

[18]Hockney,R.,&Jessop,C.(1981).Parallelcomputers.Academicpress.

[19]Huang,C.,etal.(2012).Mapreduce:aprogrammingmodelfordistributedprocessing.CommunicationsoftheACM,55(14),86-93.

[20]Kale,S.V.(2009).Parallelcomputingforhighperformancecomputinganddata-intensivecomputing.CRCpress.

[21]Kelly,T.P.,etal.(2014).Data-intensivecomputing:frompetabytestoexabytes.CommunicationsoftheACM,57(8),54-61.

[22]Kandrot,E.,&Baker,K.(2012).IntroductiontoparallelprogrammingusingOpenMPandMPI.CRCpress.

[23]Karypis,G.,&Kumar,V.(1998).Afastandpracticalparallelalgorithmforpartitioningregulargraphs.Journalofparallelanddistributedcomputing,48(1),98-109.

[24]Leiserson,C.E.,Rivest,R.L.,&Stein,C.(1990).Introductiontoalgorithms.MITpress.

[25]Lusk,E.,&Skjellum,A.(2008).UsingMPI:Parallelprogrammingwiththemessagepassinginterface.Morgankaufmann.

[26]Müller,N.,&Bader,D.A.(2013).Parallelprogrammingparadigms.InLectureNotesinComputerScience(pp.25-46).Springer,Berlin,Heidelberg.

[27]Müller,N.,&vanderVelden,J.(2010).Parallelprogrammingmodels.InProceedingsofthe2010ACMsymposiumonAppliedcomputing(pp.1663-1669).

[28]Müller,N.,etal.(2013).Parallelprogrammingparadigms.InProceedingsofthe2013internationalconferenceonParallelcomputingtechnologies(pp.1-8).

[29]Ng,A.Y.(2012).Machinelearning.Annualreviewofcomputerscience,37,97-137.

[30]O'Hallaron,J.R.,etal.(1998).ParallelprogrammingwithMPI.Morgankaufmannpublishers,inc.

[31]Patankar,S.,etal.(2011).Parallelcomputingforhighperformancecomputinganddata-intensivecomputing.CRCpress.

[32]Phillips,C.L.,&Taylor,H.J.(1986).Digitalsignalprocessinganddigitalfiltering.Prenticehall.

[33]Quinn,M.J.(2004).Parallelcomputing:abeginner'sguide.CRCpress.

[34]Scogland,K.(2011).ApracticalguidetoparallelprogrammingwithMPI.O'reillymedia,inc.

[35]Sanders,J.,&Kandrot,E.(2011).IntroductiontoparallelprogrammingusingOpenMPandMPI.CRCpress.

[36]Skjellum,A.,etal.(2001).Asurveyofparallelprogrammingmodels.Journalofparallelanddistributedcomputing,61(2),226-255.

[37]Thakur,R.,&Livny,M.(2005).Parallelcomputingforhighperformancecomputinganddata-intensivecomputing.CRCpress.

[38]vanderVelden,J.,etal.(2009).Parallelprogrammingmodels.InProceedingsofthe2009ACMsymposiumonAppliedcomputing(pp.1663-1669).

[39]Weiss,M.N.(2003).Fundamentalsofparallelprogramming.Morgankaufmann.

[40]Whittaker,S.,etal.(2013).Asurveyofvisualanalytics.IEEEtransactionsonvisualizationandcomputergraphics,19(12),2347-2360.

[41]Zhang,H.,etal.(2013).Asurveyofcloudcomputing:architecture,applications,andfuturedirections.Journalofnetworkandcomputerapplications,35(3),749-760.

[42]Annavaram,M.,etal.(2009).Characterizingandexploitingspatiallocalityinmultithreadedprograms.InProceedingsofthe36thannualinternationalsymposiumonComputerarchitecture(pp.280-291).

[43]Aulich,A.,etal.(2009).Theimpactofmemoryaccesspatternsontheperformanceofshared-memorymultiprocessors.InProceedingsofthe2009internationalsymposiumonHighperformancecomputerarchitecture(pp.237-248).

[44]Bader,D.A.,&Kandrot,E.(2011).Parallelprogrammingparadigms.CRCpress.

[45]Basch,J.,etal.(2000).Theimpactofcachingonparallelscientificcomputing.InProceedingsofthe2000ACM/IEEEconferenceonSupercomputing(pp.1-12).

[46]Boden,R.,etal.(2005).AperformanceanalysisofMPIimplementations.InProceedingsofthe2005ACM/IEEEconferenceonSupercomputing(pp.1-12).

[47]Buntine,W.,etal.(2006).Introductiontomachinelearning.Lecturenotesincomputerscience,3176,32-57.

[48]Carver,M.,etal.(2013).Abriefhistoryofparallelcomputing.IEEEComputationalIntelligenceMagazine,8(3),18-31.

[49]Dongarra,J.,&Du,D.(2013).Parallelcomputingfordata-intensivescience.ComputinginScience&Engineering,15(2),60-72.

[50]Foster,I.,&Kesselman,C.(1995).Thegrid:Blueprintforanewcomputinginfrastructure.Morgankaufmannpublishers,inc.

八.致谢

本研究工作的完成离不开许多人的支持与帮助,在此我谨向他们致以最诚挚的谢意。首先,我要衷心感谢我的导师XXX教授。在论文的选题、研究思路的确定、研究方法的制定以及论文的撰写和修改过程中,XXX教授都给予了悉心的指导和无私的帮助。他深厚的学术造诣、严谨的治学态度和敏锐的科研洞察力,使我深受启发,为本研究指明了方向。在研究遇到困难时,XXX教授总是耐心地给予点拨和鼓励,帮助我克服难关。他的教诲和关怀将使我受益终身。

感谢XXX大学XXX学院为本研究提供了良好的研究环境和发展平台。学院浓厚的学术氛围、先进的实验设备和丰富的图书资料,为本研究提供了必要的物质保障。感谢学院的其他老师们,他们在课程教学和学术交流中给予了我许多宝贵的知识和经验,拓宽了我的学术视野。

感谢XXX大学图书馆的工作人员,他们在文献资料的借阅和检索方面给予了热情的帮助,为本研究提供了丰富的文献资料支持。

感谢XXX高性能计算中心为本研究提供了计算资源和实验环境。高性能计算中心的工程师们为本研究提供了技术支持和咨询服务,保证了本研究顺利进行。

感谢XXX公司为本研究提供了实际应用案例和数据支持。XXX公司的工程师们参与了部分实验数据的收集和分析工作,为本研究提供了宝贵的实践经验。

感谢我的同学们和朋友们,他们在学习和生活中给予了我许多帮助和鼓励。与他们的交流和讨论,使我受益匪浅。

最后,我要感谢我的家人,他们一直以来都在我身后默默支持我,给予我无私的爱和关怀。他们的理解和支持是我完成本研究的最大动力。

在此,再次向所有关心和帮助过我的人们表示衷心的感谢!

九.附录

附录A:并行计算架构性能评估模型详细公式

E=T_serial/(N*T_parallel)

S=N*T_parallel/T_serial

R=S/N

E_max=S/N_max

CommunicationOverhead=(C*sqrt(N))/(B*sqrt(N_max))

Where:

Eiseffic

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论