看傲腾配OpenCAS加速联通沃云业务

2024-04-28 08:58

本文主要是介绍看傲腾配OpenCAS加速联通沃云业务,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

傲腾(Optane)是Intel在存储器方面的重量级产品。其采用3D Xpoint存储非易失介质来存储数据。3D Xpoint的一大特点就是时延更加接近SDRAM,而寿命方面大大高于NAND Flash,而容量密度则介于SDRAM和NAND Flash之间。这种特性决定了傲腾天生就是在SDRAM和Flash甚至HDD之间做缓存的好料

目前傲腾的几种形态分别是PCIe接口的闪存盘或闪存卡,和DIMM接口的内存条。

这些时候必须降时延

冬瓜哥曾经在这篇文章中详细介绍了为何前期测试时性能碉爆而上线后却惨不忍睹,也就是时延问题,在交互式I/O场景下是首要考虑因素。所谓交互式I/O,或者说OLTP类I/O模型,其数据块一般较小,而且多为同步I/O,也就是在上一笔I/O没有返回结果之前,不会进行下一笔I/O,此时存储系统的高并发完全派不上用场。除非业务层面是多路I/O流同时进行。

看看下面这张图,大多数桌面类应用无一例外全部都是交互式I/O模型,除了一些后台数据处理类业务比如音视频播放/处理、压缩解压、上传下载等等外。图中显示出,多数桌面类常用程序发出4个及以上数量的并发I/O的概率已经非常低。50%以上的概率都是发出单个同步I/O。

一个存储系统,并发度可以低,这不是问题,因为可以堆多套系统形成分布式架构来轻而易举的提升并发度但是如果一个系统时延很高,那么基本上是很难解决的,因为导致高时延的原因之一就是I/O的软件处理路径过长,处理步骤过于复杂,而不管是砍掉路径上的处理模块,还是优化其中某个慢速步骤的处理速度,其花费的精力都非常巨大,甚至得不偿失。此时当然希望直接从底层硬件层面一劳永逸的解决问题,也就是利用极低时延的存储介质,一砖撂倒。

实际上,最让Intel傲腾引以为傲的地方,应该是它极低的处理延迟。凭借相变存储在物理上天生的远高于NAND Cell的相应速度,即便是上层只发送一笔I/O请求(Queue Depth=1)的时候,其体现出来的IOPS也非常高。

相对而言,NAND Flash只有在高队列深度的情况下才能达到较高的吞吐量,因为NAND Flash延迟较高,为了获得较高IOPS,Flash SSD内部必须采用多通道、多颗粒、多Plane并发方式来获取高吞吐量。而对于原本就低并发的应用而言,傲腾显然可以更加高效的提升业务性能。

目前,采用傲腾介质作为数据缓存的应用案例越来越多,联通沃云与Intel最近搞了一个性能优化联合调优测试。目标业务是联通沃云。联通沃云海量数据检索平台,每日要从各省采集业务数据,单省日均采集记录达到 500 万条,最高峰值达到千万条记录;而后入库对数据做解析和分析后,提供对外的开放大数据服务,受信的第三方通过开放的接口可随时调用大数据平台中的数据。平台采用 ES(Elastic Search)作为分布式搜索引擎,由于云主机 IO 读写性能限制,导致大规模查询和按条件查询响应较慢。ES 大部分场景都是读多写少,因此在对系统做分表和 ES 检索优化的同时,探索提升云主机 IO 读写性能,尤其是减少读请求的延迟是一个非常重要的优化方向。

沃云基于 OpenStack 构建,后端存储和计算节点之间采用ISCSI 协议或者 RBD 相连。这些连接方式兼容性和稳定性非常好,但是延迟通常较高,典型的延迟都是毫秒级。毫秒和微秒对于人类来说没多少区别,但是对于一个计算机系统来说,相差一千倍。比如在下面的模拟测试结果中,平均随机读延迟达到了2毫秒,如果考虑长尾效应,则最差延迟超过了9毫秒。随机写的延迟大致为读的两倍

而如果将应用直接迁移到傲腾介质上,的确是最优的选择,但是鉴于傲腾的容量目前还达不到NAND Flash级别,所以将它用作缓存是一个非常具有性价比的方案,这就必须有一层软件来作为缓存管理层。好马配好鞍,Intel专门为傲腾开发了开源的缓存管理软件——OpenCAS。OpenCAS会在系统中虚拟出一个块设备,应用部署在该层的块设备之上,所有的I/O请求就会被OpenCAS接收并处理,利用高效的缓存算法,发挥出傲腾的性能。

和主流的缓存软件一样,OpenCAS也支持多种缓存模式,包括Write Through,Write Around,Write Back,Write Only,Pass Through。将OpenCAS安装到Compute Node上,并设置为对远程Ceph映射过来的盘,如下图所示。

测试采用了一块750GB的Intel Optane P4800X SSD,标称读写延迟10微秒。

这里对以上采集的数据分别按照随机读,随机写,7:3的随机读写进行分组对比,并形成柱状图使得测试结果更直观易懂。图中 Ceph 指的是直接对 Ceph 远程盘进行测试的结果,无缓存。

测试随机读取时,循环运行 FIO 测试工具 30 次。随着测试的进行,缓存的命中率也从开始几秒时的 1.3%左右逐步提升到最后的 95%-97%。这过程中性能表现也越来越好。这里数据采用 30 次运行里表现最好的数据。以下截图是 Open CAS 软件的缓存命中统计。

从以上的数据对比图可以看出,加了缓存之后,不管是 Write-Through 模式还是 Write-Back 模式,数据读取的延迟都有了非常大的改善。其中平均延迟从2006.2微秒减少到了 52.04 微秒(Write-Through)以及 51.01 微秒(Write-Back),降低了约40倍。P99 延迟数据从 2343 微秒减少到了 67 微秒(Write-Through 和 Write-Back 均是),缩小了约 97%,与此同时,每秒读请求数 IOPS 从 19142.84 提升到了 118046.38 ( Write-Through )以及 124237.81 (Write-Back),提升了约 6 倍

在随机读写 7/3 比例混合的场景中,Write-Through 模式写延迟仅有 12.7%减少(5438.97 VS 4744.42),但读性能表现良好,读请求的平均延迟缩小了约 90%(2030.72 VS 190.39),P99 缩小了 89%(2278 VS 247),有效抑制了读请求的延迟波动率。而Write-Back模式则表现出了卓越的性能优势,读延迟减少了 96.2%(2030.72 VS 76.89),写延迟减少了 98.3%(5438.97 VS 87.68),而每秒读写请求数提升了约 7.6 倍。

使用 Open CAS 结合 Optane™ SSD 来做缓存,在特定场景极大提升了OpenStack系统的读写性能。如果应用场景有数据一致性的要求,那么选择 Write-Through 模式。此时对于读密集的应用能带来很大的性能提升。而如果应用场景是写性能要求高,或者磁盘读写综合性能要求高,但数据一致性要求不高,或者有其他的补偿措施来保证数据一致性的,那么可以选择Write-Back模式,此时不管读还是写的性能都可以得到非常大的提升。联通沃云海量数据检索平台主要为读密集的使用场景,对读请求的延迟比较敏感。本次实验对其调优决策和平台升级有非常大的参考意义。

欢迎关注英特尔商用频道:

扩展阅读

连书都得看国外写的才能做好芯片?这有人不服!

《大话计算机》同款T恤,我要了!!

终于来了!手慢无!《大话计算机》开放预售!

位于计算机内存中的黑洞

《大话计算机》动图一则展示

《大话计算机》序言① by廖恒

《大话计算机》序言② by 包云岗老师

《大话计算机》序言③ by 何万青

《大话计算机》序言④ by 雷迎春

《大话计算机》序言⑤ by 汪利文

《大话计算机》序言⑥ by 张勇

《大话计算机》序言⑦ by @去流浪

  

博主简介:冬瓜哥,《大话计算机》与《大话存储 终极版》、《大话存储 后传》图书作者。多项技术专利发明人。

现任某半导体公司高级资深架构师。

大话计算机          大话存储

长按扫码可关注

嗨,你还在看吗

这篇关于看傲腾配OpenCAS加速联通沃云业务的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/942835

相关文章

业务中14个需要进行A/B测试的时刻[信息图]

在本指南中,我们将全面了解有关 A/B测试 的所有内容。 我们将介绍不同类型的A/B测试,如何有效地规划和启动测试,如何评估测试是否成功,您应该关注哪些指标,多年来我们发现的常见错误等等。 什么是A/B测试? A/B测试(有时称为“分割测试”)是一种实验类型,其中您创建两种或多种内容变体——如登录页面、电子邮件或广告——并将它们显示给不同的受众群体,以查看哪一种效果最好。 本质上,A/B测

业务协同平台--简介

一、使用场景         1.多个系统统一在业务协同平台定义协同策略,由业务协同平台代替人工完成一系列的单据录入         2.同时业务协同平台将执行任务推送给pda、pad等执行终端,通知各人员、设备进行作业执行         3.作业过程中,可设置完成时间预警、作业节点通知,时刻了解作业进程         4.做完再给你做过程分析,给出优化建议         就问你这一套下

深入解析秒杀业务中的核心问题 —— 从并发控制到事务管理

深入解析秒杀业务中的核心问题 —— 从并发控制到事务管理 秒杀系统是应对高并发、高压力下的典型业务场景,涉及到并发控制、库存管理、事务管理等多个关键技术点。本文将深入剖析秒杀商品业务中常见的几个核心问题,包括 AOP 事务管理、同步锁机制、乐观锁、CAS 操作,以及用户限购策略。通过这些技术的结合,确保秒杀系统在高并发场景下的稳定性和一致性。 1. AOP 代理对象与事务管理 在秒杀商品

PyInstaller问题解决 onnxruntime-gpu 使用GPU和CUDA加速模型推理

前言 在模型推理时,需要使用GPU加速,相关的CUDA和CUDNN安装好后,通过onnxruntime-gpu实现。 直接运行python程序是正常使用GPU的,如果使用PyInstaller将.py文件打包为.exe,发现只能使用CPU推理了。 本文分析这个问题和提供解决方案,供大家参考。 问题分析——找不到ONNX Runtime GPU 动态库 首先直接运行python程序

机器人助力上下料搬运,加速仓库转运自动化

近年来,国内制造业领域掀起了一股智能化改造的浪潮,众多工厂纷纷采纳富唯智能提供的先进物流解决方案,这一举措显著优化了生产流程,实现了生产效率的飞跃式增长。得益于这些成功案例,某信息技术服务企业在工厂智能物流建设的进程中,也选择了与富唯智能合作。 为了应对日益增长的物料搬运需求,匹配成品输出节拍,该公司引入了富唯智能复合机器人AMR与搬运机器人AGV,实现了仓库成品搬运自动化,大幅减少人工

【造轮子】纯C++实现的联通组件标记算法

学习《OpenCV应用开发:入门、进阶与工程化实践》一书 做真正的OpenCV开发者,从入门到入职,一步到位! 连接组件标记算法 连接组件标记算法(connected component labeling algorithm-CCL)是图像分析中最常用的算法之一,算法的实质是扫描一幅图像的每个像素,对于像素值相同的分为相同的组(group),最终得到图像中所有的像素连通组件。扫描的方式可以是从

业务资源管理模式语言09

示例: 图13 表示了QuoteTheMaintenance 模式的一个实例,在汽车修理店系统中,其中“Vehicle”扮演“Resource”,“Repair Quotation”扮演“Maintenance Quotation”,“Repair shop branch”扮演“Source-party”,“Customer”扮演“Destiny-Party”。 图13——QuoteThe

ACM比赛中如何加速c++的输入输出?如何使cin速度与scanf速度相当?什么是最快的输入输出方法?

在竞赛中,遇到大数据时,往往读文件成了程序运行速度的瓶颈,需要更快的读取方式。相信几乎所有的C++学习者都在cin机器缓慢的速度上栽过跟头,于是从此以后发誓不用cin读数据。还有人说Pascal的read语句的速度是C/C++中scanf比不上的,C++选手只能干着急。难道C++真的低Pascal一等吗?答案是不言而喻的。一个进阶的方法是把数据一下子读进来,然后再转化字符串,这种方法传说中

首次揭秘,面向核心业务的全闪分布式存储架构设计与实践

当今是云计算、大数据的时代,企业业务持续增长需要存储系统的 IO 性能也持续增长。 机械盘本身的 IOPS 一直徘徊在数百的级别,为了提高传统存储的性能,有些存储厂商加了缓存层,然而目前应用正由单一走向多元化,导致 IO 特征无法预测,缓存也难以发挥作用。 机械盘依赖盘片的旋转和机械臂的移动进行 IO,目前转速基本达到物理极限,所以机械盘性能一直徘徊不前,无法满足企业核心业务对于存储性能的要求

DDoS安全防护:为您的业务保驾护航

随着互联网技术的发展,网络安全问题日益凸显,尤其是分布式拒绝服务(DDoS)攻击,已成为众多企业和个人无法忽视的风险之一。DDoS攻击是指攻击者利用多台受感染的计算机作为“僵尸”向目标发起大量合法请求,以耗尽目标资源或带宽,导致合法用户无法访问服务。 DDoS安全防护的特性 DDoS安全防护不仅能够实时监控并检测潜在的攻击威胁,还能迅速采取措施进行流量清洗,确保业务的连续性和稳定性。具体来说,