Board logo

标题: 在 Linux on POWER 上利用透明大内存页(1) [打印本页]

作者: look_w    时间: 2018-6-14 16:50     标题: 在 Linux on POWER 上利用透明大内存页(1)

简介和背景透明地利用 Linux® 上的大内存页会使内存页面表项能够覆盖更大范围内(多至数兆字节)的连续物理内存,有了最近推出的 SourceForge 的 libhugetlbfs 库版本 1(参见 ),这一切就变得更加容易。libhugetlbfs 库已经针对        SUSE Linux Enterprise Server 10 (SLES 10) 作了更新并可用于 Red Hat Enterprise        Server Linux 5 (RHEL 5)。客户可以利用它进行基准测试活动以改进运行 Linux 的 POWER、Intel® 和 AMD 系统上的特定应用程序的性能。本文只侧重于具有 16MB 页面大小的、基于 IBM POWER 处理器的系统,简要介绍了 libhugetlbfs,具体包括的内容如下:
所支持的系统 对于 Linux on POWER 系统而言,具有 16MB 页面的 SLES        10 和 RHEL 5 系统均支持 libhugetlbfs 库,比如 POWER4、POWER5、POWER5+ 系统和 BladeCenter® JS20 和 BladeCenter JS21。
虽然本文只侧重 POWER 系统,但是支持大内存页的、基于 Intel 和 AMD 的 Linux 系统也提供对 libhugetlbfs 的支持。对于某些系统,虽然硬件页面的大小不同,但方式类似,而且显示某些良好性能改进的测试也都可以在这些        Linux 系统上看到。
对应用程序无需进行任何源代码更改在本文中,透明地利用大内存页 指的是应用程序可以利用较大的硬件页面大小的性能优势,而无需进行任何源代码更改。虽然 Linux 支持利用系统大内存页,但应用程序必须进行特定的编码才能利用该特性。这类支持存在于常见的一些系统软件产品中,比如最新的一些 Java™ 引擎和各种大型数据库提供商的产品。
如果是在具有上述平台的 32 位或 64 位应用程序上使用 libhugetlbfs,则应用程序无需进行任何代码更改就可以利用 16MB 大内存页。可选的使用方式有多种,包括:
查看执行体要查看在 POWER 执行体中定义的段,可以使用如下命令:
readelf --sections -W yourApp
该命令将显示在执行体内定义的段。在该命令的输出结果中查找          .bss、.data 和          .text 段。要获得更多信息,请参阅本文后面的  一节。

关键的几点考虑在开始实际使用 libhugetlbfs 时,有如下几个关键点需要考虑:





欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0