LC3视角:高性能网络技术下的阿里云盘古分布式存储技术变革

简介: LC3视角:高性能网络技术下的阿里云盘古分布式存储技术变革 近些年,随着NVME闪存等存储技术的发展,单存储设备IO带宽已达到GB/S,延迟降低至微秒数量级,而下一代内存级非易事存储介质如Intel 3D XPoint将进一步提升存储介质性能。从整体上看,数据中心已经由传统的机械硬盘毫秒时代过渡到存储新介质的微秒时代。在性能大幅提升的同时,节点存储容量也急剧增加,达到几十TB量级。节点存储性能和

LC3视角:高性能网络技术下的阿里云盘古分布式存储技术变革

近些年,随着NVME闪存等存储技术的发展,单存储设备IO带宽已达到GB/S,延迟降低至微秒数量级,而下一代内存级非易事存储介质如Intel 3D XPoint将进一步提升存储介质性能。从整体上看,数据中心已经由传统的机械硬盘毫秒时代过渡到存储新介质的微秒时代。在性能大幅提升的同时,节点存储容量也急剧增加,达到几十TB量级。节点存储性能和容量的飞速发展,对分布式存储系统节点间的网络通信性能提出了更高的要求,因此,高性能网络技术如RDMA(Remote Direct Memory Access)技术开始应用于数据中心,RDMA技术起源于高性能计算领域(如太湖之光超级计算机),其可通过相对定制的流控机制实现高效的节点间通信。

存储和网络新技术的应用导致数据中心基层物理架构的变革,“世异时移,变法宜矣”,《吕氏春秋》的经典词句说明拥抱变化的重要性。盘古分布式存储起源于阿里云飞天系统,已历时10余年,作为自主研发的分布式存储系统,其是阿里云核心组件之一,支撑阿里云对象存储、大数据计算、块存储、文件存储等多种关键存储业务。随着发展,它越来越成为整个阿里巴巴的存储平台,支持天猫、淘宝、支付宝等更多的业务。新一代盘古存储系统充分利用NVME和RDMA等新技术,实现了高性能的存储服务,其端到端三副本写的延迟低于30微秒,逼近底层硬件的理论物理延迟,而基于盘古存储系统的ESSD云盘可以达到100us、1M IOPS的性能。

在今年的阿里618大促中,盘古作为基础存储,为天猫、淘宝电商数据库以及阿里云块存储等阿里巴巴核心业务提供了服务,而在此之前,国内外还从未有公司将RDMA&NVME等新技术应用于线上大规模数据库和云计算块存储等核心业务,盘古首次实现了这些技术在线上核心业务的大规模应用。

盘古分布式存储系统

盘古存储系统超高性能的获得离不开对存储和网络性能的极致挖掘,特别是RDMA技术的研发。盘古选择RDMA的动机包含性能和语义两个方面。在性能方面,RDMA相对于传统TCP通信,由于RDMA网卡硬件负责处理通信协议,其在延迟和CPU利用率上占有优势。点到点RDMA延迟接近1us,而同等条件下的TCP要达到20us以上;RDMA可利用一个CPU处理器核可以打满网络带宽,而TCP需要至少4个处理器核心,RDMA的CPU利用率明显高于TCP。另一方面,从语义上来说,RDMA提供了一种节点A的数据可靠发送至节点B的通信机制,并实现了远端内存访问语义。由于可靠传输,并且实现了内存语义,这使得远端处理部件(CPU、FPGA、GPU等)可以直接对一段内存编址范围内的数据进行处理。与之对应,由于TCP是字节流语义,接收方很难断定处理数据的边界,从而很难直接对数据进行加工,并且需要借助处理单元进行解析。随着大规模高性能设备的发展如AEP新存储介质和硬件协处理等专用处理芯片的发展,远端直接对数据进行处理成为盘古存储的迫切需求,因此RDMA这方面的优势更为突出。盘古分布式系统通过全用户态系统软件栈,充分利用RDMA特性,全链路盘古软件库开消低于3us,从而获得了高效的IO性能。

盘古全用户态软件栈

RDMA网络性能突出,在实际中,出于成本等因素的考虑,区别于高性能计算领域的Infiniband RDMA技术,目前数据中心广泛采用RDMA ROCE技术。ROCE RDMA技术是在可丢包的以太网上,通过“打补丁”的方式,实现无损不丢包的通信传输。在可丢包的网络实现不丢包,这本身引入了较大的风险,相对于以前的可丢包实现,其更容易引发网络系统性的风险,这也是ROCE RDMA在国内外数据中心应用的难题。简单类比一下,如果把RDMA比做高速公路,那么TCP类似于省道。高速公路采取独立的隔离机制(专用隔离的封闭道路)和专用的通行规则以到达高效通行的目的;省道更多是满足出发地和目的地之间的可达性,实现不同地点的连通,虽然其也追求高效性,但出于成本等因素的妥协,其通行性并没有严格的保证。由于独立隔离且高速运行,高速公路对于风雪、雾气等情况下的风险明显大于省道,RDMA与之类似,在高性能的同时存在较大的风险。此外,针对ROCE RDMA,不同厂商网卡和交换机的RDMA技术经验还处于积累阶段,流控策略和参数配置也存在较多的问题,因此从ROCE RDMA的网络承载者网卡和交换机来说,ROCE RDMA风险也较大。虽然ROCE RDMA存在较大的风险,盘古系统所支持的业务如电商和阿里云存储等,需要提供365*24的稳定运行,盘古面临这些风险,需要如其名做到稳如磐石,杜绝丝毫风险。在实际实现中,盘古和阿里网络团队采用软硬件协同的方法,在保证性能的同时很大程度上降低了ROCE RDMA的风险。

通过对RDMA极致性能的追求和针对可靠性的软硬件协同设计,盘古实现了基于RDMA的高效且稳定实现,并首次应用于618阿里巴巴大促数据库和阿里云块存储等核心关键业务。此外,针对云计算下的RDMA QOS服务质量、网络存储融合、基于RDMA的近存储计算等方面,盘古也展开了一系列技术研发,后续盘古将支持更多的阿里巴巴业务,并在双十一大促中进一步检验和推广,从而为用户提供高效稳定的存储服务。

相关实践学习
块存储快速入门
块存储是阿里云为云服务器ECS提供的块设备产品。通过体验挂载数据盘、分区格式化数据盘(Linux)、创建云盘快照、重新初始化数据盘、使用快照回滚云盘和卸载数据盘等功能,带您快速入门块存储。
目录
相关文章
|
9天前
|
SQL 缓存 Cloud Native
NSDI'24 | 阿里云飞天洛神云网络论文解读——《Poseidon》揭秘新型超高性能云网络控制器
NSDI'24 | 阿里云飞天洛神云网络论文解读——《Poseidon》揭秘新型超高性能云网络控制器
97 63
|
9天前
|
存储 人工智能 运维
超大规模云网络技术新突破!阿里云斩获中国自动化学会科技进步一等奖
超大规模云网络技术新突破!阿里云斩获中国自动化学会科技进步一等奖
91 60
|
2天前
|
弹性计算 运维 监控
阿里云操作系统控制台解决网络故障
阿里云操作系统控制台是一款功能强大、操作便捷的云服务器管理平台,专为用户提供高效、智能的运维体验。它不仅支持服务器的创建、配置和监控,还集成了智能诊断、自动化运维和资源优化等高级功能,让云服务器管理变得更加轻松高效。通过直观的界面和丰富的工具,用户可以便捷地管理多台云服务器,实时监控系统性能,并快速定位和解决故障。例如,控制台的智能诊断功能能够自动分析系统异常,并提供优化建议,帮助用户迅速恢复服务。除此之外,控制台还支持批量操作、权限管理和日志分析,充分满足企业级用户的需求。无论是个人开发者还是大型企业,都可以借助阿里云操作系统控制台提升运维效率,降低管理成本,确保业务稳定运行。接下来就让我们
36 17
|
6天前
|
缓存 边缘计算 安全
阿里云CDN:全球加速网络的实践创新与价值解析
在数字化浪潮下,用户体验成为企业竞争力的核心。阿里云CDN凭借技术创新与全球化布局,提供高效稳定的加速解决方案。其三层优化体系(智能调度、缓存策略、安全防护)确保低延迟和高命中率,覆盖2800+全球节点,支持电商、教育、游戏等行业,帮助企业节省带宽成本,提升加载速度和安全性。未来,阿里云CDN将继续引领内容分发的行业标准。
49 7
|
8天前
|
缓存 监控 算法
基于 C# 网络套接字算法的局域网实时监控技术探究
在数字化办公与网络安全需求增长的背景下,局域网实时监控成为企业管理和安全防护的关键。本文介绍C#网络套接字算法在局域网实时监控中的应用,涵盖套接字创建、绑定监听、连接建立和数据传输等操作,并通过代码示例展示其实现方式。服务端和客户端通过套接字进行屏幕截图等数据的实时传输,保障网络稳定与信息安全。同时,文章探讨了算法的优缺点及优化方向,如异步编程、数据压缩与缓存、错误处理与重传机制,以提升系统性能。
32 2
|
7天前
|
弹性计算 运维 负载均衡
课时3:阿里云专有网络VPC:让网络更加独立
阿里云专有网络VPC提供独立、安全的云上网络环境,支持自定义IP地址网段和灵活的路由配置。通过高速通道实现优质网络链路,可用性达99.95%,满足企业高要求的数据传输需求。VPC结合弹性公网IP、负载均衡SLB、Net网关等功能,帮助企业轻松管理网络资源,降低运维成本,实现高效、安全的混合云架构部署。
|
9天前
|
Web App开发 监控 网络协议
网络分析与监控:阿里云拨测方案解密
网络分析与监控:阿里云拨测方案解密
|
9天前
|
存储 监控 安全
网络安全视角:从地域到账号的阿里云日志审计实践
网络安全视角:从地域到账号的阿里云日志审计实践
|
9天前
|
负载均衡 数据中心 芯片
NSDI'24 | 阿里云飞天洛神云网络论文解读——《LuoShen》揭秘新型融合网关 洛神云网关
NSDI'24 | 阿里云飞天洛神云网络论文解读——《LuoShen》揭秘新型融合网关 洛神云网关
|
20天前
|
NoSQL Java 中间件
【📕分布式锁通关指南 02】基于Redis实现的分布式锁
本文介绍了从单机锁到分布式锁的演变,重点探讨了使用Redis实现分布式锁的方法。分布式锁用于控制分布式系统中多个实例对共享资源的同步访问,需满足互斥性、可重入性、锁超时防死锁和锁释放正确防误删等特性。文章通过具体示例展示了如何利用Redis的`setnx`命令实现加锁,并分析了简化版分布式锁存在的问题,如锁超时和误删。为了解决这些问题,文中提出了设置锁过期时间和在解锁前验证持有锁的线程身份的优化方案。最后指出,尽管当前设计已解决部分问题,但仍存在进一步优化的空间,将在后续章节继续探讨。
463 131
【📕分布式锁通关指南 02】基于Redis实现的分布式锁