● 摘要
随着多核/众核处理器技术的快速发展,广大的程序员需要更多地采用并行编程,以充分利用数量众多的处理器资源。并行程序也希望通过优化来达到更高的性能,但随着线程个数的增多,线程并行运行过程中相互间同步/互斥及资源竞争的关系更加复杂,导致程序性能优化的难度加大。我们需要对并行程序进行性能分析来提出合理可行的优化策略。本文研究内容属于中德软件联合技术研究所承担的国家自然科学基金项目“改善众核处理器并行编程的系统性方法”中的一部分。本文首先研究了并行程序性能分析、优化等相关技术,在此基础上,结合课题需求,设计了一种并行程序线程性能分析与可视化工具。本文从总体上给出了工具的设计方案,并详细介绍了性能数据的收集,分析转化以及可视化的实现。最后,从功能和性能角度,对工具进行了测试,通过测试结果分析,证明分析工具达到了预期的设计目标。本文所实现的性能分析工具,具有良好的可扩展性,提供了灵活多样的分析粒度,可在并行程序运行过程中动态获取线程运行及线程间互斥/同步信息,生成线程通信图,并以多种可视化的方法显示、反馈给用户,有助于科研人员了解程序的性能表现及可能存在的瓶颈,对于并行程序的优化具有一定的指导意义。
相关内容
相关标签