55、自动检测OpenMP应用程序低效问题及内存访问局部性分析

自动检测OpenMP应用程序低效问题及内存访问局部性分析

1. Periscope系统概述

Periscope是一个用于大规模类集群系统的自动化性能分析系统。该系统通过分布在机器上的一组代理进行分析,这些代理呈层次化排列:
- 节点级代理处于层次结构的最低层,负责检测性能属性。
- 中间代理以主代理为根、节点级代理为叶形成树状结构,负责整合节点级代理的结果。
- 主代理整合整个系统的性能数据,并连接到工具的前端,作为与用户的接口。

所有组件都使用注册服务来注册自身并发现更高或更低级别的代理。尽管Periscope系统的某些部分仍在开发中,但节点级代理已具备对OpenMP应用程序进行性能分析的功能。这种代理层次结构主要是为了在大型机器(数百个节点)上实现可扩展的分析,避免集中收集性能数据可能导致的数据管理、分析和可视化的可扩展性问题。

2. 监测与数据模型

2.1 监测方式

通过POMP监测接口和Opari源到源工具来监测OpenMP应用程序的执行。Opari在OpenMP构造周围添加对符合POMP的监测库的调用,Periscope在与目标应用程序链接的库中实现POMP接口,从而能够观察OpenMP应用程序的执行。

监测库观察应用程序生成的事件,并将事件记录写入共享内存段中的缓冲区。位于同一节点上的节点级代理对这些事件记录进行处理和分析,以尽量减少对目标应用程序的干扰。

2.2 数据模型

节点级代理分析监测事件,并生成与ASL数据模型相对应的性能数据。对于OpenMP应用程序,数据模型由ParPerf数据结构表示:


                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值