首页 企业版 大数据分析与英特尔傲腾 PMem 相结合的大内存

大数据分析与英特尔傲腾 PMem 相结合的大内存

by 汤姆芬顿

当英特尔® 傲腾™ 持久内存 (PMem) 首次问世时,我们知道它将彻底改变数据中心开展业务的方式,但我们无法完全预测它会改变的方式数量。 与所有新技术一样,我们知道持久内存的初始用例,但我们也知道,一旦它们被广泛使用,就会出现更多的用例。

当英特尔® 傲腾™ 持久内存 (PMem) 首次问世时,我们知道它将彻底改变数据中心开展业务的方式,但我们无法完全预测它会改变的方式数量。 与所有新技术一样,我们知道持久内存的初始用例,但我们也知道,一旦它们被广泛使用,就会出现更多的用例。

DellEMC PowerEdge PMEM 200 系列服务器

在我们与企业的讨论中,我们知道他们需要内存系统提供的性能提升来保持竞争力。 为此使用 DRAM 存在成本和大小限制,因此很难考虑他们想要存储在内存中的数据大小。 在本文中,我们将了解 Hazelcast 和 MemVerge 如何利用英特尔傲腾 PMem 来克服 DRAM 的局限性,以创建支持使用大型数据集的快速、实时应用程序的基础架构。

我们与 MemVerge、Hazelcast、Intel 和 Dell Technologies 联手展示了如何部署基础架构以实现实时分析。 具体来说,我们设置了一个环境,该环境具有快速传入的实时数据流,这些数据在存储到内存数据集市之前被摄取和转换。 主要目标是展示英特尔傲腾 PMem 如何对实现大规模实时系统至关重要,以及需要额外的软件才能让英特尔傲腾 PMem 发挥其全部潜力。

在强调我们所做的测试之前,这里是对英特尔傲腾 PMem 的简要回顾, 淡褐色,内存合并.

英特尔傲腾 PMem

持久内存作为一个概念,自 1980 世纪 2018 年代中期就已经存在,但直到 XNUMX 年英特尔开始发布其英特尔傲腾持久内存模块 (PMM) 时,它才成为商业数据中心的实际可用产品。 Intel Optane PMem 改变了行业的游戏规则,因为它比 DRAM 稍慢,但比固态驱动器 (SSD) 快得多。

虽然它比 DRAM 慢,但英特尔傲腾 PMem 确实有一些明显的优势,因为它比传统 DRAM 便宜得多,内存容量更大; 而且,顾名思义,当启用应用程序内直接模式时,它是持久的——这意味着存储在它上面的数据将在断电或它所在的设备重新启动时继续存在。

英特尔数据金字塔 2022

英特尔傲腾 PMem 低延迟的秘诀之一是它驻留在内存总线上,这使其能够像 DRAM 一样访问数据。

虽然 DDR4 理论上每个模块的最大容量为 128GB,但最常用的容量在 4GB 到 64GB 之间(但即使是 64GB 模块,虽然可用,但也不常用)。

英特尔目前正在发售 128GB、256GB 和 512GB 模块的英特尔傲腾 PMem。 这提供了高达 DRAM 容量的 16 倍。

按每 GB 成本计算,英特尔傲腾 PMem 约为 DRAM 的一半。 由于其更大的容量和更低的价格,与只有 DRAM 的服务器相比,服务器可以以更低的成本为应用程序提供更多的低延迟数据。 而且,正如您从我们的测试中看到的那样,对于许多应用程序,在实际使用中 DRAM 和 PMem 之间的延迟差异可以忽略不计。

Intel Optane PMem 128GB 侧视图尽管该技术的名称中包含“持久性”一词,但英特尔傲腾 PMem 中的数据持久性经常被忽视,并且在过去并未得到充分利用。 然而,MemVerge 已经设计出利用数据持久性为企业提供附加服务的方法。

内存合并

英特尔傲腾 PMem 提供的强大功能带来了明智地使用它的责任,这就是 MemVerge 的用武之地。虽然大多数服务器监控和管理工具关注的是传统硬件,例如 CPU、磁盘和网络指标,但 MemVerge® 内存Machine™ 专注于 DRAM 和英特尔傲腾 PMem 的监控、管理和利用。

英特尔傲腾 PMem 的早期挑战之一是确定如何允许应用程序使用它。 如果没有 MemVerge Memory Machine,您可以使用英特尔傲腾 PMem 作为 DRAM 的替代品,但不能作为直接替代品,因为英特尔傲腾 PMem 使用专门的 API。 MemVerge 抽象出该 API,以便英特尔傲腾 PMem 对于所有应用程序看起来就像 DRAM。 使用 Memory Machine,Intel Optane PMem 呈现给应用程序,就像 DRAM 呈现给应用程序一样。 通过这样做,现有应用程序可以使用英特尔傲腾 PMem 而无需重新架构,从而为公司节省了重新编程应用程序的成本,更重要的是,节省了重新编程所需的时间。 通过其专利技术,Memory Machine 创建了一个内存池,然后对英特尔傲腾 PMem 和 DRAM 进行分层,根据需要在两者之间移动数据以优化应用程序性能,从而最大限度地发挥其对应用程序的影响。

Memory Machine 的创新 ZeroIO 允许内存到内存快照(即,将 DRAM 上包含的数据快照到英特尔傲腾 PMem),这实际上使 DRAM 持久化。

PMem 内存机器管理中心

过去,我们被迫将内存快照存储在传统存储上,这个过程可能长达一个小时。 然而,使用 ZeroIO,相同的操作可以在几秒钟内无中断地进行。

MemVerge 利用 ZeroIO 提供其他内存数据服务。 Time Travel 允许应用程序恢复到以前拍摄的快照,与此功能紧密相关的是 AutoSave,它会按基于时间的间隔自动拍摄快照。 在需要将存储在内存中的数据移动到另一台物理服务器的情况下,可以将 ZeroIO 快照移动到它。

内存监控以及上述服务的促进是通过 MemVerge 内存机器管理中心 (M3C) 完成的。

虽然我们已经提到 Memory Machine 与数据库一起使用,但它也支持广泛的应用程序:从用于动画和渲染的 Autodesk Maya 3D 到 TensorFlow(一种机器学习框架)以及其他应用程序,包括我们的产品 Hazelcast将在本文中重点介绍。

淡褐色

Hazelcast 是不断发展的内存计算平台领域的主要创新者和领导者。 他们的平台被金融、电子商务和实时信息至关重要的其他类型的组织使用; 例如,用于欺诈检测和协助做出交易决策。

Hazelcast 支持两个级别的快速应用程序。 首先,它提供了一个内存存储,可以将数据分布在集群中的多个服务器上,以实现可扩展的快速内存虚拟池。 添加更多数据的过程只涉及向集群添加另一台服务器。 其次,Hazelcast 包含一个计算引擎,用于处理应用程序逻辑,该逻辑被分解为子任务,然后分布在服务器集群中的所有 CPU 上。 这不仅利用了集群的集体计算能力,而且还允许以高效和高速的方式并行处理数据(包括转换、丰富、聚合和分析)。 由于 Hazelcast 可以通过其流数据功能在数据创建后立即对其进行处理,因此它对于构建下一代实时应用程序非常有用。

分析实时数据

实时系统主要由两个主要特征驱动:速度和规模。 速度确保您可以跟上正在创建的数据,而规模则保证您可以处理该数据量。 更复杂的是,数据可能来自许多不同的来源。 当然,更高的速度和更大的规模意味着更高的成本,除非采用创新手段,例如用更实惠的英特尔傲腾 PMem 替换昂贵的 DRAM。

实时数据分析功能可以立即洞察企业和组织可能面临的各种情况,并为他们提供应对这些情况所需的信息。 例如,遵守巴塞尔协议 III 等要求银行保持比以前更高的流动性的举措,意味着它们可以利用更少的资金来产生收入。 同时,他们必须证明自己了解日常风险,以免受到流动性要求更高的审计师和监管者的处罚。 通过拥有用于风险管理和合规的实时系统,银行可以即时查看其交易头寸,从而更有效地了解和报告其风险敞口。

举另一个例子,股票交易分析系统跟踪交易并以可分析的形式实时呈现它们。 由于通过股票交易赚取的收入可获得明确的投资回报 (ROI),因此这些系统可以证明其高额费用是合理的。

测试场景

我们选择用来研究这些技术的应用程序基于 Hazelcast 创建的交易监控代码库,以展示具有成本效益的“按需分析”如何成为高成本实时系统的合适替代方案。

由于这是一个小规模的研究项目,我们做了一些权衡,使我们的测试环境不能完全反映典型的生产环境。 例如,我们使用的 Dell EMC 服务器的计算能力远远超过我们可用数据源所需的能力,因此我们没有充分利用其中可用的 CPU 能力。 另外,为了简单起见,我们没有优化外部数据传输系统。 在生产系统中,所有组件都将进行优化和调整,以提高此设置的性能和成本效益。

测试目标

我们测试中最关键的方面是确定英特尔傲腾 PMem 是否可以维持实时数据馈送。

我们偏向测试了英特尔傲腾 PMem 支持的内存数据集市中聚合/索引数据的访问速度; 在 MemVerge 和 Hazelcast 之前的测试中,基准测试显示数据访问速度非常接近 DRAM(在许多情况下,读取和写入的速度相同),因此比基于磁盘或 SSD 的数据快得多访问。 由于我们知道数据访问速度提供了优于其他架构配置的优势,因此我们仅将测试集中在摄取端。

对于我们的测试,我们在数据源服务器上生成了虚拟数据。 传入数据馈送中的每个数据元素代表一次股票交易。 股票代码、数量、价格和时间是最关键的值。 每个股票代码在生成的数据集中多次使用,以模拟给定股票在一天内的多次交易。 然后将这些单独的交易汇总,以给出给定股票代码的交易总计。

生成的数据存储在 Apache Kafka 中,因为它能够捕获快速数据流。 来自 Kafka 的每条记录需要 210 个字节,包括负载中的所有元数据。 Kafka 被配置为运行三个独立的代理,它们都在一台数据源机器上,每个代理上有四个分区。 当然,这种配置不会在生产环境中使用,因为为分布式技术提供单一来源的机器是不现实的; 但是,它适合我们的测试目的。

测试环境

我们使用三台 Dell EMC PowerEdge R750 服务器和一台 Dell EMC PowerEdge R74xd 服务器进行测试; 三人使用 MemVerge Memory Machine 和 Hazelcast 运行分析应用程序,而第四人创建并存储测试数据。

分析服务器

型号 戴尔易安信 PowerEdge R750
CPU的 双 Intel® Xeon® Gold 6330 处理器 @ 2GHz (Ice Lake)

每个 28 个内核(总共 56 个,112 个采用英特尔® 超线程技术)

DRAM 16GB DRAM DDR64 的 4 个 DIMM

每台服务器 1 TB

英特尔傲腾 PMem 16 个 128GB Intel Optane PMem DDR-T 接口的 DIMM

每台服务器 2 TB

网络接口 10 GbE
软件 MemVerge 记忆机器 1.2

Hazelcast 平台 5.0

数据源服务器

型号 戴尔易安信 PowerEdge R740xd
CPU的 双 Intel® Xeon® Gold 6140 处理器 @ 2.3GHz (Skylake)

每个 18 个内核(总共 36 个;72 个采用英特尔® 超线程技术)

DRAM 12 个 32GB DRAM DDR4 (384GB) DIMM

2 个 16GB NVDIMM DDR4 (32GB) 的 DIMM

英特尔傲腾 PMem 不需要
网络接口 10 GbE
软件 阿帕奇卡夫卡 2.8

Hazelcast 提供的数据生成工具

在我们的测试过程中,我们发现分析服务器中的 DRAM 数量可能要小得多; 虽然 DRAM 主要由操作系统使用,但该应用程序主要使用英特尔傲腾 PMem,只有少量 DRAM。 为了优化成本节约,服务器上绝对最小的 DRAM 将是一个合理的配置。

测试结果

我们创建了大约 5 亿条记录,这些记录存储在 Kafka 中以创建数据源。 然后开始在三个应用程序服务器上运行的摄取应用程序以跨三个 Hazelcast 实例摄取数据(每个 Dell Technologies 服务器一个 Hazelcast 服务器)。

我们在仅使用 DRAM 时测试了该应用程序,并将其与使用带有 MemVerge 的英特尔傲腾 PMem 进行了比较。 我们的测试结果表明,对于以写入为主的工作负载,我们发现仅使用英特尔傲腾 PMem 与纯 DRAM(32K 与 242K)相比,性能下降了 357%。 但是当使用英特尔傲腾 PMem + DRAM 配置时,我们只看到了 9% 的损失。 通过在集群中增加服务器数量以进一步分散写入,可以进一步缩小范围。 额外服务器的额外成本可以通过采购功率较低的 CPU 来抵消,因为给定的工作负载不一定会利用此测试硬件配置的全部 CPU 功率。

配置 性能(每秒记录数)
仅限 DRAM 357,000
Intel Optane PMem 辅助 50GB DRAM + Memory Machine 325,000
仅英特尔傲腾 PMem + 内存机器 242,000

我们考虑过为我们测试的每个配置定价,但考虑到成本的潜在波动和其他可能使这些估计很快过时的因素,我们拒绝这样做。 然而,无论设定成本如何,配备 DRAM 的英特尔傲腾 PMem 都将明显低于仅基于 DRAM 的服务器。

测试解释

我们从测试中得出的关键结论是,支持英特尔傲腾 PMem 的服务器集群可以以几乎与仅使用 DRAM 的集群相同的速度运行,但成本要低得多。

对我们来说另一个重要的收获是,使用英特尔傲腾 PMem 可以捕获和存储数周或数月的数据,这使企业不仅能够实时分析数据,而且还可以将数据用于历史数据的高速分析数据。 这为分析趋势和模式提供了机会,这些趋势和模式可能会使用机器学习 (ML) 等高级分析工具揭示更多见解。

换句话说,企业可以部署覆盖广泛时间范围的实时分析环境,并探索新的分析形式,而无需在部署数据仓库或数据湖时进行成本或速度权衡。

其他测试

在我们设置环境的同时,我们还想测试 MemVerge Memory Machine 的一些其他功能,特别是它的快照和恢复功能。 幸运的是,Memory Machine 集成了 Hazelcast 集群,因此可以直接在 M3C 中管理快照和快照恢复。

可以随时按需或按设定的时间表拍摄快照,我们在集群的高峰操作期间测试了这两种方法。 快照在几秒钟内完成,没有任何问题或影响分析的性能。 如果 Hazelcast 集群发生任何事情,例如断电,可以使用我们的快照之一恢复数据。

快照功能不仅可以起到保护作用,还可以用来提高服务器的利用率。 在金融机构中,服务器在典型的交易时间被大量使用,但在下班时间相对闲置。 通过使用热启动方案,可以显着提高服务器的利用率。 例如,在交易日结束时,可以拍摄交易数据库的快照。 然后当交易数据库关闭时,服务器可以设置为其他数据处理任务,例如数据挖掘。 在交易日开始时,可​​以快速恢复交易数据库,恢复交易操作。

结语

英特尔傲腾 PMem 是一项激动人心的变革性技术,它开始重塑数据中心,但幸运的是,与所有其他技术一样,它并非存在于真空中。 戴尔科技、英特尔、MemVerge 和 Hazelcast 等具有前瞻性思维的领先公司正在寻找协同效应,并开始利用这项新技术来发掘其在数据中心的真正潜力:英特尔傲腾 PMem 模块的成本约为 DRAM 的一半; Dell Technologies 的服务器支持英特尔傲腾 PMem 提供的大量低延迟内存容量; Hazelcast 允许应用程序大规模利用这些技术; MemVerge 为 Intel Optane PMem 提供监控、管理和数据服务,并且通过抽象出 DRAM API,它使 Intel Optane PMem 对现有应用程序表现为 DRAM,从而使它们无需修改或重新架构即可运行。

如果其他条件相同,企业会选择实时活动而不是批量活动。 但由于并非万事俱备,批处理通常是选择的模式,以避免与实时处理相关的成本。 然而,随着客户期望在一个越来越以实时为导向的世界中不断提高,企业需要找到新的方法来创造竞争优势。 通过利用实时速度而不承受内存计算的传统成本,领先的企业可以利用英特尔傲腾 PMem、MemVerge 和 Hazelcast 等技术实现飞跃,以构建可帮助他们响应自身及其客户需求的解决方案,比以往任何时候都快。

淡褐色

内存合并

本报告由 MemVerge 赞助。 本报告中表达的所有观点和意见均基于我们对所考虑产品的公正看法。 英特尔、英特尔标识和英特尔傲腾是英特尔公司或其子公司的商标。

参与 StorageReview

电子报 | YouTube | 播客 iTunes/Spotify | Instagram | Twitter | Facebook | TikTok | RSS订阅