鲲鹏社区首页
中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助

LLC Miss事件调优(二维动态数组)

  1. 准备源代码cache_miss.c。

    测试文件可以在demo获取

    1
    chmod 777 cache_miss.c
    

    编译cache_miss.c并赋予执行文件所有用户只读、只写、可执行权限;并保证上级目录均为755权限。

    1
    gcc -g -Wl,--build-id cache_miss.c -o cache_miss && chmod 777 cache_miss
    
  2. 创建访存分析(Miss事件分析)。
    表1 任务配置参数说明

    参数

    说明

    分析对象

    应用

    应用路径

    /opt/testdemo/cache_miss

    分析类型

    访存分析

    访存分析类型

    Miss事件分析

    采样时长

    5秒

    采样间隔

    默认值8192

    延迟采样时长

    1秒

    指标类型

    LLC Miss

    采样范围

    用户态

  3. 查看分析结果。
    图1 分析结果
  4. 优化后的源码为demo中的cache_hit.c
    1
    chmod 777 cache_hit.c
    

    demo编译cache_hit.c并赋予执行文件所有用户只读、只写、可执行权限。

    1
    gcc -g cache_hit.c -o cache_hit && chmod 777 cache_hit
    
  5. 再次创建访存分析。
    表2 任务配置参数说明

    参数

    说明

    分析对象

    应用

    应用路径

    /opt/testdemo/cache_hit

    分析类型

    访存分析

    访存分析类型

    Miss事件分析

    采样时长

    5秒

    采样间隔

    默认值8192

    延迟采样时长

    1秒

    指标类型

    LLC Miss

    采样范围

    用户态

  6. 查看分析结果。
    图2 分析结果

    通过代码优化处理,同时使用鲲鹏DevKit系统性能分析工具查看性能数据,优化后的构造二维数组就LLC Miss事件发生大幅降低。