降低存储网络55% 延迟!阿里云存储论文入选计算机顶会

news2024/12/28 19:46:08

近日,计算机系统领域的国际顶级学术会议USENIX ATC 2023在美国波士顿市举行。凭借在规模化部署和应用模型上的创新,阿里云存储团队发表的技术论文《Deploying User-space TCP at Cloud Scale with LUNA》被顶会收录,这是继NSDI 21、SIGCOMM 22之后,阿里云又一篇被全球A类顶会收录的存储网络技术论文。

Deploying User-space TCP at Cloud Scale with LUNA.jpg

USENIX ATC全称为USENIX年度技术大会(USENIX Annul Technical Conference),是计算机系统结构方向最重要的国际会议之一,也是中国计算机学会CCF推荐的A类会议。自1992年以来,已成功举办30多届,吸引了来自全球的顶级名校及科技巨头投稿。本届顶会共收到353篇论文投稿,其中录用65篇,录用率约为18.41% ,极为严苛。

云计算时代下,基于内核TCP的数据中心网络已无法满足系统对性能和可用性的要求,在《Deploying User-space TCP at Cloud Scale with LUNA》论文中,全面介绍了阿里云是如何用自研技术解决这一难题的。

顶会现场.png

具体来说,围绕飞天云计算操作系统核心组件之一的盘古存储系统,阿里云存储团队自主研发了名为“Luna”的用户态网络。通过核间资源不共享、数据链路分层融合、全栈零拷贝,Luna极大提高了存储性能、降低存储延迟,可在超大规模的前提下承载不同的应用负载, 覆盖低延迟、高吞吐、高并发等多种复杂场景。

在相同负载下,Luna的延迟比内核TCP降低了55% 以上,吞吐提升了100% ,尤其在短连接场景下,每秒请求数提升了3.5倍。

Luna架构图.png

在多项创新技术的加持下,阿里云将云盘的IOPS提升了3倍,并不断推出满足用户不同需求的存储产品,包括性能和容量解耦、性能秒级弹性突发的云盘新规格ESSD AutoPL,以及延迟低至40微秒、IOPS高达300万的ESSD PL-X。

此外,全系列云盘规格还大幅减少了网络异常引入的I/O抖动,长尾I/O毛刺下降至毫秒级,提供更优的性能SLO,满足从数据库、在线交易系统到高性能计算等多种业务形态的需求。

过去十年,阿里云将计算的成本降低了80%,存储的成本降低了近90%,并持续提升云上用户体验。目前Luna网络技术已在阿里云上大规模应用,配合块存储、对象存储、文件存储、表格存储、备份容灾等云产品服务云上数百万客户,覆盖政企、互联网、金融、零售、制造、医疗等千行百业。

Deploying User-space TCP at Cloud Scale with Luna是今年阿里在USENIX ATC 2023中的一篇文章,介绍了它们的用户态协议栈

文章是概要的介绍了下他们之前的工作

要解决了还是100G网络下,内核协议栈性能比较差的问题,用户态协议栈减少中断,内存拷贝的开销能大幅度的提升系统的效率,但目前常见的用户态协议栈不太能满足他们的需求,例如像mtcp(好古老的开山用户态协议栈)要进行拷贝操作,IX单个应用独占了网卡,常见的用户态协议栈没能好好的利用内核态的鲁棒性等等,所以他们决定自己搞事情

另外文章也同时提到,像RDMA这种高性能的传输方法在一个数据中心内部还挺好用,但跨数据中心就很难部署,所以还是离不开TCP/IP

背景说明

作为背景,以及需求介绍,主要跟着他们的系统结构图来提

主要2点还是,RDMA不合适,同时旧的一些环境还需要内核tcp/ip,所以要兼容

luna目前是这样一个架构,使用了r2c结构,协议栈和APP在一个thread下处理,下层用网卡多队列分流,一部分流走内核态协议栈,即用户态和内核态同时支持

总之三个大的特征

1)r2c

2)零拷贝到传输

3)基于网卡分流的独特的流量分流

r2c

r2c有两套接口,inline-r2c通过事件驱动,一次处理一批包,另外对BSD接口,还有batch-r2c,这种模式下每个包都有自己的call back函数实现,一个一个包进行处理(猜测例如某些要立刻送往内核态的ARP请求包啥的)

2)零拷贝的内存

mbuf采用索引值,记录使用次数,猜测用的dpdk rte_mbuf的refcnt值,这样可以和驱动保持一致,驱动释放时内存不会释放

mbuf找物理地址的方法,先通过虚地址找所属哪一个2MB,然后看offset是啥,驱动用的物理地址就是2MB的物理地址+offset

只要用的是同一块物理地址,就能实现不拷贝的前提下,全程访问同一块内存。同时为了方式内存被以外释放,用索引值记录使用次数,多一个部分用就+1,释放就-1,只有释放一直减为0才能说这块内存被真正释放

3)流量分流

目前用的端口号+flow director分流

flow director可以通过配置,将固定源/目的IP,源/目的端口号,包类型(大至TCP/UDP,小到SYN包和普通包)分流到特定网卡上。

luna会将某非tcp流送入到内核态中处理,tcp流则按照端口送往特定的thread上,thread和网卡队列是绑定关系

luna保留了61440~65530这部分的端口号

flow director一个很大的问题是,网卡的流表项是有限的,记得intel 82599是4K条表项,目前阿里单个服务器按照论文上是160条流表,还算够用

性能测试

然后是一些测试,luna一定是比其他的协议栈在吞吐与延迟要更好一些

同时还有些分析,例如拷贝到底带来多少开销(99分位也只有25%左右延迟开销,似乎也不是非常大)

最后是一些在部署上的教训

例如要好用,API的编写要符合用户APP的原始逻辑

TCP协议栈要可定制,不同环境用需要特定的工作模型

要能快速恢复等等

总的来说算是用户态协议栈如何在工业界使用的一个说明

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1163300.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于人工势场法的航线规划

GitHub - zzuwz/Artificial-Potential-Field: 2D平面下的人工势场法 GitHub - mellody11/Artificial-Potential-Field: 机器人导航--人工势场法及其改进 matlab2020a可以运行

图片批量添加文件名水印

图片现在需要批量添加水印很简单,但是需要添加的水印内容为文件名称比较麻烦。 同时有些能添加文件名称的又有后缀例如(.jpg、.png等等) 这里有个软件可以选择是否加后缀,或者使用图片文件大小来当水印都可以。

YOLOv8添加AIFI(Attention-based Intrascale Feature Interaction模块替换SPPF模块)

1. 引言 1.1 相关介绍 模块名称:Attention-based Intrascale Feature Interaction 论文名称:RT-DETR: DETRs Beat Yolos on Real-time Object Detection 这是论文中的图,此处将其中的AIFI模块拿过来改进YOLOv8。 1.2 其他可改进SPPF模块 …

6-7 二叉树的非递归遍历 分数 10

文章目录 1.非递归前序遍历1.1C写法及解析1.2本题ac答案 2.非递归中序遍历2.非递归后序遍历2.1栈模拟实现非递归C写法本题ac答案本题flag标记法 2.2逆序思想2.3整体代码 1.非递归前序遍历 1.1C写法及解析 vector<int> preorderTraversal(TreeNode* root) {vector<in…

数据结构(超详细讲解!!)第十九节 块链串及串的应用

1.定义 由于串也是一种线性表&#xff0c;因此也可以采用链式存储。由于串的特殊性&#xff08;每个元素只有一个字符&#xff09;&#xff0c;在具体实现时&#xff0c;每个结点既可以存放一个字符&#xff0c;也可以存放多个字符。每个结点称为块&#xff0c;整个链表称为块链…

linux杀毒软件ClamAV下载、安装(在线安装、离线安装)

流程图 下载 ClamAVNet 离线安装脚本 #扫描文件路径&#xff0c;程序安装路径&#xff0c;当然也可以全盘扫描&#xff0c;全盘扫描的时候路径设置为"/"即可 scanfile"/home" #分钟 小时 日 月 年, 例:0 0 * * * 表示每天0时0秒 scantime"0 0 * * *…

2023/11/2 JAVA学习

接口里面只有这两个东西,无构造器,代码块之类的 私有方法可以在接口里的其他默认方法,或私有方法中访问 静态方法,类持有,可直接调用 接口多继承,可以一个接口继承其他几个接口把几个接口合并成一个接口 先创建外部类,再创建成员内部类 在外部类中无法直接访问内部类的方法变量…

04 训练 windows环境下调用GPU资源做模型训练加速示例

笔者有一台windows电脑,要想在训练yolo模型的时候提升速度,可以按照笔者本文的示例进行。 1、检查可用GPU资源 可以在设备管理器中检查电脑中是否含有GPU设备,如下图所示,可以在设备管理器中检查显卡信息,证明我们有GPU资源可以在训练模型的时候调用。 2、核对显卡算力 …

TIME_WAIT相关知识

四次挥手 这是TCP四次握手的过程图。 TCP 连接终止时&#xff0c;主机 1 先发送 FIN 报文&#xff0c;主机 2 进入 CLOSE_WAIT 状态&#xff0c;并发送一个 ACK 应答&#xff0c;同时&#xff0c;主机 2 通过 read 调用获得 EOF&#xff0c;并将此结果通知应用程序进行主动关闭…

uniapp app端选取(上传)多种类型文件

这里仅记录本人一些遇到办法&#xff0c;后台需要file对象&#xff0c;而App端运行在jsCore内&#xff0c;并非浏览器环境&#xff0c;并没有File类&#xff0c;基本返回的都是blob路径&#xff0c;uni-file-picker得app端只支持图片和视频&#xff0c;我这边需求是音视频都要支…

浏览器请求http地址,自动跳转成https

谷歌浏览器&#xff1a; 点击url地址左侧的锁&#xff0c;选择【网站设置】 点击【隐私和安全】&#xff0c;将【不安全内容】改为允许&#xff0c;然后刷新即可

协力共创智能未来:乐鑫 ESP RainMaker 云方案线下研讨会圆满落幕

近日&#xff0c;乐鑫 ESP RainMaker 云方案线下研讨会&#xff08;深圳&#xff09;在亚马逊云科技与合作伙伴嘉宾的支持下成功举办&#xff0c;吸引了众多来自智能家电、照明电工、能源和宠物等行业的品牌客户、方案商和制造商。研讨会围绕如何基于乐鑫 ESP RainMaker 硬件连…

关于客户旅程地图:你需要知道的一切

客户旅程地图&#xff08;Customer Journey Map&#xff09;是一种工具&#xff0c;用于可视化和理解客户与品牌或产品互动的全过程。它以客户的角度展示了他们的互动&#xff0c;从最初的意识阶段到购买决策&#xff0c;再到购买和售后支持。客户旅程地图有助于企业深入了解客…

什么是物流RPA?物流RPA解决什么问题?物流RPA实施难点在哪里?

RPA指的是机器人流程自动化&#xff0c;它是一套模拟人类在计算机、平板电脑、移动设备等界面执行任务的软件。通过RPA&#xff0c;可以自动完成重复性、繁琐的工作&#xff0c;提高工作效率和质量&#xff0c;降低人力成本。RPA适用于各种行业和场景&#xff0c;例如财务、人力…

Redis基础教程

Redis基础教程 Redis介绍 官方网站&#xff1a;https://redis.io/ Redis是一种键值型的NoSql数据库&#xff0c;这里有两个关键字&#xff1a; 键值型&#xff1a;Redis中存储的数据都是以key、value对的形式存储NoSql&#xff1a;相对于传统关系型数据库而言&#xff0c;有…

关键词搜索亚马逊商品数据接口(标题|主图|SKU|价格|优惠价|掌柜昵称|店铺链接|店铺所在地)

亚马逊提供了API接口来获取商品数据。其中&#xff0c;关键词搜索亚马逊商品接口&#xff08;item_search-按关键字搜索亚马逊商品接口&#xff09;可以用于获取按关键字搜索到的商品数据。 通过该接口&#xff0c;您可以使用API Key和API Secret来认证身份&#xff0c;并使用…

Seata 四种事务模式

Seata 是一款开源的分布式事务解决方案&#xff0c;致力于提供高性能和简单易用的分布式事务服务。Seata 将为用户提供了 AT、TCC、SAGA 和 XA 事务模式&#xff0c;为用户打造一站式的分布式解决方案。 全文参考文献&#xff1a;中文文档 TC (Transaction Coordinator) - 事务…

Redis入门指南学习笔记(2):常用数据类型解析

一.前言 本文主要介绍Redis中包含几种主要数据类型&#xff1a;字符串类型、哈希类型、列表类型、集合类型和有序集合类型。 二.字符串类型 字符串类型是Redis中最基本的数据类型&#xff0c;它是其他4种数据类型的基础&#xff0c;其他数据类型与字符串类型的差别从某种角度…

HALCON的综合应用案例【01】: 3D 算法处理在 Visual Studio 2019 C# 环境中的集成实例

前言: HALCON 为一款比较流行的商业视觉处理软件,他提供了多种开发的模式,可以在HALCON中开发,也可以将HALCON的设计通过导出库的形式集成到其他开发环境里面,以方便系统集成。本文为笔者自己的一个3D 视觉检测项目,利用HALCON的3D 库开发算法,然后,将算法集成到 MS-V…

指挥通信车360度3d虚拟互动展示系统的优势及特点

通信车是装有通信装备&#xff0c;用于保障通信联络的专用车辆&#xff0c;用于偏僻/特殊环境下的机动通信。并且机动通信局装备通常分为应急综合通信车、网络管理车、程控电话车、自适应跳频电台车、数字扩频接力车、散射通信车、卫星通信车、光缆引接车、线缆收放车和通信电源…