美团使用第二代英特尔至强可扩展处理器 加速Cellar存储性能

2020-12-30 10:26:26 来源:IT168
        【每日科技网】

  综述

  互联网推动着商业社会的快速变革,对于美团等超大型互联网服务提供商而言,其数据库系统需要对仍在飞速增长的海量业务数据进行快速处理。这些核心数据库往往属于典型的性能密集型应用,内存的容量与性能在很大程度上影响着上层业务的处理效率以及可用性。此外,庞大的部署规模也使得内存的总体拥有成本 (TCO) 变得相当敏感。

  为了应对亿级用户给数据库系统带来的性能压力,支撑业务创新,为用户提供高速稳定的互联网服务,美团将 Cellar 存储系统服务器中的处理器替换为第二代英特尔至强可扩展处理器,同时结合美团面向 Cellar 存储系统进行的软件优化,最终将数据库性能提升 20%,帮助美团进一步优化了数据库系统,可有效支撑未来业务的增长需求。

  挑战:如何解决 Cellar 存储面临的 PAUSE 指令问题

  作为中国的生活服务电子商务平台,美团服务涵盖餐饮、外卖、打车、共享单车、酒店旅游、电影、休闲娱乐等 200 多个品类,业务量实现了快速发展。2019年,美团年度交易用户总数达 4.5 亿,平台活跃商户总数达 620 万,用户平均交易笔数达到 27.4 笔。近年来,美团一直使用分布式 KV 存储系统 Cellar 作为最重要的在线存储服务之一,承载其海量的互联网业务。

  Cellar 是一个在 Tair 基础上研发的 NoSQL 存储,在底层支持 Leverldb 、rockdb、mdb和 rdb 等引擎,各节点直接通过 raft 进行复制。Cellar 支持异地容灾、无损数据迁移,元信息存在单独节点,并且通过添加observer的形式实现路由查询能力扩展、客户与中间节点分离。目前,Cellar 已经承载了美团在线服务每天万亿级的请求量,并保持着高达 99.999% 的服务可用性。

  图1:美团 Cellar 存储架构

  互联网服务的典型特征是流量大,美团发现,在业务高峰期的时候,Cellar 存储系统常常会遇到异常的性能降低问题。研究之后发现,其原因在于英特尔处理器中使用的 PAUSE 指令:不同架构的英特尔至强处理器有着不同的 PAUSE 指令时长。其中,第二代英特尔至强可扩展处理器(CascadeLake 架构)的指令时长为 44 cycle,而上一代的英特尔至强可扩展处理器(Skylake 架构) PAUSE 指令时长为 144 cycle。业务应用程序设计一般基于Broadwell架构,频繁调用该指令的应用程序运行在 Skylake上时,就会出现负载相对过高的现象。

  这是因为,这些程序的内部自旋,就是通过固定次数的 PAUSE 循环实现,PAUSE 指令周期增加时,执行自旋的时间也会增加,对于系统整体的吞吐量会造成影响。如果程序中使用固定次数的 PAUSE 循环来实现一段时间的延迟,以此阻塞程序执行,可能引发非预期的延迟,这突出体现在对于 Spinlock 的影响。

  Spinlock又称自旋锁,是为实现保护共享资源而提出的一种锁机制。当执行spin-wait循环的时候,处理器会因为在退出循环的时候检测到内存访问顺序冲突而导致严重的性能损失,而 PAUSE 指令主要用于提示处理器目前处于spin-wait中。如上所述,这些程序的内部自旋,是通过固定次数的PAUSE 循环实现,在 PAUSE 指令时长增加之后,可能会带来执行自旋的时间延长。

  此外,普通 Spinlock 在处理器多核心的情况下,同一时间只能有一个 CPU 线程获取变量并自旋,而缓存一致性协议为了保证数据的正确,会对所有 CPU 线程的状态和数据进行同步、失效等操作,导致性能下降。

  除了 Spinlock 之外,PAUSE 指令还会对于内存分配带来影响。在内存分配过程中,锁会造成线程等待,对性能影响巨大。

  在 Cellar 的业务实践中,美团发现,当负载较高时,与 Broadwell 架构的英特尔立处理器相比,Skylake 的英特尔处理器负载高 15% 左右。通过 vTune 分析和源码分析,原因随之浮现:Cellar 服务在高负载时会大量调用 Spinlock,PAUSE指令周期的增加导致了CPU负载的增高。

  虽然通过软件优化的方式有助于解决 PAUSE 指令所带来的性能下降问题,但是如果在新部署的存储服务器中直接选择了针对此指令进行优化的新型处理器,则不仅能够降低问题影响,还有助于充分发挥新型号处理器在性能、创新功能等方面的优势。在此背景下,美团与英特尔密切合作,对于的硬件产品与技术进行测试、验证、部署,并充分优化存储软件,以化发挥硬件性能。

  解决方案:基于第二代英特尔至强可扩展处理器的 Cellar 存储优化

  为了在提升 Cellar 存储系统性能的同时控制 TCO 的增长,美团与英特尔展开了深度合作,将服务器中的处理器替换为二代英特尔至强处理器 5218,并在性能验证中将 Cellar 存储系统的工作负载迁移到使用该处理器构建的平台上。

  针对PAUSE指令对 Cellar 造成的影响,美团采用了两种方法:在软件层面,美团动态调整 Cellar 对 Spinlock 的调用次数,在应用中将循环次数降低,从而控制 PAUSE 指令执行的时长。

  此外,美团还将替换 libc 的内存分配为 Jemalloc,以减少锁的使用,优化 Cellar 存储系统实际业务。JeMalloc 是一款内存分配器,与其它内存分配器相比,它的优势在于多线程情况下的高性能以及内存碎片的减少。为避免线程竞争锁的发生,JeMalloc 使用了线程变量,内存分配将在线程自带的内存管理器中完成,无需和其它线程进行竞争。此外,JeMalloc 中的每个线程都通过线程号的映射对应到一个数组元素中,可降低多个线程竞争一个元素的机率。由于竞争锁发生机率的降低,PAUSE 指令时长的增长对于内存管理的影响也能得到相应的控制。因此,通过将应用中的内存分配器更改为 JeMalloc,有助于缓解 PAUSE 指令周期增加所带来的吞吐量降低的问题。

  在硬件层面,美团将部分存储服务器中的处理器升级为采用了 Cascade Lake架构的二代英特尔至强可扩展处理器,二代英特尔至强可扩展处理器将PAUSE 指令时长从 144 cycle 降低为 44 cycle,从而彻底消除了PAUSE指令变化带来的影响。

  此外,二代英特尔至强可扩展处理器还带来了额外的性能提升。该处理器专为数据中心现代化革新而设计,能够提高各种基础设施、企业应用及技术计算应用的运行效率,进而改善总体拥有成本(TCO),提升用户生产力。它拥有更高的每核性能,能够在计算、存储和网络应用中,为计算密集型工作负载提供高性能和可扩展性。得益于英特尔超级通道互联(英特尔® UPI)、英特尔Infrastructure Management 技术(英特尔IMT)、英特尔矢量扩展指令集512(英特尔® AVX-512)等功能,它可满足严苛的 I/O 密集型工作负载的需求,能够帮助企业打造出性能更强的敏捷服务和突破性功能。

    效果:Cellar 存储系统性能提升20%

  为了验证在处理器更换为二代英特尔至强可扩展处理器之后,Cellar 存储系统的性能提升,美团通过测试进行了验证(测试配置如表2所示)

  表2

  数据显示,与基于英特尔至强 E 系列处理器的 Cellar 存储系统相比,基于二代英特尔至强可扩展处理器的 Cellar 存储系统提升了 20% 左右。

  从成本效益来看,二代英特尔至强可扩展处理器的应用通过显著的性能提升,节约了在存储节点方面的投入,总体拥有成本能够得到更好的控制,也更具面向未来工作负载的扩展性。

  合作伙伴表示:“无论是卓越的硬件特性,还是在 PAUSE 指令等方面的优化,二代英特尔至强可扩展处理器都对 Cellar 存储系统性能的提升起到了至关重要的作用。通过双方的密切合作,我们不仅验证了二代英特尔至强可扩展处理器在存储系统性能优化过程中的关键作用,也为之后的进一步优化奠定了坚实基础。”

  图3:性能优化对比

  展望:美团与英特尔加速互联网基础设施创新

  在发展过程中,美团正致力于去探索 Cellar 等具备突破性的存储解决方案,并实践新的运维方式,以满足业务的快速增长需求。美团计还将继续携手英特尔,充分利用软硬件技术的发展成果,打造高性能数据库解决方案,为内外部用户提供更高效、更可靠的服务。

  除了数据库之外,美团与英特尔还在广泛的领域进行了合作,利用二代英特尔至强可扩展处理器等产品所带来的革命性技术能力,构建高性能的基础设施,在不断增长的核心互联网业务场景以及关键应用和服务中发挥越来越重要的作用,这也有助于美团为用户提供更高效、更多元化的应用体验。

免责声明:本文仅代表作者个人观点,与每日科技网无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
    本网站有部分内容均转载自其它媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责,若因作品内容、知识产权、版权和其他问题,请及时提供相关证明等材料并与我们联系,本网站将在规定时间内给予删除等相关处理.

猜你喜欢

华为终端BG董事长余承东重返母校清华 开讲鸿蒙校园公开课

2025年5月22日,华为常务董事、终端BG董事长余承东先生重返母校清华大学,做客清华大学时代论坛,以“创新引领未来・共建鸿蒙世界”为主题开讲鸿蒙校园公开课,为500余名师生分享鸿蒙的创新突破与生态进

金钥财报开启个人财务智能分析时代

5月20日,在2025金蝶云苍穹峰会上,金蝶发布了五大智能体和苍穹Agent平台2.0,成立了“企业管理AI生态联盟”,展现了AI技术在企业管理领域的实质性突破,为AI应用在B端落地树立了实践范式。其

金钥财报

1天前

君乐宝与西诺迪斯达成战略合作推出中国本土稀奶油标杆之作蔻曼纯净稀奶油

5月20日,第27届中国国际焙烤展在上海召开。期间,君乐宝乳业集团与法国颂味佳集团旗下西诺迪斯正式达成战略合作,携手推出中国本土稀奶油标杆之作——蔻曼纯净稀奶油。此次合作是双方推动中国高端稀奶油本土化

谁成为“用户意图的第一个承接者”,就拥有了未来的入口

最近,由英特尔和FlowyAI(星漪科技)联合举办的「商用AIPCAgentStore思享会」,现场的AI行业从业者围绕AIPC的技术革新与生态共建展开了深入探讨。随着帷幕落下,共识逐渐达成:Agen

编程猫:聚力同行!联合产业力量打造AI教育黄金生态

当下,以DeepSeek为代表的人工智能正飞速重塑世界的格局。而如何将AI技术巧妙地融入到编程教育中,成为了教育行业当下最关注的焦点之一。作为国内少儿编程教育的领军者,编程猫深知,要在这场变革中立于不

2天前

微星笔记本精彩Computex 2025:体验创新合作、CLAW新品进化

【2025年5月20日】MSI微星科技,作为游戏、内容创作、高端商务&生产力笔记本电脑领域的知名品牌,于5月20日在南港展览中心举办的台北电脑展Computex2025上,以艺术化设计、次世代游戏技术

2天前