高性能计算系统内存子系统的性能预测模型研究

高性能计算系统内存子系统的性能预测模型研究

论文摘要

随着高性能计算技术在社会生产生活各方面的应用日益广泛,高性能计算的性能评测尤其是性能预测在高性能计算领域内逐渐受到重视。目前研究最广泛的是使用性能模型进行预测。建立性能模型,只需要收集关于应用程序及目标机器的一些相关信息进行分析,然后通过一些计算得出应用程序在目标机器上运行所需要的时间。相对于其他方法来说,整个预测过程花费的时间大大缩短,而且其预测精度也比较高。现有的一些性能模型与程序所使用的数值算法密切相关,建立过程需要花费大量的专家人力,模型计算时间较长,无法实现自动化;另一些性能模型所使用的工具和建模方法基于某种类型的计算平台,且只对其少数战略同盟直接可用。本文着重于高性能计算机系统的内存系统性能模型,分析了使用机器特征操作能力与应用程序中循环的内存访问模式相结合的性能模型框架,并在充分分析的基础上,对性能模型工具进行了移植,在Intel X86结构上实现了对应的模型计算工具,对应用程序中的循环而不是基本块进行处理,精简所需要考虑的内存访问特征;并针对该性能模型框架中为获取应用程序内存访问模式使用的Multi-MAPS测试工具可能存在的、不能覆盖所有的HPC应用程序中的内存访问模式的问题进行了讨论并提出了解决办法。实验数据表明,使用移植到Intel X86结构上的性能模型进行性能预测能够达到预期的精度;通过插值的算法后可以使用已获取Multi-MAPS循环中的数据来计算其他应用程序中其他可能的内存访问模式所对应的机器内存带宽,从而可以加快整个性能模型计算的时间。

论文目录

  • 摘要
  • Abstract
  • 1 引言
  • 1.1 高性能计算简介
  • 1.2 高性能计算系统结构及网络互联
  • 1.2.1 高性能计算机系统结构
  • 1.2.2 高性能计算机的网络互联
  • 1.2.3 高性能计算的应用现状
  • 1.3 高性能计算的性能预测
  • 1.3.1 高性能计算性能预测的意义
  • 1.3.2 高性能计算性能预测的方法
  • 1.3.3 性能模型在高性能计算中的应用
  • 1.4 本文的工作
  • 2 一种基于内存子系统和通信子系统的性能模型框架
  • 2.1 线性内存性能模型
  • 2.2 基于内存性能与网络通信性能的性能模型
  • 2.2.1 程序特征操作
  • 2.2.2 系统特征文件
  • 2.2.3 性能合成方法
  • 3 内存性能模型的移植
  • 3.1 基准测试程序NPB及测试环境
  • 3.2 使用动态内存追踪获取程序特征操作
  • 3.2.1 动态二进制分析/动态二进制插装工具
  • 3.2.2 Valgrind/Pin使用介绍
  • 3.2.3 如何确定程序中的循环
  • 3.2.4 使用Memtrace获取程序特征操作
  • 3.4 获取机器特征文件
  • 3.4.1 内存存储带宽
  • 3.4.2 内存存取延迟
  • 3.4.3 浮点运算能力
  • 3.5 性能合成
  • 4 性能模型的分析及改进
  • 4.1 内存性能模型的改进
  • 4.2 关于Multi-MAPS的覆盖
  • 4.3 使用近似计算获取内存带宽
  • 4.3.1 最小二乘法曲面拟合
  • 4.3.2 最小二乘法曲面进行内存带宽拟合
  • 5 总结与展望
  • 5.1 总结
  • 5.2 将来的工作
  • 6 参考文献
  • 致谢
  • 相关论文文献

    标签:;  ;  ;  ;  ;  

    高性能计算系统内存子系统的性能预测模型研究
    下载Doc文档

    猜你喜欢