跳到主要内容
10.1145/3459898.3463905acm会议文章/章节视图摘要出版物页面伊斯兰运动会会议记录会议集合
研究论文
开放式访问

仓库级计算机中非移动内存分配器的自适应超页面子发布

出版:2021年6月22日 出版历史
  • 获取引文提醒
  • 摘要

    现代C++服务器工作负载依赖于2 MB的巨大页面,通过更高的TLB命中率来提高内存系统性能。传统上,内核级支持巨大页面,但最近的工作表明,用户级的巨大页面软件内存分配器可以实现更高的巨大页面覆盖率,从而提高性能。这些内存分配器处理一个权衡:1)以巨大页面的粒度从操作系统(OS)分配内存,实现高性能,但可能由于碎片化而浪费内存,或2)通过将巨大页面拆分为较小的4KB页面并将其返回到OS来限制碎片化,但由于大页面覆盖率降低,性能降低。例如,最先进的TCMalloc分配器通过以可配置的释放速率向操作系统释放内存来处理这种权衡,并根据需要分解巨大的页面。
    这种方法很好地平衡了运行一个工作负载的机器的性能和碎片。然而,对于同一台机器上的多个应用程序,只有在另一个工作负载使用此内存时,内存使用量的减少才对总体性能有用。在仓库规模的计算机中,当应用程序释放并快速重新获得相同数量或更多的内存,但没有其他应用程序同时使用内存时,释放会导致较大的页面覆盖率降低,而没有任何系统范围的好处。
    我们引入了一个度量标准,即实现的碎片化,以捕捉这种效果。然后,我们提出了一个自适应发布策略,该策略动态地确定何时拆分大型页面并将其返回到操作系统,以优化系统范围的性能。我们将此策略构建到TCMalloc中,并将其部署在我们的数据中心的整个机组中,以可忽略的内存开销实现了大约1%的机组吞吐量改进。

    工具书类

    [1]
    Emery D.Berger、Kathryn S.McKinley、Robert D.Blumofe和Paul R.Wilson。2000.Hoard:多线程应用程序的可扩展内存分配器。第九届编程语言和操作系统体系结构支持国际会议论文集(ASPLOS IX)。美国纽约州纽约市ACM,117-128。编号:1-58113-317-0https://doi.org/10.1145/378993.379232
    [2]
    斯蒂芬·M·布莱克本(Stephen M.Blackburn)和凯瑟琳·麦金利(Kathryn S.McKinley)。2008年。Immix:具有空间效率、快速收集和变异器性能的标记区域垃圾收集器。第29届ACM SIGPLAN编程语言设计与实现会议记录(PLDI’08)。22–32。isbn:978-1-59593-860-2https://doi.org/10.1145/1375581.1375586
    [3]
    克里斯蒂娜·德利米特鲁(Christina Delimitrou)和克里斯托斯·科兹拉基斯(Christos Kozyrakis)。2014.Quasar:资源高效和QoS-Aware集群管理。SIGPLAN否。,49,4(2014年),127-144年2月。发行编号:0362-1340https://doi.org/10.1145/2644865.2541941
    [4]
    David Detlefs、Christine Flood、Steve Heller和Tony Printezis。2004年,垃圾首次收集。第四届国际记忆管理研讨会论文集。37–48.
    [5]
    杰森·埃文斯(Jason Evans)。2006.FreeBSD的可扩展并发malloc(3)实现。BSDCan会议记录。
    [6]
    克里斯汀·弗洛德、罗曼·肯克、安德鲁·丁恩、安德鲁·海利和罗兰·韦斯特林。2016.Shenandoah:OpenJDK的开源并发压缩垃圾收集器。第13届Java平台编程原理与实践国际会议论文集:虚拟机、语言和工具(PPPJ’16)。ACM,美国纽约州纽约市。第13条,9页。isbn:9781450341356https://doi.org/10.1145/2972206.2972210
    [7]
    沃尔夫拉姆·格洛格。1997。Linux系统库中的动态内存分配器实现。http://www.malloc.de/papers/malloc-slides.html
    [8]
    谷歌。2020年,TCMalloc。https://github.com/google/tcmalloc网站
    [9]
    本杰明·欣德曼(Benjamin Hindman)、安迪·孔温斯基(Andy Konwinski)、马泰·扎哈里亚(Matei Zaharia)、阿里·戈德西(Ali Ghodsi)、安东尼·约瑟夫(Anthony D.Joseph)、兰迪·卡茨(Randy Katz)、斯科。2011.Mesos:数据中心精细资源共享平台。第八届USENIX网络系统设计与实现会议记录(NSDI’11)。USENIX协会,美国295–308。
    [10]
    安德鲁·亨特、克里斯·肯奈利、达里尔·戈夫、帕塔萨拉西·兰加纳坦、保罗·特纳和蒂普·莫斯利。2021.从malloc效率到Fleet效率:Hugepage-Aware内存分配器。在第15届USENIX操作系统设计与实现会议(OSDI’21)的会议记录中。美国USENIX协会。
    [11]
    马克·约翰斯通(Mark S.Johnstone)和保罗·威尔逊(Paul R.Wilson)。1998.记忆碎片问题:解决了吗?在第一届记忆管理国际研讨会(ISMM’98)的会议记录中。ACM,美国纽约州纽约市,26-36。国际标准编号:1-58113-114-3https://doi.org/10.1145/286860.286864
    [12]
    布拉德利·C·库兹摩尔。2015.SuperMalloc:用于64位机器的超快速多线程malloc。2015年ACM SIGPLAN内存管理国际研讨会论文集,ISMM 2015,美国俄勒冈州波特兰,41–55。https://doi.org/10.1145/2754169.2754178
    [13]
    权永进、于杭晨、西蒙·彼得、克里斯托弗·罗斯巴赫和埃米特·维切尔。2016.与Ingens协调高效的大型页面管理。在第12届USENIX操作系统设计与实现会议(OSDI’16)的会议记录中。USENIX协会,美国加利福尼亚州伯克利市,705–721。isbn:978-1-931971-33-1http://dl.acm.org/citation.cfm?id=3026877.3026931
    [14]
    马丁·马斯(Martin Maas)、大卫·安徒生(David G.Andersen)、迈克尔·伊萨德(Michael Isard)、穆罕默德·马赫迪·贾马德(Mohammad Mahdi Javanmard)、凯瑟琳·麦金利(Kathryn S.McKinley)和科林·拉斐尔。2020年。C++服务器工作负载的基于学习的内存分配。在第25届ACM编程语言和操作系统(ASPLOS)架构支持国际会议上。
    [15]
    Ashish Panwar、Sorav Bansal和K.Gopinath。2019.鹰眼:高效细粒度操作系统支持巨大页面。在第二十四届程序设计语言和操作系统体系结构支持国际会议记录(ASPLOS’19)中。美国纽约州纽约市计算机械协会347-360。编号:9781450362405https://doi.org/10.1145/3297858.3304064
    [16]
    Ashish Panwar、Aravinda Prasad和K.Gopinath。2018年,让巨大的页面变得真正有用。第二十届编程语言和操作系统体系结构支持国际会议论文集(ASPLOS’18)。美国纽约州纽约市ACM,679–692。国际标准编号:978-1-4503-4911-6https://doi.org/10.1145/3173162.3173203
    [17]
    鲍比·鲍尔斯(Bobby Powers)、大卫·腾奇(David Tench)、埃默里·伯杰(Emery D.Berger)和安德鲁·麦格雷戈(Andrew McGregor)。2019.网格:压缩C/C++应用程序的内存管理。在ACM编程语言设计与实现(PLDI)会议上。333–346. https://doi.org/10.1145/3314221.3314582
    [18]
    任刚(Gang Ren)、埃里克·图内(Eric Tune)、蒂普·莫斯利(Tipp Moseley)、石毅新(Yixin Shi)、西尔维斯·罗斯(Silvius Rus)和罗伯特·亨特(Robert Hundt)。2010年,Google-Wide Profiling:数据中心的连续分析基础设施。IEEE Micro,65–79。http://www.computer.org/portal/web/csdl/doi/10.109/MM.2010.68
    [19]
    马特·施瓦茨科普夫(Malte Schwarzkopf)、安迪·孔温斯基(Andy Konwinski)、迈克尔·阿布德·埃尔·马利克(Michael Abd-El-Malek)和约翰·威尔克斯(John Wilkes)。2013年,Omega:大型计算集群的灵活、可扩展调度程序。第八届ACM欧洲计算机系统会议记录(EuroSys’13)。美国纽约计算机械协会351-364。编号:9781450319942https://doi.org/10.1145/2465351.2465386
    [20]
    吉尔·特内(Gil Tene)、巴拉吉·伊扬格(Balaji Iyengar)和迈克尔·沃尔夫(Michael Wolf)。2011年C4:连续同步压实收集器。内存管理国际研讨会论文集。79–88.
    [21]
    阿比谢克·维尔玛(Abhishek Verma)、路易斯·佩德罗萨(Luis Pedrosa)、马杜卡尔·R·科鲁波勒(Madhukar R.Korupolu)、大卫·奥本海默(David Oppenheimer)、埃里克·图内(Eric Tune)和约翰·威尔克斯。2015年,谷歌与博格的大规模集群管理。《欧洲计算机系统会议记录》(EuroSys)。法国波尔多。

    引用人

    查看全部
    • (2024)描述仓库级内存分配器的特性第29届ACM国际编程语言和操作系统体系结构支持会议记录,第3卷10.1145/3620666.3651350(192-206)在线发布日期:2024年4月27日
    • (2024)虚拟云的直接内存转换第29届ACM国际编程语言和操作系统体系结构支持会议记录,第2卷10.1145/3620665.3640358(287-304)在线发布日期:2024年4月27日
    • (2024)结合机器学习和基于生命周期的资源管理实现内存分配及其扩展ACM通信10.1145/361101867:4(87-96)在线发布日期:2024年3月25日
    • 显示更多引用者

    索引术语

    1. 仓库级计算机中非移动内存分配器的自适应超页面子发布

    建议

    评论

    信息和贡献者

    问询处

    发布于

    封面图片ACM会议
    ISMM 2021:2021年ACM SIGPLAN内存管理国际研讨会会议记录
    2021年6月
    106页
    国际标准图书编号:9781450384483
    DOI(操作界面):10.1145/3459898
    本作品根据Creative Commons Attribution International 4.0许可证授权。

    赞助商

    出版商

    计算机协会

    美国纽约州纽约市

    出版历史

    出版:2021年6月22日

    权限

    请求对此文章的权限。

    检查更新

    作者标记

    1. C++内存分配
    2. 集群调度
    3. 碎片化
    4. 巨大的页面
    5. TCMalloc公司

    限定符

    • 研究文章

    会议

    ISMM’21

    接受率

    156份提交文件中的总接受率72份,46%

    贡献者

    其他指标

    文献计量学和引文

    文献计量学

    文章指标

    • 下载次数(过去12个月)233
    • 下载次数(最近6周)17

    其他指标

    引文

    引用人

    查看全部
    • (2024)描述仓库级内存分配器的特性第29届ACM国际编程语言和操作系统体系结构支持会议记录,第3卷10.1145/3620666.3651350(192-206)在线发布日期:2024年4月27日
    • (2024)虚拟云的直接内存转换第29届ACM国际编程语言和操作系统体系结构支持会议记录,第2卷10.1145/3620665.3640358(287-304)在线发布日期:2024年4月27日
    • (2024)将机器学习和基于寿命的资源管理相结合用于内存分配及其他ACM通信10.1145/361101867:4(87-96)在线发布日期:2024年3月25日
    • (2023)超越RSS:走向智能动态内存管理(正在进行中)第20届ACM SIGPLAN管理编程语言和运行时国际会议记录10.1145/3617651.3622989(158-164)在线发布日期:2023年10月19日
    • (2023)NextGen-Malloc:给内存分配器自己的房间第19届操作系统热点研讨会会议记录10.1145/3593856.3595911(135-142)在线发布日期:2023年6月22日
    • (2023)用于野外动态存储分配的装箱算法的意外效率:一个智能摘要2023年ACM SIGPLAN记忆管理国际研讨会论文集10.1145/3591195.3595279(58-70)在线发布日期:2023年6月6日
    • (2023)Contiguitas:数据中心中对物理内存连续性的追求第50届计算机体系结构国际研讨会论文集10.1145/3579371.3589079(1-15)在线发布日期:2023年6月17日
    • (2023)使动态页面合并在虚拟云上有效第十八届欧洲计算机系统会议记录10.1145/3552326.3567487(298-313)在线发布日期:2023年5月8日
    • (2022)虚拟化系统中基于值和引用的内存页压缩的比较IEICE信息与系统交易10.1587/传输2022EDP7027E105.D号:12(2075-2084)在线发布日期:2022年12月1日
    • (2022)复制虚拟化系统中用于内存页压缩的值v.s.引用第37届ACM/SIGAPP应用计算研讨会论文集10.1145/3477314.3507199(1205-1207)在线发布日期:2022年4月25日

    视图选项

    查看选项

    PDF格式

    以PDF文件查看或下载。

    PDF格式

    电子阅读器

    使用联机查看电子阅读器.

    电子阅读器

    获取访问权限

    登录选项

    完全访问权限

    媒体

    数字

    其他

    桌子

    分享

    分享

    共享此出版物链接

    在社交媒体上分享