OS2ATC-王荣巍.pdf

编号:129180 PDF 29页 2.87MB 下载积分:VIP专享
下载报告请您先登录!

OS2ATC-王荣巍.pdf

1、王荣巍阿里云研发工程师代码大页:针对应用代码代码大页:针对应用代码段的一种大页优化特性段的一种大页优化特性/目 录/01 行业、技术背景02 实现、性能和使用03 社区04 其他想法背景 代码大页 社区 参考目录05 参考 平时工作:Linux内存管理、稳定性问题;最近开始对开源CPU感兴趣;工具偏好:crash、systemtap、printk;桌上足球老后卫;BIOWeixin ID:Twitter:rainpplus行业 技术背景关于大页,可以列举出好几种:THP、hugetlb,全局大页64K和16K;THP:主要分为页表PMD或PUD映射,当前用户态使用的大页基本为2M PMD映射大

2、页。Hugetlb:一种显式的大页使用方式,提供的大页选择比THP更多。全局大页:主要指base pagesize大小大于4K,例如arm64支持16K和64K两种粒度页。大页TLB是一种页表的缓存,按类型可以分为iTLB/dTLB,按大小可以分为2M iTLB或4K iTLB或1G dTLB;iTLB/dTLB:指用于数据和指令的TLB硬件资源。某些平台存在STLB,可缓存数据和指令的页表。2M iTLB/4K iTLB/1G dTLB:目前我们使用的架构中用于缓存2MB大页和4 KB页的TLB entry资源存在两种形式:分离或混合,以Skylake为例,每个超线程用于2 MB大页的iTL

3、B资源仅8个,用于4K页的TLB资源有128个。另外,arm64上是混合使用的。TLBhugetlbarm64x86THPTHPGlobal large pagesizehugetlb16K64K目前我们云上熟知的两种架构:x86和arm,在支持的大页可选性存在差异,主要原因还是与CPU硬件特性或者说与页表特性有关。64K2M32M1G2M1GGlobal large pagesize差异:我们俗称全局大页,尽管arm64有16K和64K选择,但是我们目前仍旧在使用4K。Hugetlb差异:在arm64上由于页表支持CONT bit,可实现16 PTEs、16 PMDs映射支持,即64 KB和

4、32 MB大页支持,当前仅hugetlb实现了此类大页;差异特点描述介绍几种典型的应用:Mysql、Postgresql和OceanBase。多进程模型,代码段大小大约10M左右;应用iTLB-load-misses较高,大约1.41%左右;PostgreSQL数据库Mysql是一个多线程模式的数据库,其代码段大小一般18M左右;THP不敏感,打开THP,大约仅有不到3%的性能提升;跨NUMA敏感,本地虚拟机32核验证跨NUMA抖动在57%左右;Mysql数据库多线程模型,代码段大小打印200M280M;一般独占单机使用,性能验证过程中并发数要求高:128、1000、1500;THP本地验证不

5、敏感;OceanBase数据库共同特征:代码段大、iTLB Miss高-THP代码大页方案对比:社区社区vsvs我们我们为mariadb引入large_pages_for_code选项【补丁还未接受】实现与libhugetlbfs类似,在x86上带来的性能收益大致如下:READ_ONLY_THP_FOR_FSFB的Liu Song在19年为内核引入的一个特性,该特性主要是在khugepaged内核线程中将.text段(VMAwith VM_DENYWRITE)也考虑整合成2 MB大页。该特性需要在开启THP的场景下才能使用。使用libhugetlbfs将代码段或者数据段重新映射到大页上。使用的

6、hugetlbfs,存在的问题包括:perfperf无法查看热点异无法查看热点异常常、需重新编译应用需重新编译应用、无法使动态链接库使用大页无法使动态链接库使用大页。-THP用户态接口:匿名页,提供always/madvise/never三种选项,对匿名页使用大页进行控制;文件页:可执行的文件页,依赖应用主动调用madvise()系统调用使能;Linux内核已有的大页整合机制:文件页和匿名页分离阶段:匿名页:在THP enabled满足的情况下,判断虚拟首地址是否2 MB对齐即可;文件页:特指ELF、DSO代码段的占用的文件页,还需判断pgoff是否512对齐和该文件是否有写者;整合阶段:匿名

友情提示

1、下载报告失败解决办法
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站报告下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。

本文(OS2ATC-王荣巍.pdf)为本站 (2200) 主动上传,三个皮匠报告文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三个皮匠报告文库(点击联系客服),我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。
客服
商务合作
小程序
服务号
折叠