Yet another PFC(新样式 PFC)

PFC 在依靠简单廉价兼容性而成功的以太网上弄巧成拙,但有 101 种优化它的方法,但代价是交换机越来越复杂。以太网的基因是简单廉价,这体现在以太帧的结构上,以太帧结构决定了交换机的能力上限,这是核心。核心认知不够,交换机玩出花也解决不了问题。

不光依赖交换机,而让每一个数据包都分担一些拥塞控制的责任,100 种新的流控,拥塞控制机制就出来了,本文介绍一种随意想到的另一个 PFC,这里的 P 不是 Priority 优先级的意思,而是 Path,即 Path-aware Flow Control。

本质上,它是一种 “横竖一颠倒,柳暗花明” 的方法论指导下的想法,既然端信息不够用,那就用网络信息。

为了最小化时延,数据中心传输经由交换机跳数不会太多,无论传统三层结构,还是 Spine-Leaf,VL2,几乎都是 2~3 跳可达,用 16bit 做 id 唯一标识一台交换机就 ok 的,不够就 17~18bit(不纠结),6~8 个 16bit 存一路上所有的 path 是 ok 的,一共消耗不了多少空间,反正比 TCP 少得多:
在这里插入图片描述

下图是一个解释:
在这里插入图片描述

在最短路径优先以及规则拓扑(不规则拓扑没考虑过,不代表不行)的假设下,每个交换机收到数据帧:

  • 递增 curr_index;
  • 若 path_list 的 curr_index 为空或与实际 node id 不一致,update 它为当前 node 实际 id;
  • 若处在 pause 状态,比对 path_list2 中 curr_len 开始直到 pause 帧的 path_len 是否与 pause 帧的 path_list 一致,若一致,pause,不一致,放行。

主机协议收到数据帧:

  • 保存 path_list,待有去往 sender 的数据发送时,reply path_list;

如此配合,便轻易实现了不连累无关受害流,同时交换机上也省去了复杂的 hash 运算,流分类等操作,直接一个 and 操作完事。

收益是源抑制信息以最快的速度到达 sender,代价是简单修改了协议。

这种方法实现了传输协议和网络紧耦合,这几乎是彻底提高性能的唯一正确途径,而源自 TCP/IP 的传输协议和网络解耦合的 XX over Ethernet(oE) 几乎不可能彻底提高性能,原因正在解耦实际上是一种丢失信息的行为。oE 的成功之处在于它已经足够好,而不是它超级棒。足够好的意思是,与 IB 相比时延,吞吐性能肯定要差一点,但差得不多,但在简单,兼容性,廉价方面,它却有非常大的优势。

与 oE 的 PFC 相比,Path-aware FC 没有扩展性问题,任何上层协议都可以被包装在该协议中进行传输,而 oE PFC 若要更精细地控制每一条数据流,需要支持一种新的非 TCP/IP 传输协议时,便要扩展模块增加对 hash 字段的检索和计算,比如那些没有所谓五元组的协议。

也可以把本文描述的方法看做是 yet another 标签算法。另外,还有一种 “换 hash 种子” 的算法用来支持 oE PFC 优化,后面再说吧。

浙江温州皮鞋湿,下雨进水不会胖。

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

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

相关文章

【鸿睿创智开发板试用】移植OpenCV 4到OpenHarmony 4.1

目录 目录 引言 编译系统镜像 (1) 下载代码后解压SDK (2) 下载docker镜像   (3) 编译OH 编译OpenCV 下载OpenCV源代码 构建编译配置文件 执行编译命令 安装库和头文件 测试 结语 引言 最近有个需求是在基于RK3568的OpenHarmony 4.1系统中使用OpenCV&#xff0c…

【OpenCV计算机视觉】图像处理——平滑

本篇文章记录我学习【OpenCV】图像处理中关于“平滑”的知识点,希望我的分享对你有所帮助。 目录 一、什么是平滑处理 1、平滑的目的是什么? 2、常见的图像噪声 (1)椒盐噪声 ​编辑(2) 高斯噪声 &a…

3D一览通在线协同设计,助力汽车钣金件设计与制造数字化升级

汽车行业已迎来智能化的汹涌浪潮,在此背景下,零部件制造商唯有积极应对,以智能制造为核心驱动力,方能跟上行业发展步调,在激烈的市场竞争中抢占先机。作为整车制造不可或缺的核心组件之一,汽车钣金件亦需紧…

【Leetcode】滑动窗口算法-编程苍穹下划破数据暗夜的高效光弧

前言 🌟🌟本期讲解关于滑动窗口问题~~~ 🌈感兴趣的小伙伴看一看小编主页:GGBondlctrl-CSDN博客 🔥 你的点赞就是小编不断更新的最大动力 🎆那么废话不多说直接…

【2025最新版】搭建个人博客教程

【2025最新版】搭建个人博客教程 –小记: 在搭建我的这个博客之前我在CSDN也发布过一些文章,目前应该也是几千粉丝了,但是看到别人都是用自己博客写的就感觉自己很LOW,所以就想自己来搭建一个属于自己的个人博客。当然搭建博客的…

多旋翼无人机 :桨叶设计—跷跷板结构

多旋翼无人机 :桨叶设计——跷跷板结构 前言跷跷板结构 前言 2024年11月,大疆发布了最新的农业无人机T70和T100。其中T70不同于以往的机型,在桨夹处采用了翘翘板结构,大疆将其命名为“挥舞桨叶”。 T70 无人机如下 放大其中螺旋…

力扣打卡14:多数元素

链接:169. 多数元素 - 力扣(LeetCode) 这道题正常很简单,但是如果想要完成进阶做法有点困难。我使用了O(n/2)左右的空间,使用了哈希映映射。 看了题解,有一种解法叫摩尔投票,可以解决这种问题…

MySQL八股文

MySQL 自己学习过程中的MySQL八股笔记。 主要来源于 小林coding 牛客MySQL面试八股文背诵版 以及b站和其他的网上资料。 MySQL是一种开放源代码的关系型数据库管理系统(RDBMS),使用最常用的数据库管理语言–结构化查询语言(SQL&…

JS原型及原型链

欢迎来到“雪碧聊技术”CSDN博客! 在这里,您将踏入一个专注于Java开发技术的知识殿堂。无论您是Java编程的初学者,还是具有一定经验的开发者,相信我的博客都能为您提供宝贵的学习资源和实用技巧。作为您的技术向导,我将…

List【Redis对象篇】

🏆 作者简介:席万里 ⚡ 个人网站: 文章目录 LIst1.简介2.使用场景3.常用操作1.写操作2.读操作 4.底层实现5.压缩列表的优化1.ZIPLIST结构2.ziplist更新数据3.LISTPACK优化 6.总结(重点) LIst 1.简介 Redis List是一组…

专业125+总分400+南京理工大学818考研经验南理工电子信息与通信工程,真题,大纲,参考书。

考研成功上岸,苦尽甘来,专业818信号系统与数字电路125,总分400,被南理工录取,从最早信心满满,到中期犹豫不决,到后期破釜沉舟,一路颠颠簸簸,总算坚持过来了,群…

ruoyi Cannot find module ‘@/views/system/user/index‘

Cannot find module /views/system/user/index 删除node_module 后打包成功

mall-admin-web开源项目搭建教程(图文)

本章教程,介绍如何在本地部署运行mall-admin-web这个开源项目。 开源地址:https://gitee.com/macrozheng/mall-admin-web mall-admin-web是一个电商后台管理系统的前端项目,基于Vue+Element实现。主要包括商品管理、订单管理、会员管理、促销管理、运营管理、内容管理、统计…

【计算机视觉】边缘检测

图像的边缘简单来说就是图像中灰度不连续的地方。 1.图像梯度 图像梯度是指图像像素灰度值在某个方向上的变化;图像梯度是图像的一阶导数,实际计算时可以使用差分来近似。 1.1 什么是图像梯度? 图像梯度是一种数学工具,用于描…

Microsemi Libero SoC免费许可证申请指南(Microchip官网2024最新方法)

点击如下链接: https://www.microchip.com/en-us/products/fpgas-and-plds/fpga-and-soc-design-tools/fpga/licensing 点击右侧,请求免费的License 如果提示登录,请先登录Microchip账号。 点击Request Free License。 选项一年免费的Li…

[C++]类的继承

一、什么是继承 1.定义: 在 C 中,继承是一种机制,允许一个类(派生类)继承另一个类(基类)的成员(数据和函数)。继承使得派生类能够直接访问基类的公有和保护成员&#xf…

harbor镜像仓库搭建

Harbor简介 Harbor的发展背景和现状 Harbor项目起始于2014年左右,当时正值容器技术和微服务架构迅速崛起的时期。随着越来越多的企业开始采用容器化部署应用,对于私有镜像管理的需求也日益增长。传统的解决方案要么缺乏必要的企业级特性(如访问控制、安全性和可扩展性),…

01-51单片机硬件基础

开发板介绍 学校授课用的是普中科技的EM3.V2.2开发板,没什么好说的,记着去淘宝上找原理图,别迷信课本。 网上有卖51最小系统板的,比开发板便宜,也有下载模块,可以自己搭建外围电路。 还可以自己在protue…

方法引用和lambda表达式的奥妙

方法引用替代Lambda表达式 什么情况可以使用方法引用替代lambda表达式? 下面代码中两处使用了lambda表达式,一个是filter内,一个是forEach内。其中,forEach内的lambda表达式可以被方法引用替代,但是filter内的lambda…

Android通过okhttp下载文件(本文案例 下载mp4到本地,并更新到相册)

使用步骤分为两步 第一步导入 okhttp3 依赖 第二步调用本文提供的 utils 第一步这里不做说明了,直接提供第二步复制即用 DownloadUtil 中 download 为下载文件 参数说明 这里主要看你把 destFileName 下载文件名称定义为什么后缀,比如我定义为 .mp4 下…