并行性能分析工具与技术:GASP与Scalasca的探索
1. GASP接口:标准性能分析工具接口
GASP(Global Address Space Performance)接口为全局地址空间语言和库指定了基于事件的标准性能接口。该接口将添加插桩代码的责任从工具编写者转移到了全局地址空间(GAS)编译器/库编写者,这提高了数据收集过程的准确性,并减少了测量干扰。
1.1 插桩与控制
- 共享本地访问信息 :在某些分析中,共享本地访问信息很有用,特别是在优化数据局部性和执行私有化优化方面,尽管会带来额外开销,但仍值得使用。
- 插桩指令 :提供了
#pragma指令,允许用户在编译时指示编译器避免对特定代码区域进行插桩,从而减少开销。 - 程序控制函数 :提供了一个程序控制函数,可在运行时切换对选定程序阶段的性能测量。
1.2 初步实验结果
为了测试GASP接口的有效性,在Berkeley UPC中添加了初步的GASP实现,并对NAS并行基准测试套件版本2.4(“B类”工作负载)进行了不同插桩和测量条件下的测试。具体场景如下:
| 场景 | 描述 |
| — | — |
| 插桩 | 链接一个简单的GASP工具,拦截所有 gasp_event_notify 调用并立即返回,记录插桩带来的最小开销。 |
| 插桩(本地) | 使用相同的简单GASP工具,并传递
超级会员免费看
订阅专栏 解锁全文
37

被折叠的 条评论
为什么被折叠?



