首页> 中文学位 >NUMA环境下访存优化的研究与实现
【6h】

NUMA环境下访存优化的研究与实现

代理获取

目录

声明

第1章 绪 论

1.1 研究背景和目的

1.2 国内外研究现状

1.2.1 NUMA架构内存访问优化

1.2.2针对NUMA架构的访存分析

1.3 研究方法

1.4 研究内容

1.5 组织结构

第2章 系统技术概述

2.1 NUMA架构

2.1.1 SMP架构与NUMA架构

2.1.2 NUMA 架构的性能优化

2.1.3 NUMA 架构的性能分析

2.2 Pin动态二进制插桩工具

2.2.1 Pin工具架构

2.2.2使用Ptrace API加载Pin

2.2.3 JIT编译器

2.2.4 Pin工具使用

2.3 本章小结

第3章 多线程访存优化系统设计

3.1 概述

3.2输出信息

3.3 设计与实现

3.3.1 配置信息的获取

3.3.2 事件收集

3.3.3 整体分析

3.4 访存优化方法

3.4.1 线程优化

3.4.2 动态对象优化

3.5 本章小结

第4章 NUMA架构的缓存仿真设计

4.1 NUMA架构的三级缓存

4.2 缓存一致性协议

4.3 MOESI状态机

4.4 三级Cache的设计和实现

4.4.1 三级缓存的工作流程

4.4.2 三级Cache配置

4.4.3 访存信息获取

4.4.4 Cache模拟

4.5 本章小结

第5章 实验分析

5.1 实验环境

5.2 并发内存分配程序

5.3 读者写者问题

5.4 三级缓存使用效率分析

5.5 本章小结

结论

参考文献

致谢

展开▼

摘要

随着云计算、内存计算时代的来临,应用程序对多核架构服务器的性能要求越来越高,也为服务器的高扩展性提出了挑战。因此,NUMA架构凭借良好的可扩展性以及本地访存低延迟的优点取代了SMP架构成为了服务器常用架构。同时,多线程程序能够充分利用服务器的CPU资源,提高系统资源利用率,加快应用程序响应。  基于NUMA架构运行的多线程程序却常常因为应用程序的内存分配与访问的问题造成程序性能的下降。为了使NUMA架构下的多线程程序的性能提高,本文设计并实现了一个基于动态二进制分析框架Pin基于NUMA架构特征的内存分析器和缓存模拟器,用于分析NUMA架构下线程间、对象间、线程和对象间的内存共享行为和三级缓存使用情况。  首先,基于Intel的Pin工具实现了访存分析工具,该工具能够对NUMA架构下的多线程程序的访存行为进行分析,帮助程序员理解应用程序的访存行为与模式,找到应用程序的性能瓶颈。性能瓶颈主要是由于线程和对象的远程内存访问,需要对这一类线程和对象的布局进行优化,以达到优化整体性能的目的。其次,使用MOESI缓存一致性协议模拟NUMA架构下三级缓存结构,分析应用程序的缓存使用率,获取程序的缓存命中率等信息。优化应用程序的缓存使用率也能够有效提升多线程程序的性能。最后,针对本文设计的访存分析工具使用不同的多线程程序进行测试,并且针对指导信息对线程与动态对象进行动态优化和重新布局来优化程序。实验评估表明,访存分析功能能够将有效提高应用程序性能,提高缓存使用率。

著录项

相似文献

  • 中文文献
  • 外文文献
  • 专利
代理获取

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号