基于英特尔® 傲腾™ 持久内存200系列的Redis方案实践

摘要

  英特尔® 傲腾™ 持久内存是一款革命性的持久内存产品,补齐了DRAM与磁盘之间的需求缺口,重构内存/存储层次架构,集大容量、经济性和持久性于一身,帮助用户优化数据中心基础设施,满足大数据分析、数据库、云与虚拟化、分布式存储等多种应用场景需求。为了帮助用户通过傲腾持久内存来实现应用创新优化,助力企业业务系统实现性能突破,浪潮发布了基于英特尔® 傲腾™ 持久内存的多种场景方案,本方案是基于英特尔® 傲腾™ 持久内存200系列的Redis应用方案。

背景介绍

  Redis是一个高性能的键值分布式内存数据库,具有微秒级的数据存取速度,广泛应用于游戏、视频、新闻、导航等领域。它不仅性能强劲,而且还具有复制特性以及为解决问题而生的独一无二的数据模型。Redis提供了5种不同类型的数据结构,各式各样的问题都可以很自然地映射到这些数据结构上。除此之外,通过复制、持久化(persistence)和客户端分片(client-side sharding)等特性,用户可以很方便地将Redis扩展成一个能够包含数百GB数据、每秒处理上百万次请求的系统。

  挑战:内存成本限制了容量扩展

  Redis的强劲性能很大程度上是由于其将所有数据都存储在内存中,Redis的可用内存受限于服务器对于内存容量的支持,这导致Redis出现部分数据不能存储在内存中,溢出到磁盘,Redis性能优势将无法充分发挥的情况。

  传统的解决方案是利用Redis的集群功能来解决内存不足的问题,但这样意味着企业要采购大量的内存,而且为了扩展内存,企业将不得不部署更多的服务器,这增加了企业的成本压力。

解决方案介绍

  英特尔®傲腾™持久内存创新性解决方案新增内存扩展方式专为打破服务器内存容量限制而优化,补齐了内存与DRAM与磁盘之间的需求缺口,打造高性能、大容量的持久内存层,有助于更加高效地挖掘数据的潜在价值。

  图1:英特尔®傲腾™持久内存存储层

  英特尔®傲腾™持久内存新一代产品200系列(Barlow Pass,即BPS)基于第三代英特尔®至强®可扩展处理器优化,容量有128GB、256GB和512GB三种。相对于上一代100系列产品,Ice Lake平台单颗CPU容量最大支持到4TB,内存频率提升至3200MT/Sec,单通道平均性能提升25%。

  英特尔®傲腾™持久内存200系列具有两种工作模式:内存模式(MM)和App Direct 模式(AD)

  内存模式,CPU内存控制器将所有英特尔®傲腾™持久内存200系列视为易失性系统内存(无数据持久性),以更低的成本提供更大的内存容量,无需更改应用,并且性能接近 DRAM。

  App Direct模式,能够实现较大内存容量和数据持久性,支持持久内存编程,软件和应用能够直接与英特尔®傲腾™持久内存通信,降低了堆栈的复杂性,并充分利用缓存一致性的字节可寻址特性,将持久内存的使用扩展到本地节点之外;App Direct模式提供一致的低延迟,同时支持更大的数据集。

  图2:英特尔®傲腾™持久内存工作模式

  本方案使用英特尔®傲腾™持久内存来扩展内存容量,以解决服务器内存不足的问题。本次测试采用内存模式 ,内存模式具有容量大、成本低、易用性等特点。设备即插即用,不需要客户业务系统做任何修改。

  图3:BPS内存扩展方案与DRAM方案对比

方案验证:性能不变,成本降低

  本次使用Benchmark测试了Redis在DRAM和BPS平台内存同容量下的读写性能

 

配置项

BPS

DRAM

硬件配置

CPU

2*Icelake 6348 2.60GHz

Memory

256G(16*16G DDR4)

1T(32*32G DDR4)

Barlow Pass

1T(8*128G)MM

 

Network

2*10Gbps

表1:方案对比配置

  测试结果

  图4:DRAM vs BPS(8+4)不同读写比例Redis测试结果对比

  测试结果说明,Redis开启同样实例数的场景下,BPS在延迟和吞吐量方面与DRAM基本相当,可以达到DRAM的98%以上。

客户收益

  基于英特尔®傲腾™持久内存的Redi应用场景说明,英特尔®傲腾™持久内存表现了优秀的稳定性和性能,提供了高性价比的内存扩展方案,满足Redis性能需求的前提下,显著降低了内存成本。


线




×
联系我们
ERP、企业软件购买热线
400-018-7700
云服务产品销售热线
400-607-6657
集团客户投诉热线
400-691-8711
智能终端产品客服热线
400-658-6111