免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2885 | 回复: 8
打印 上一主题 下一主题

[CPU及多核] 使用巨页和LLC MISS的关系 [复制链接]

论坛徽章:
15
射手座
日期:2014-02-26 13:45:082015年迎新春徽章
日期:2015-03-04 09:54:452015年辞旧岁徽章
日期:2015-03-03 16:54:15羊年新春福章
日期:2015-02-26 08:47:552015年亚洲杯之卡塔尔
日期:2015-02-03 08:33:45射手座
日期:2014-12-31 08:36:51水瓶座
日期:2014-06-04 08:33:52天蝎座
日期:2014-05-14 14:30:41天秤座
日期:2014-04-21 08:37:08处女座
日期:2014-04-18 16:57:05戌狗
日期:2014-04-04 12:21:33技术图书徽章
日期:2014-03-25 09:00:29
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2013-10-15 16:16 |只看该作者 |倒序浏览
x86环境中,在应用程序通过libhugetlbfs库使其代码段使用巨页后,发现iTLB和DTLB MISS都下降(比较正常),但是LLC MISS(也就是L3 Cache miss)急剧增大,没想明白巨页和LLC MISS之间有啥关系,理论上应该没有影响才对,请高人指点下?谢谢!

论坛徽章:
6
金牛座
日期:2013-10-08 10:19:10技术图书徽章
日期:2013-10-14 16:24:09CU十二周年纪念徽章
日期:2013-10-24 15:41:34狮子座
日期:2013-11-24 19:26:19未羊
日期:2014-01-23 15:50:002015年亚洲杯之阿联酋
日期:2015-05-09 14:36:15
2 [报告]
发表于 2013-10-16 08:40 |只看该作者
回复 1# humjb_1983
x86环境中,在应用程序通过libhugetlbfs库使其代码段使用巨页后,发现iTLB和DTLB MISS都下降(比较正常),但是LLC MISS(也就是L3 Cache miss)急剧增大,没想明白巨页和LLC MISS之间有啥关系,理论上应该没有影响才对,请高人指点下?谢谢!


可否将两次的perf结果输出一下,差距有多大?

   

论坛徽章:
15
射手座
日期:2014-02-26 13:45:082015年迎新春徽章
日期:2015-03-04 09:54:452015年辞旧岁徽章
日期:2015-03-03 16:54:15羊年新春福章
日期:2015-02-26 08:47:552015年亚洲杯之卡塔尔
日期:2015-02-03 08:33:45射手座
日期:2014-12-31 08:36:51水瓶座
日期:2014-06-04 08:33:52天蝎座
日期:2014-05-14 14:30:41天秤座
日期:2014-04-21 08:37:08处女座
日期:2014-04-18 16:57:05戌狗
日期:2014-04-04 12:21:33技术图书徽章
日期:2014-03-25 09:00:29
3 [报告]
发表于 2013-10-16 08:45 |只看该作者
回复 2# 瀚海书香
呵呵,多谢回复,还请瀚海兄指点~~
使用的是oprofile工具,统计DTLB_MISS、ITLB_MISS和LLC_MISS结果如下表:







   

新建 Bitmap 图像.JPG (19.35 KB, 下载次数: 43)

新建 Bitmap 图像.JPG

论坛徽章:
15
射手座
日期:2014-02-26 13:45:082015年迎新春徽章
日期:2015-03-04 09:54:452015年辞旧岁徽章
日期:2015-03-03 16:54:15羊年新春福章
日期:2015-02-26 08:47:552015年亚洲杯之卡塔尔
日期:2015-02-03 08:33:45射手座
日期:2014-12-31 08:36:51水瓶座
日期:2014-06-04 08:33:52天蝎座
日期:2014-05-14 14:30:41天秤座
日期:2014-04-21 08:37:08处女座
日期:2014-04-18 16:57:05戌狗
日期:2014-04-04 12:21:33技术图书徽章
日期:2014-03-25 09:00:29
4 [报告]
发表于 2013-10-16 09:09 |只看该作者
再补充一下,这个问题最终的困扰是发现使用巨页后,发现性能并未提升,cpu占用率相比使用巨页之前反而增高了,所以使用oprofile进行分析定位,目前还比较困惑。

论坛徽章:
6
金牛座
日期:2013-10-08 10:19:10技术图书徽章
日期:2013-10-14 16:24:09CU十二周年纪念徽章
日期:2013-10-24 15:41:34狮子座
日期:2013-11-24 19:26:19未羊
日期:2014-01-23 15:50:002015年亚洲杯之阿联酋
日期:2015-05-09 14:36:15
5 [报告]
发表于 2013-10-16 10:08 |只看该作者
回复 3# humjb_1983
使用的是oprofile工具,统计DTLB_MISS、ITLB_MISS和LLC_MISS结果如下表:

能否把百分比拿出来。LLC-Load LLC-miss的比例更有价值

如果从单纯的hugepage来说,与LLC-miss应该没多大关系的
   

论坛徽章:
15
射手座
日期:2014-02-26 13:45:082015年迎新春徽章
日期:2015-03-04 09:54:452015年辞旧岁徽章
日期:2015-03-03 16:54:15羊年新春福章
日期:2015-02-26 08:47:552015年亚洲杯之卡塔尔
日期:2015-02-03 08:33:45射手座
日期:2014-12-31 08:36:51水瓶座
日期:2014-06-04 08:33:52天蝎座
日期:2014-05-14 14:30:41天秤座
日期:2014-04-21 08:37:08处女座
日期:2014-04-18 16:57:05戌狗
日期:2014-04-04 12:21:33技术图书徽章
日期:2014-03-25 09:00:29
6 [报告]
发表于 2013-10-16 10:31 |只看该作者
瀚海书香 发表于 2013-10-16 10:08
回复 3# humjb_1983

能否把百分比拿出来。LLC-Load LLC-miss的比例更有价值

这个还真是,当时采集的时候指采集了LLC MISS事件,对于Load(应该对于LLC Reference事件吧?)没有采集,不知道环境还在不在,我看看是否还能再采集一下吧~~
多谢!!

论坛徽章:
15
射手座
日期:2014-02-26 13:45:082015年迎新春徽章
日期:2015-03-04 09:54:452015年辞旧岁徽章
日期:2015-03-03 16:54:15羊年新春福章
日期:2015-02-26 08:47:552015年亚洲杯之卡塔尔
日期:2015-02-03 08:33:45射手座
日期:2014-12-31 08:36:51水瓶座
日期:2014-06-04 08:33:52天蝎座
日期:2014-05-14 14:30:41天秤座
日期:2014-04-21 08:37:08处女座
日期:2014-04-18 16:57:05戌狗
日期:2014-04-04 12:21:33技术图书徽章
日期:2014-03-25 09:00:29
7 [报告]
发表于 2013-10-17 16:53 |只看该作者
回复 5# 瀚海书香
新的采样数据。
对DTLB_LOAD_MISSES、ITLB_MISS、LLC_MISSES和LLC_REFS进行采样,单位是:50000,即每50000次采样计数1次。
使用巨页后DTLB_LOAD_MISSES反而变大,LLC_MISSES/LLC_REFS也增大很多。

           DTLB_LOAD_MISSES    ITLB_MISSES  LLC_MISSES   LLC_REFS  LLC_MISSES/LLC_REFS
无巨页      36703                          45593             37970           750130       5%
使用巨页    45134                          15805            131926          756800       17%

   

论坛徽章:
6
金牛座
日期:2013-10-08 10:19:10技术图书徽章
日期:2013-10-14 16:24:09CU十二周年纪念徽章
日期:2013-10-24 15:41:34狮子座
日期:2013-11-24 19:26:19未羊
日期:2014-01-23 15:50:002015年亚洲杯之阿联酋
日期:2015-05-09 14:36:15
8 [报告]
发表于 2013-10-22 08:54 |只看该作者
回复 7# humjb_1983
Perf is a more popular performance tool in kernel, so could you run again by perf?

BTW: Do you have any idea about this  issue.

   

论坛徽章:
15
射手座
日期:2014-02-26 13:45:082015年迎新春徽章
日期:2015-03-04 09:54:452015年辞旧岁徽章
日期:2015-03-03 16:54:15羊年新春福章
日期:2015-02-26 08:47:552015年亚洲杯之卡塔尔
日期:2015-02-03 08:33:45射手座
日期:2014-12-31 08:36:51水瓶座
日期:2014-06-04 08:33:52天蝎座
日期:2014-05-14 14:30:41天秤座
日期:2014-04-21 08:37:08处女座
日期:2014-04-18 16:57:05戌狗
日期:2014-04-04 12:21:33技术图书徽章
日期:2014-03-25 09:00:29
9 [报告]
发表于 2013-10-23 09:10 |只看该作者
回复 8# 瀚海书香
呵呵,感谢,目前已经没有环境和时间再弄这个了~~
对于这个问题,我再描述下场景和我们的处理思路~,供参考和讨论。

问题来源于一个业务程序,之前是跑在mips环境中的,发现性能不行,于是采用巨页方式,结果性能得到了比较大的提升;而现在该业务需要迁移到x86环境中,也想使用巨页的方式提升性能,而最终测试结果与预期相反,性能反而有略微的降低,经采样发现LCC MISS增加比较明显,于是怀疑与此相关。

但经理论分析,在x86环境中通过巨页方式性能未提升的现象应该是比较正常的。mips环境中,巨页能显著提升性能是因为,mips中TLB数目很少,且TLB MISS是通过软件(OS)处理的,对性能影响很大,当使用巨页后,TLB MISS下降,那么性能自然会有提升;

而x86环境中,由于TLB数目很多,且TLB MISS本身就是有硬件自行处理的,处理延时以指令周期计,是非常快的,对性能影响不大,所以在使用巨页且TLB MISS下降的情况下,性能不一定能有明显提升,相反,由于内核需要处理巨页相关逻辑和流程,反而可能耗费更多的资源,性能略下降可能还比较正常。另外,根据资料,我们使用sandy bridge的cpu无论ITLB还是DTLB都是区分页面大小的,而且支持巨页的ITLB数目只有8个,再加上STLB只支持4K页面(巨页无法使用),在这些限制下,使用巨页确实没啥优势。

所以,这个性能问题本身实际已经没有继续分析了。而对于使用巨页情况下LLC MISS增大的现象,目前确实还无法解释,之前怀疑可能跟动态链接相关,但也没有证实,没有深入分析过x86 LLC的深层次逻辑,可能难以得到准确答案,看看是否有intel专家能解释下了~~


   
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP