Chapter 7. Congestion Management in Ethernet Storage Networks以太网存储网络的拥塞管理 - 2

本文主要是介绍Chapter 7. Congestion Management in Ethernet Storage Networks以太网存储网络的拥塞管理 - 2,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Location of Ingress No-Drop Queues入口无损队列的位置

Ingress queues for no-drop traffic are maintained by all the ports in a lossless Ethernet network. For the sake of simplicity, Figure 7-1 shows ingress no-drop queue(s) only at one location, but in reality, all ports have ingress no-drop queue(s). 无损以太网网络中的所有端口都有入口无损队列。为简单起见,图 7-1 仅显示了一个位置的入口无损队列,但实际上所有端口都有入口无损队列。

1. Figure 7-1 already shows ingress no-drop queue(s) on Switch-1 for receiving traffic from Target-1. The utilization of this no-drop queue controls sending Pause frames to Target-1. 7-1 显示了交换机-1 上用于接收目标-1 流量的入口无损队列。利用该无损队列可控制向目标-1 发送暂停帧。

2. A similar ingress no-drop queue(s) exists on Switch-1 for receiving traffic from Host-1. The utilization of this no-drop queue controls sending Pause frames to Host-1. 交换机-1 上也有类似的入口无损队列,用于接收来自主机-1 的流量。利用该无损队列可控制向 Host-1 发送暂停帧。

3. Target-1 creates an ingress no-drop queue(s) for receiving traffic from Switch-1. The utilization of this no-drop queue controls sending Pause frames to Switch-1. 目标-1 创建一个或多个入口无损队列,用于接收来自交换机-1 的流量。利用该无损队列可控制向 Switch-1 发送暂停帧。

4. Host-1 creates an ingress no-drop queue(s) for receiving traffic from Switch-1. The utilization of this no-drop queue controls sending Pause frames to Switch-1. 主机-1 创建一个或多个入口无损队列,用于接收来自交换机-1 的流量。利用该无损队列可控制向 Switch-1 发送暂停帧。

Number of Ingress No-Drop Queues Per Port每个端口的输入无损队列数

Typically, a no-drop traffic class needs one no-drop queue per port. More one than one no-drop queue can also be created based on use cases, such as for carrying FCoE and RoCE traffic via the same link. Multiple no-drop queues have their own Pause Threshold and Resume Threshold. The maximum number of no-drop queues on a device depends on its capabilities. For example, Cisco Nexus 9000 switches support up to three no-drop queues. But there are more considerations based on the maximum frame size and length of a link. These limits apply because a no-drop queue requires buffer reservation, and every device has a finite buffer space. Refer to the documentation of the devices in your environment, but overall, be aware of these limits and plan accordingly. 通常情况下,一个无损流量类的每个端口需要一个无损队列。也可根据使用情况创建多个无损队列,如通过同一链路传输 FCoE RoCE 流量。多个无损队列有各自的 "暂停阈值 " "恢复阈值"。设备上无损队列的最大数量取决于其功能。例如,Cisco Nexus 9000 交换机最多支持三个无损队列。但根据链路的最大帧大小和长度,还需要考虑更多因素。这些限制之所以适用,是因为无损队列需要预留缓冲区,而每个设备的缓冲区空间都是有限的。请参考您环境中设备的文档,但总的来说,要了解这些限制并制定相应的计划。

Implementation Differences and The Scope of this Book实施差异和本书的范围

Some implementations, although less common, continuously send Pause frames with zero quanta when there is no congestion. In other words, they send Un-Pause frames even if their buffer utilization is less than the Resume Threshold. This is unnecessary because just one Un-Pause frame is enough to resume traffic and there is no need to send them continuously unless a Pause frame with non-zero quanta is sent in between. Although such implementations do not violate the standards, this unnecessary action makes congestion detection almost impossible when combined with the inability to report Pause and Un-Pause frames separately and the inability to report the duration of traffic pause (TxWait/RxWait). Refer to the later section on Congestion Detection Metrics for more details on these metrics. Also, Un-Pause frames that are sent continuously in large numbers may lead to a noticeable link utilization because these are actual frames that take bandwidth. This type of implementation is outside the scope of this book. Most congestion detection and troubleshooting techniques explained in this book do not apply to such implementations. 有些实现(尽管不太常见)会在没有拥塞的情况下持续发送quanta为零的暂停帧。换句话说,即使缓冲区利用率低于恢复阈值,它们也会发送取消暂停帧。这样做是不必要的,因为只需一个 "取消暂停 "帧就足以恢复流量,除非中间发送一个非零quanta的 "暂停 "帧,否则没有必要连续发送。虽然这种实现方式并不违反标准,但由于无法分别报告暂停和解除暂停帧,也无法报告流量暂停的持续时间(TxWait/RxWait),因

这篇关于Chapter 7. Congestion Management in Ethernet Storage Networks以太网存储网络的拥塞管理 - 2的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

SpringBoot 多环境开发实战(从配置、管理与控制)

《SpringBoot多环境开发实战(从配置、管理与控制)》本文详解SpringBoot多环境配置,涵盖单文件YAML、多文件模式、MavenProfile分组及激活策略,通过优先级控制灵活切换环境... 目录一、多环境开发基础(单文件 YAML 版)(一)配置原理与优势(二)实操示例二、多环境开发多文件版

MyBatis-plus处理存储json数据过程

《MyBatis-plus处理存储json数据过程》文章介绍MyBatis-Plus3.4.21处理对象与集合的差异:对象可用内置Handler配合autoResultMap,集合需自定义处理器继承F... 目录1、如果是对象2、如果需要转换的是List集合总结对象和集合分两种情况处理,目前我用的MP的版本

Debian 13升级后网络转发等功能异常怎么办? 并非错误而是管理机制变更

《Debian13升级后网络转发等功能异常怎么办?并非错误而是管理机制变更》很多朋友反馈,更新到Debian13后网络转发等功能异常,这并非BUG而是Debian13Trixie调整... 日前 Debian 13 Trixie 发布后已经有众多网友升级到新版本,只不过升级后发现某些功能存在异常,例如网络转

Redis实现高效内存管理的示例代码

《Redis实现高效内存管理的示例代码》Redis内存管理是其核心功能之一,为了高效地利用内存,Redis采用了多种技术和策略,如优化的数据结构、内存分配策略、内存回收、数据压缩等,下面就来详细的介绍... 目录1. 内存分配策略jemalloc 的使用2. 数据压缩和编码ziplist示例代码3. 优化的

SpringBoot集成XXL-JOB实现任务管理全流程

《SpringBoot集成XXL-JOB实现任务管理全流程》XXL-JOB是一款轻量级分布式任务调度平台,功能丰富、界面简洁、易于扩展,本文介绍如何通过SpringBoot项目,使用RestTempl... 目录一、前言二、项目结构简述三、Maven 依赖四、Controller 代码详解五、Service

深入解析C++ 中std::map内存管理

《深入解析C++中std::map内存管理》文章详解C++std::map内存管理,指出clear()仅删除元素可能不释放底层内存,建议用swap()与空map交换以彻底释放,针对指针类型需手动de... 目录1️、基本清空std::map2️、使用 swap 彻底释放内存3️、map 中存储指针类型的对象

Linux系统管理与进程任务管理方式

《Linux系统管理与进程任务管理方式》本文系统讲解Linux管理核心技能,涵盖引导流程、服务控制(Systemd与GRUB2)、进程管理(前台/后台运行、工具使用)、计划任务(at/cron)及常用... 目录引言一、linux系统引导过程与服务控制1.1 系统引导的五个关键阶段1.2 GRUB2的进化优

使用SpringBoot+InfluxDB实现高效数据存储与查询

《使用SpringBoot+InfluxDB实现高效数据存储与查询》InfluxDB是一个开源的时间序列数据库,特别适合处理带有时间戳的监控数据、指标数据等,下面详细介绍如何在SpringBoot项目... 目录1、项目介绍2、 InfluxDB 介绍3、Spring Boot 配置 InfluxDB4、I

Spring Security 前后端分离场景下的会话并发管理

《SpringSecurity前后端分离场景下的会话并发管理》本文介绍了在前后端分离架构下实现SpringSecurity会话并发管理的问题,传统Web开发中只需简单配置sessionManage... 目录背景分析传统 web 开发中的 sessionManagement 入口ConcurrentSess

Python开发简易网络服务器的示例详解(新手入门)

《Python开发简易网络服务器的示例详解(新手入门)》网络服务器是互联网基础设施的核心组件,它本质上是一个持续运行的程序,负责监听特定端口,本文将使用Python开发一个简单的网络服务器,感兴趣的小... 目录网络服务器基础概念python内置服务器模块1. HTTP服务器模块2. Socket服务器模块