无损以太网的ROCE革命,队列的缓存空间优化分析

1560be46c3512baa4768a4922d8698d0.jpeg 

ROCE无损以太网,队列的缓存空间优化

   

多级缓存架构优化芯片性能:
* 缓存空间细分为芯片级、端口级和队列级,实现精细管理。
* 无损队列引入Headroom缓存空间,确保数据完整性。

   在芯片层面:

e986731050cd410b18617fd9863be381.jpeg


静态缓存为端口提供保证的缓存空间,采用独占分配机制。一旦端口分配到缓存资源,即使闲置,也不会被其他端口占用。这确保了端口始终拥有预留的缓存容量。

动态缓存:芯片上 Packet 缓存包含动态和静态部分。动态缓存进一步划分为 Service Pool 和 Headroom Pool。
Service Pool 专用于满足流量需求,而 Headroom Pool 为意外流量高峰提供缓冲。这两个分区独立运作,无法相互使用空闲缓存。

  • Service Pool:服务于端口级的Port Service缓存划分,所有端口级的Port Service缓存共享同一个芯片级Service Pool。例如,如果芯片级Service Pool缓存容量为100KBytes,端口1和端口2的Port Service缓存需求同为80KBytes。当某一时刻端口1已占用70KBytes的Port Service缓存时,端口2理论上最多还能再使用30KBytes的Port Service缓存。
  • Headroom Pool:针对端口级的Port Headroom缓存进行划分,所有端口级的Port Headroom缓存同样共享芯片级的Headroom Pool。假定芯片级Headroom Pool缓存大小设定为50KBytes,端口1和端口2的Port Headroom缓存需求均为40KBytes。在某一时间点,若端口1已占用30KBytes的Port Headroom缓存,那么端口2在此情况下最多还能额外占用20KBytes的Port Headroom缓存空间。

   在端口层面:

a323d9823da3c1a499537901adde5625.jpeg

1. Port Guaranteed

Queue Guaranteed的缓存资源遵循独占分配原则,专用于分配给队列级缓存,确保队列资源隔离。这种设计防止队列间缓存共享,确保每个队列拥有独立的缓存空间,最大化资源利用效率。

2. Port Service

Port Service缓存主要用于分配给队列级的Queue Service缓存。所有队列级的Queue Service缓存共享同一端口级别的Port Service缓存资源。

举例来说,假设端口级别的Port Service缓存容量为80KBytes,队列1和队列2的Queue Service缓存需求量都设置为60KBytes。在某一时间节点,若队列1中的数据包已占用50KBytes的Queue Service缓存空间,那么队列2此时最多还可使用30KBytes的Queue Service缓存空间。

3. Port Headroom

Port Headroom缓存区段用于分配给队列级的Queue Headroom缓存,所有队列级的Queue Headroom缓存均共享同一端口级别的Port Headroom缓存资源。假如端口级别的Port Headroom缓存总量为40KBytes,而队列1和队列2的Queue Headroom缓存需求均为30KBytes。在某一具体时刻,若队列1中的数据包已占据了25KBytes的Queue Headroom缓存空间,那么队列2此时最多还能再分配到15KBytes的Queue Headroom缓存空间。

   在队列层级:

35c4258aa2211e21b1e04010257ed670.jpeg

1. Queue Guaranteed

Queue Guaranteed 确保队列的基本报文传输能力,即使未获取队列服务缓存,也能转发一定量的报文。它包括两个阶段:
- 入队列 Queue Guaranteed:报文进入队列前
- 出队列 Queue Guaranteed:报文离开队列前

2. Queue Service

Queue Service 应对流量激增,为队列提供临时缓存空间。包含入队列和出队列,当待转发报文大小小于缓存剩余空间时,才能加入并转发。否则,报文将被丢弃。

3. Queue Headroom

Queue Headroom是网络中宝贵的缓冲空间,它确保即使在暂停帧通知期间,新报文也能被安全接收,避免因缓存不足而丢失数据。它充当保护屏障,防止报文丢失,从而确保网络通信的顺畅和稳定。

避免报文丢失风险:
芯片内部的单一服务池可能导致无损报文丢失,当有损报文流量激增时,它们会占用服务池。
为了防止这种情况,应规划无损报文队列的头部空间,以确保充足的存储空间应对流量激增。

优化缓存分配机制,释放设备转发潜力。先进的无损队列优化功能合理分配缓存空间,确保在不同流量负载下无损队列始终保持零丢包高效转发。

通过缓存空间优化,可划分芯片共享缓存,创建无损和有损队列。无损队列的缓存大小基于Headroom Pool和无损队列自身的Service Pool,确保不丢包转发。自动或手动配置Service Pool和Headroom Pool,优化无损队列的性能。

e964167df62276a326489eeb50c26ebb.jpeg


 

-对此,您有什么看法见解?-

-欢迎在评论区留言探讨和分享。-

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

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

相关文章

【深度学习实战(11)】搭建自己的dataset和dataloader

一、dataset和dataloader要点说明 在我们搭建自己的网络时,往往需要定义自己的dataset和dataloader,将图像和标签数据送入模型。 (1)在我们定义dataset时,需要继承torch.utils.data.dataset,再重写三个方法…

ModuleNotFoundError: No module named ‘scripts.animatediff_mm‘ 解决方案

本文收录于《AI绘画从入门到精通》专栏,专栏总目录:点这里,订阅后可阅读专栏内所有文章。 大家好,我是水滴~~ 本文主要介绍在使用 Stable Diffusion WebUI 安装 AnimateDiff 插件后出现的ModuleNotFoundError: No module named scripts.animatediff_mm异常的解决方案,希望…

第三方应用类---Phpmyadmin 后台 Getshell 操作

免责声明:本节仅做技术交流学习. 目录 什么是Phpmyadmin? getshell前提条件: 详细步骤: 1-搜集到开放phpmyadmin的web,然后访问进去 2-执行SQL命令查看是否开启了读写权限 3-开启了读写权限-->继续 没有开读写权限--->鸡鸡 4-有读写权限之后,执行SQL语句导出文件…

关于edge浏览器点击下载后没有反应的问题解决

不知道什么时候开始,edge浏览器点击下载后没有反应了。 根据网上教程,关闭smartscreen的方式试了没用 后来偶然发现,是因为在扩展里,有一个迅雷下载的扩展,关闭后,就可以正常下载了 具体如下&#xff1a…

扩散卷积模型 笔记

1 Title Diffusion Convolutional Neural Networks(James Atwood and Don Towsley)【NeurIPS 2016】 2 Conclusion This paper presents diffusion-convolutional neural networks (DCNNs), a new model for graph-structured data. Through the introd…

使用docker搭建GitLab个人开发项目私服

一、安装docker 1.更新系统 dnf update # 最后出现这个标识就说明更新系统成功 Complete!2.添加docker源 dnf config-manager --add-repohttps://download.docker.com/linux/centos/docker-ce.repo # 最后出现这个标识就说明添加成功 Adding repo from: https://download.…

【JavaEE初阶系列】——网络层IP协议(地址管理和路由选择)

目录 🚩网络层 🎈IP协议 👩🏻‍💻IP协议"拆包组包"功能 🎈地址管理 👩🏻‍💻IP地址的分类 👩🏻‍💻NAT机制如何工作的…

[阅读笔记20][BTX]Branch-Train-MiX: Mixing Expert LLMs into a Mixture-of-Experts LLM

这篇论文是meta在24年3月发表的,它提出的BTX结构融合了BTM和MoE的优点,既能保证各专家模型训练时的高度并行,又是一个统一的单个模型,可以进一步微调。 这篇论文研究了以高效方法训练LLM使其获得各领域专家的能力,例如…

VBA技术资料MF144:将PDF首页作为对象插入工作表

我给VBA的定义:VBA是个人小型自动化处理的有效工具。利用好了,可以大大提高自己的工作效率,而且可以提高数据的准确度。“VBA语言専攻”提供的教程一共九套,分为初级、中级、高级三大部分,教程是对VBA的系统讲解&#…

【办公类-21-16】 20240410三级育婴师 344多选题(题目与答案合并word)

作品展示 背景需求: 前文将APP题库里的育婴师题目下载到EXCEL,并进行手动整理【办公类-21-14】 20240406三级育婴师 344道多选题 UIBOT下载整理-CSDN博客文章浏览阅读287次,点赞8次,收藏9次。【办公类-21-14】 20240406三级育婴师…

OpenHarmony鸿蒙南向开发案例:【智能猫眼(基于3518开发板)】

样例简介 本Demo是基于Hi3518开发板,使用开源OpenHarmony开发的RTSP协议流媒体应用。达到将Hi3518开发板中摄像头获取的数据通过RTSP协议传输到手机并显示 。 rtsp实现可参考文档:openharmony_1.0.1实现RTSPServer 运行效果 样例原理 如上图所示&…

【编程Tool】VS code安装与使用配置保姆级教程

目录 1.软件介绍 2.软件下载: 3.安装 3.1. 双击可执行文件 3.2. 同意协议 3.3. 选择安装路径,默认在C盘 3.4. 点击下一步 3.5. 可选择所有附加任务 3.6. 点击安装 3.7. 等待安装 3.8. 点击完成 3.9. 安装成功 4.下载MinGW64 4.1. MinGW-64下载地址 &…

【UnityShader】图片圆角

1.需求 我们在开发的时候,有时候一些按钮或者菜单栏的边角是直角的需要改成圆角,但是让美术重新绘制耽误时间不说也确实没必要,这个时候我们不妨使用一个简单的shader去解决这个问题,下面我们就讲讲这个shader要如何实现。 需求1…

QoS流量整形

流量整形是一种带宽技术形式,它延迟某些类型的网络数据包的流动,以确保更高优先级应用程序的网络性能,它主要涉及调整数据传输速率,以确保网络资源以最佳容量得到利用。流量整形的目的是防止网络拥塞并提高网络的整体性能&#xf…

【融合ChatGPT等AI模型】Python-GEE遥感云大数据分析、管理与可视化及多领域应用

随着航空、航天、近地空间遥感平台的持续发展,遥感技术近年来取得显著进步。遥感数据的空间、时间、光谱分辨率及数据量均大幅提升,呈现出大数据特征。这为相关研究带来了新机遇,但同时也带来巨大挑战。传统的工作站和服务器已无法满足大区域…

JavaEE 初阶篇-深入了解 I/O 流(FileInputStream 与 FileOutputStream 、Reader 与 Writer)

🔥博客主页: 【小扳_-CSDN博客】 ❤感谢大家点赞👍收藏⭐评论✍ 文章目录 1.0 I/O 流概述 2.0 文件字节输入流(FileInputStream) 2.1 创建 FileInputStream 对象 2.2 读取数据 2.3 关闭流 3.0 文件字节输出流(FileOutputStream) 3.1 创建 Fi…

初识C++·类和对象(中)(3)

前言,最难的已经结束了,来点轻松了放松一下。 目录 1 流重载 2 const成员 3 取地址及const取地址操作符重载 1 流重载 C语言中printf和scanf是有局限性,只能直接打印内置类型,对于自定义类型就哦豁了,所以在C中就…

Linux——(grep指令及zip/tar压缩指令)

1.grep指令 语法: grep【选项】查找字符串 文件 功能: 在文件中搜索字符串,将找到的行打印出来 常用选项: -i :忽略大小写,所以大小写视为相同 -n : 顺便输出行号 -v :反向选择&…

MyBatis 从入门到精通:分页在MyBatis中使用

MyBatis 从入门到精通:分页在MyBatis中使用 先欣赏下美女🚀分页在MyBatis中使用👩‍💻摘要🎯引言💡正文内容😕 为什么要分页?🚀 使用Limit分页介绍📄 使用Li…

【项目】仿muduo库One Thread One Loop式主从Reactor模型实现高并发服务器(TcpServer板块)

【项目】仿muduo库One Thread One Loop式主从Reactor模型实现⾼并发服务器(TcpServer板块) 一、思路图二、模式关系图三、定时器的设计1、Linux本身给我们的定时器2、我们自己实现的定时器(1)代码部分(2)思…