【CXL协议-RAS(12)】

news2024/11/18 8:28:50

前言:

在了解本章之前,咱们先来了解一下什么是RAS
RAS是可靠性(Reliability)、可用性(Availability)和服务性(Serviceability)的缩写,这是衡量系统设计和架构质量的关键指标。在CXL协议中,RAS功能被设计来确保数据的准确传输,减少系统错误,提供错误检测与修正机制,以及支持高效的系统管理和维护。
CXL协议的RAS特性可以细分为以下几个方面:

1.错误管理和恢复:CXL协议包含了复杂的错误管理和恢复策略,能够在检测到错误时立即采取行动,包括错误记录、传播和隔离,以保护数据的完整性和可靠性。

2.高级的错误检测:CXL利用了PCIe的高级错误报告(Advanced Error Reporting, AER)特性,能够提供更详细的错误信息,帮助快速定位问题源头,减少系统宕机时间。

3.热插拔支持:为了提高系统的可用性和服务性,CXL支持热插拔操作,使得在不关闭系统电源的情况下添加或移除设备成为可能。这对于数据中心的维护和升级尤为重要。

4.内存保护和隔离:CXL协议通过提供内存保护和隔离机制,确保了一个设备的故障不会影响到系统中的其他设备。这有助于提高系统的整体稳定性和可靠性。

5.带有冗余的设计:为了进一步提高可靠性和可用性,CXL设备和系统可以实现冗余设计,比如通过使用冗余路径和组件来提供故障转移能力。

12.0 Reliability, Availability and Serviceability

CXL RAS 功能构建在 PCI Express 之上。 引入了其他功能来解决缓存一致性和内存问题,如下所列。

12.1 Supported RAS Features(支持的 RAS 功能)

下表列出了 CXL 支持的 RAS 功能及其对 CXL.io 与 CXL.cache 和 CXL.mem 的适用性。
在这里插入图片描述

12.2 CXL Error Handling(CXL 错误处理)

如图180所示,CXL可以同时承载三种协议:CXL.io、CXL.cache和CXL.mem。 CXL.io 承载类似 PCIe 的语义,并且必须得到所有 CXL 端点的支持。 所有 RAS 功能都必须满足所有这些协议和用途。
有关 CXL 架构和所有协议的详细信息,请参阅本文档的其他部分。
下面的图 180 说明了 CXL 和 CXL RAS 的重点领域。 即,链路和协议RAS,适用于CXL组件到组件通信机制,以及设备RAS,仅适用于设备本身。 所有 CXL 协议错误都会通过 PCIe AER 机制作为“可纠正”反映到操作系统
内部错误”(CIE) 或“不可纠正的内部错误”(UIE)。 如果如此配置,错误也可能会反映到平台软件。
在这里插入图片描述
参考图180,CXL 1.1主机/根联合体位于北侧,包含所有常见的错误处理机制,例如核心错误处理(例如MCA架构)、PCIe AER、RCEC和其他平台级错误报告和处理机制 。 设备遇到的 CXL.mem 和 CXL.cache 协议错误通过 CXL.io 传达给 CPU。 记录在 PCIe AER 寄存器中。
以下各节将重点介绍链路层和事务层错误处理机制以及 CXL 设备错误处理。
CXL 2.0 端口检测到的错误将通过 CXL.io 作为 UIE/CIE 使用标准 PCIe 错误报告机制进行升级和报告。

12.2.1 Protocol and Link Layer Error Reporting(协议和链路层错误报告)

检测到协议和链接错误并将其传达给主机,在主机上可以公开和处理这些错误。 没有错误引脚将 CXL 器件连接到主机。
错误通过 CXL.io 上的消息在主机和 CXL 设备之间进行通信。

12.2.1.1 CXL 1.1 Downstream Port (DP) Detected Errors(CXL 1.1 下游端口 (DP) 检测到的错误)

CXL 1.1 DP 检测到的错误通过 UIE/CIE 等根联合体错误报告机制进行升级和报告。 下面列出了各种信令和记录步骤,并在图 181 中进行了说明。

  1. DPA CXL.io 检测到的错误记录在 DPA RCRB 的本地 AER 扩展功能中。 软件必须确保 DPA AER 扩展功能中的根端口控制寄存器未配置为生成中断。
  2. DPA CXL.cache 和 CXL.mem 记录 CXL RAS 能力结构中的错误(第 8.2.5.9 节)
  3. DPA CXL.cache、CXL.mem 或 CXL.io 向 RCEC 发送错误消息
  4. RCEC记录UIE/CIE
  5. 如果启用的操作系统错误处理程序可以通过检查 RCEC AER 扩展功能开始并遵循 PCI Express 规则来发现错误源,则 RCEC 会生成 MSI。 除了 PCI Express 基本规范和本规范中定义的错误日志之外,平台软件错误处理程序还可以询问平台特定的错误日志。
    在这里插入图片描述
12.2.1.2 CXL 1.1 Upstream Port (UP) Detected Errors(CXL 1.1 上行端口 (UP) 检测到的错误)

CXL 1.1 UP 检测到的错误也会通过根联合体事件收集器升级并报告。 下面列出了各种信令和记录步骤,并在图 182 中进行了说明。
6. 如果 UPZ 中的 CXL.cache 或 CXL.mem 块检测到协议或链路错误,则应将其记录在 CXL RAS 能力结构中(第 8.2.5.9 节)
7. UP RCRB 不得实施 AER 扩展能力
8. UPZ 向受此错误影响的所有 CXL.io 功能发送错误消息(此示例显示具有单一功能的设备。该消息必须包含 CXL.io 功能构建 AER 记录所需的所有详细信息
9. .IO 功能在各自的 AER 扩展功能中记录收到的消息
10. 每个受影响的 CXL.io 功能使用自己的请求者 ID 向 UPZ 发送 ERR_ 消息
11. UPZ 通过链接转发此错误消息而不记录
12. DPA将Error消息转发给RCEC
13. 如果根据 PCIe 基本规范启用,RCEC 会记录错误并发出中断信号
在这里插入图片描述

12.2.1.3 CXL 1.1 RCiEP Detected Errors(CXL 1.1 RCiEP 检测到的错误)

CXL 1.1 RCiEP 检测到的错误也会通过根联合体事件收集器升级和报告。 下面列出了各种信令和记录步骤,图 183 也对此进行了说明。

  1. CXL.cache(或 CXL.mem)向所有受影响的 CXL.io 函数通知错误
  2. 所有受影响的 CXL.io 功能都会在各自的 AER 扩展功能中记录 UIE/CIE
  3. CXL.io 函数在标签 = 0 的链路上生成 PCIe ERR_ 消息
    4、DPA将ERR_消息转发给RCEC
  4. RCEC 记录 UIE/CIE 并生成 MSI(如果根据 PCIe 基本规范启用)
    在这里插入图片描述

12.2.2 CXL 2.0 Root Ports, Downstream Switch Ports, and Upstream Switch Ports(CXL 2.0 根端口、下游交换机端口和上游)

交换机端口 这些端口检测到的错误将使用 UIE/CIE 等 PCIe 错误报告机制进行升级和报告。
操作系统错误处理程序可以首先检查根端口 AER 扩展功能,并遵循 PCI Express 规则来发现错误源。 除了 PCI Express 基本规范和本规范中定义的错误日志之外,平台软件错误处理程序还可以询问平台特定的错误日志。

12.2.3 CXL Device Error Handling(CXL 设备错误处理)

每当 CXL 设备返回已知不良或可疑的数据时,它必须确保数据的使用者在使用时或使用数据之前了解数据的性质。 这允许消费者采取适当的遏制措施。
CXL 定义了两种遏制机制 - 中毒和病毒

  1. 中毒:CXL.io 和 CXL.cachemem 上的返回数据可能被标记为中毒。
  2. 病毒:CXL.cachemem 支持病毒,通常用于指示设备上更严重的错误情况。 请参阅<链接至病毒式传播部分>部分。 设备在与 Viral 通信后在 CXL.cachemem 上返回的任何数据都被视为可疑,即使它没有明确中毒。
    当元数据可疑时,设备必须在 CXL.cachemem 返回响应中将元字段设置为无操作。
    如果 CXL 组件不处于病毒状态,并且已知返回的数据是错误的或可疑的,那么它会毒害 CXL 接口上的所有数据响应。
    如果启用了 Viral,并且 CXL 组件处于 Viral 状态,建议该组件不要毒害 CXL.cachemem 接口上的后续数据响应,以避免错误污染。
    主机可能会将中毒数据发送到 CXL 连接的设备。 CXL 设备如何响应 Poison 是特定于设备的,但必须遵循 PCIe 准则。 设备必须有意识地决定如何处理有毒数据。 在某些情况下,简单地忽略中毒数据可能会导致 SDC(无声数据损坏)。 CXL 2.0
    设备需要以 64 字节粒度跟踪其接收到的任何有害数据。
    由于没有错误引脚,因此无法通过 Poison 指示处理的任何设备错误均应由设备以消息形式发送回主机。 为此,下面的表 224 显示了未实现内存错误记录和信令增强功能的设备的错误类型、其映射和错误报告指南的摘要(第 12.2.3.2 节)。
    对于实现内存错误记录和信号增强的器件,第 12.2.3.2 节描述了如何记录内存错误并用信号通知。 此类设备应遵循表 224 来处理所有非内存错误。
    在这里插入图片描述
    Corrected (校正的):
    定义/例子:这是指可通过错误校正码(ECC)自动校正的内存单比特错误。即,该错误是可被检测并立即修复的,不会对系统的正常运行造成影响。
    Signaling Options (信号选项):系统可以通过消息信号中断(MSI)或MSI-X(MSI的扩展版本,支持更多中断向量)来通知设备驱动程序发生了一个可校正的错误。
    Logging (记录):设备特定的寄存器将包含有关该错误的信息,以便于将来检索和分析。
    Host HW/FW/SW Response (主机硬件/固件/软件响应):设备驱动程序会有一个特定流程来处理这类校正的错误。
    Uncorrected Recoverable (未校正的可恢复的):
    定义/例子:指设备本身能够从中恢复的未校正错误,这种恢复对软件的帮助很少甚至不需要。例如,错误仅限于单个计算过程,不会影响到其他部分。
    Signaling Options (信号选项):与可校正错误一样,系统会通过MSI或MSI-X来通知设备驱动程序发生了一个未校正但可恢复的错误。
    Logging (记录):设备特定的寄存器也会记录此类错误的详细信息。
    Host HW/FW/SW Response (主机硬件/固件/软件响应):与可校正错误相同,设备驱动程序会执行一个特定的处理流程来应对这种错误,例如丢弃可疑的计算结果。

    在这里插入图片描述
12.2.3.1 CXL.mem and CXL.cache Errors(CXL.mem 和 CXL.cache 错误)

如果对内存的按需访问导致未纠正的数据错误,则 CXL 设备必须返回有毒数据。 请求者(处理器核心或对等设备)负责处理中毒指示。 CXL 设备不应随毒物一起发出未纠正的错误信号。 如果处理器核心消耗了毒药,
主机将记录错误并发出信号。
CXL 1.1 设备检测到的任何非需求未纠正错误(例如,CXL 设备内存控制器中的内存清理逻辑)将通过设备 MSI 或 MSI-X 向设备驱动程序发出信号。 任何更正的内存错误都将通过设备 MSI 或 MSI-X 发送给设备驱动程序。 驱动程序可能会选择重复分配内存页
错误。 平台固件和操作系统都不会直接处理这些错误。 CXL 1.1 设备可以实现第 12.2.3.2 节中描述的功能,在这种情况下不需要设备驱动程序。
如果 CXL 2.0 组件无法正确解码 CXL.mem 地址,则处理方法如第 8.2.5.12.2 节所述。 如果组件未实现 HDM 解码器(第 8.2.5.12 节),则它应丢弃此类写入事务并返回对此类读取事务的全 1 响应。

12.2.3.2 Memory Error Logging and Signaling Enhancements( 内存错误记录和信令增强)

内存中的错误可能会在请求访问期间遇到,或者与向其发出的任何请求无关,并且记录有关此类错误的足够数据非常重要,以便能够使用主机平台级 RAS 功能,例如页面退役,而不依赖于 司机。
此外,与媒体完全无关的一般设备事件,包括设备健康状况的变化或设备检测到的环境条件,需要使用相同的一般事件记录工具来报告。
图 184 说明了一个用例,其中主机使用 CXL.mem 设备支持的两种信号发送方法(VDM 和 MSI/MSI-X)来实现固件优先和操作系统优先错误处理
在这里插入图片描述
支持内存错误记录和信令增强功能的 CXL 设备必须在本地记录此类错误,并通过 MMIO 邮箱将错误日志公开给系统软件(第 8.2.8.4.3 节)。 从邮箱中读取错误记录不会自动导致设备上的错误记录被删除。 需要显式清除操作才能从设备中删除错误记录。 为了支持错误记录访问和删除,设备应实现获取事件记录和清除事件记录命令。
两个操作都必须以原子方式执行。 此外,CXL.mem 设备对错误记录的所有写入或更新也必须以原子方式执行。
使用这两个操作,主机可以检索错误记录,如下所示:

  1. 主机使用“获取事件记录”命令读取多个事件记录。
  2. 完成后,主机使用“清除事件记录”命令清除设备中的事件记录,并提供一个或多个要清除的事件记录句柄。
    错误记录将归主机固件或操作系统所有,以便主机可以使用所有记录的错误来支持平台级 RAS 功能。
    存储在 CXL 设备上的错误记录必须在设备重置后保持粘性。 不得通过热重置或 FLR 或增强型 FLR 来初始化或修改记录。 当启用辅助电源消耗时,消耗辅助电源的设备必须保留错误记录。 在这些情况下,错误记录既不会被热、暖或冷重置初始化也不会被修改。
12.2.3.3 CXL Device Error Handling Flows(CXL 设备错误处理流程)

CXL 1.1 设备错误可能源自根端口 (RP) 或端点 (RCiEP)。 为了区分,RCiEP 源错误应使用零值标签,而 RP 源错误应使用非零值标签。 CXL 2.0 设备错误可能源自 CXL 2.0 端点 (EP)。 CXL 设备检测到的错误应通过 CXL.io 链路通过 PCIe 错误消息传达给主机。 与设备内任何特定功能无关且未通过 MSI/MSI-X 报告的错误将通过 PCIe 错误消息报告给主机,并可将其升级至平台。 UP 向所有记录非功能错误的 EP/RCiEP 报告这些错误。 每个 EP/RCiEP 通过 PCIe 错误消息向主机报告非功能特定错误。 软件应注意,即使 RCiEP 没有软件可见的链接,它仍可能记录与链接相关的错误。 对于多功能设备,最多生成一条给定严重性的错误消息。 错误消息必须包含能够发送错误消息的功能的请求者 ID。 对于具有相同严重性的不同错误,可以合并具有相同请求者 ID 的错误消息。 如果没有启用任何功能,则不会发送错误消息
所以。 如果启用不同功能发送不同严重程度的错误消息,则每个严重级别最多发送一个错误。 CXL 1.1 RCiEP 生成的错误将被发送到相应的 RCEC。 每个 RCiEP 必须与不超过一个 RCEC 关联。 CXL 2.0 组件生成的错误将记录在 CXL 2.0 根端口中。

12.3 CXL Link Down Handling(CXL 链路断开处理)

不存在优雅的 Link Down 的期望。 链路断开情况很可能会导致主机超时,因为很可能存在前往或来自 CXL 设备的事务最终无法取得进展。
软件可以配置 CXL 下游端口,以在出现某些类型的错误时触发下游端口遏制 (DPC)。 eDPC 可以在某些情况下实现可预测的遏制,但通常不会是可恢复的事件。

12.4 CXL Viral Handling(CXL 病毒处理)

CXL 链路和 CXL 设备预计符合 Viral 标准。 病毒式是一种错误遏制机制。 平台必须选择在启动时启用 Viral。 Viral 的主机实现允许平台通过写入寄存器来启用 Viral 功能。 类似地,写入设备上的 BIOS 可访问控制寄存器以启用
设备上的病毒行为(接收和发送)。 病毒支持能力和赋能控制都体现在 DVSEC 中。
启用后,只要检测到 Un Corrected_Fatal 错误,就会生成病毒指示。 Viral 不能替代现有的错误报告机制。 相反,其目的是提供额外的错误遏制机制。 错误检测器是负责通过 AER 报告错误并生成病毒指示。 任何能够报告 Un Corrected_Fatal 错误的实体也必须能够生成病毒指示。
CXL.mem 和 CXL.cache 采用病毒概念。 病毒式传播需要双向传播。 当启用病毒并且主机遇到病毒状况时,它应通过 CXL.mem 和/或 CXL.cache 将病毒通信到所有下游组件。 Viral 指示必须在可能受错误影响的任何数据之前到达(一般 Viral 要求)。 如果主机从任何 CXL 组件接收到病毒指示,它应将病毒传播到所有下游组件。
所有类型的常规重置均应清除病毒状况。 CXL 重置对病毒状况没有影响。 FLR 对病毒状况没有影响。

12.4.1 Switch Considerations(开关注意事项)

Viral 在每个 vPPB 的基础上启用,并且预期如果在一个或多个 DSP 上启用 Viral,那么它也将在 VCS 内的 USP 上启用。
在任何端口上收到的病毒指示会将 VCS 转换为病毒状态,但不会在交换机内触发新的未更正的致命错误。 一个 VCS 中的病毒指示不会影响交换机组件内的其他 VCS。 交换机继续处理所有针对该交换机的 CXL.io 流量并转发所有流量。 发送到 VCS 内所有端口的所有 CXL.cache 和 CXL.mem 流量均被视为已断言病毒位。 病毒指示应比任何后续 CXL.mem 或 CXL.cache 事务更快地从输入端口传播到 VCS 中的所有输出端口。 Viral 位在上游链路和连接到具有 Viral LD-ID 的 SLD 的链路上传播
矢量(参见表 54)设置为零以与 CXL 1.1 兼容。
如果交换机检测到未纠正的致命错误,则必须确定该错误是否影响一个或多个 VCS。 任何受影响的 VCS 都会进入病毒状态,设置 Viral_Status 位(请参阅第 8.1.3.3 节)以指示已发生病毒情况,在发送到 VCS 内所有端口的所有 CXL.cache 和 CXL.mem 流量中置位病毒位, 并发送 AER 消息。 受影响的 VCS 继续转发所有 CXL 流量。
DSP 以下设备的热移除和热添加不会影响交换机内 VCS 的病毒状态。
如果交换机已配置并启用 MLD 端口,则还有其他注意事项。 当具有 MLD 端口的 VCS 进入病毒状态时,它会通过设置该 VCS 中 LD 的病毒 LD-ID 向量(参见表 54)中的病毒位,将病毒指示传播到 MLD 组件内的 LD。 如果未纠正的致命错误导致一个或多个 VCS 进入病毒状态,则 LDVV 中的相应位
应设置。 已进入病毒状态的 MLD 组件内的 LD 使用 LDVV 掩码集设置 CXL.mem 流量中的病毒位,以识别与所有受影响的 VCS 关联的所有 LD-ID。 来自每个 LD-ID 的指示将病毒状态传播到启用了病毒遏制的所有关联 VCS。

12.4.2 Device Considerations(设备注意事项)

设备对 Viral 的反应将因设备而异,但预计设备会采取符合 Viral 要求的错误遏制措施。 首先,它必须防止不良数据被提交到永久存储。 如果设备连接到任何永久存储器或可能连接的外部接口
到永久存储,则设备需要自我隔离才能符合病毒标准。 这意味着设备必须在不依赖主机帮助的情况下采取遏制措施。
设备采取的遏制措施不得阻止主机前进。 这对于诊断目的以及避免错误污染非常重要(例如,将读取事务的数据保留到设备内存可能会导致主机中的级联超时)。 因此,在病毒检测方面,除了遏制要求外,设备还应:
• 删除对设备上或连接到设备的持久HDM 范围的写入。
• 必须始终返回完成响应。
• 在所有读取响应中将MetaField 设置为No-op。
• 当尝试将状态从“脏”更改为“干净”时,设置关闭状态命令(第 8.2.9.5.3.5 节中定义)因内部错误而失败。
• GPF 流量后不将关闭状态转换为“干净”。
• 将在收到病毒之前通过CXL 接口完成的任何写入提交到持久HDM 范围。
• 不断回应窥探。
• 完成对主机内存的挂起写入。
• 完成对设备易失性存储器的所有读取和写入。
当设备本身遇到病毒状况并且启用病毒时,它应:
• 设置病毒状态位以指示已发生病毒情况
• 遏制——采取措施将错误遏制在设备(或MLD 组件中的逻辑设备)内,并遵循上面列出的病毒遏制步骤。
• 将病毒状况备份CXL.mem 和CXL.cache 传送给主机。
— 病毒传播到虚拟层次结构中的所有设备,包括主机。
病毒控制和状态位在 DVSEC 中定义(详细信息请参见第 8.0 节“控制和状态寄存器”)。

12.5 CXL Error Injection(CXL 错误注入)

错误注入机制的主要目的是允许系统验证和系统固件/软件开发等创建错误场景和错误处理流程的手段。 为此,建议 CXL UP 和 DP 对指定地址(如果适用)实现以下错误注入挂钩:
• 一种类型的CXL.io UC 错误(可选- 类似于PCIe)。
— CXL.io 始终存在于任何 CXL 连接中
• 一种类型的 CXL.mem UC 错误(如果适用)
• 一种类型的 CXL.cache UC 错误(如果适用)
• 链接可纠正错误
— 瞬态模式和
— 持久模式
• 读取指定地址时返回Poison(仅限CXL.mem) 错误注入接口记录在合规性章节中。

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

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

相关文章

STM32启动文件命名方式说明以及启动过程分析

1、启动文件的路径 cl&#xff1a;互联型产品&#xff0c;stm32f105/107系列 vl&#xff1a;超值型产品&#xff0c;stm32f100系列 xl&#xff1a;超高密度产品&#xff0c;stm32f101/103系列 flash容量大小&#xff1a; ld&#xff1a;小容量产品&#xff0c; 小于64KB md…

科普 | Runes 预挖矿概念

作者&#xff1a;Jacky X/推&#xff1a;zxl2102492 关于 Runes 协议的前世今生&#xff0c;可以点击阅读这篇文章 &#x1f447; 《简述 Runes 协议、发展历程及最新的「公开铭刻」发行机制的拓展讨论》 什么是传统预挖矿概念 这轮比特币生态爆发之前&#xff0c;预挖矿&…

最优算法100例之08-数组中重复出现一次的数

专栏主页:计算机专业基础知识总结(适用于期末复习考研刷题求职面试)系列文章https://blog.csdn.net/seeker1994/category_12585732.html 题目描述 在一个长度为n的数组里的所有数字都在0到n-1的范围内,数组中只有一个数字重复1次,其他数字都不重复,求出这个数。…

使用IDEA的反编译插件 反编译jar包

反编译插件介绍 安装IDEA后, 一般自带反编译插件, Java Bytecode Decompiler 如果没有可以自己安装下 1.首先找到插件的jar包, 在IDEA安装目录的plugins文件夹下 D:\IntelliJ IDEA 2021.2.2\plugins\java-decompiler\lib 2.运行java命令, 指定插件的jar包目录和你要反编译的ja…

计算机网络:物理层 - 信道复用

计算机网络&#xff1a;物理层 - 信道复用 频分复用时分复用统计时分复用波分复用码分复用 计算机网络中&#xff0c;用户之间通过信道进行通信&#xff0c;但是信道是有限的&#xff0c;想要提高网络的效率&#xff0c;就需要提高信道的利用效率。因此计算机网络中普遍采用信道…

stable diffusion 的 GPU 不足怎么解决

稳定扩散&#xff08;stable diffusion&#xff09;是一种用于图像处理和计算机视觉任务的图像滤波算法。 当使用Stable Diffusion过程中遇到GPU显示内存不足的问题时。解决这个问题的方法有以下几种&#xff1a; 目前&#xff0c;对我来说&#xff0c;就最后一点能够暂时解决当…

2024年腾讯云4核8G服务器多少钱一年?买1年送3个月

2024年腾讯云4核8G服务器租用优惠价格&#xff1a;轻量应用服务器4核8G12M带宽646元15个月&#xff0c;CVM云服务器S5实例优惠价格1437.24元买一年送3个月&#xff0c;腾讯云4核8G服务器活动页面 txybk.com/go/txy 活动链接打开如下图&#xff1a; 腾讯云4核8G服务器优惠价格 轻…

策略路由-IP-Link-路由协议简介

策略路由 策略路由和路由策略的不同 1.策略路由的操作对象是数据包&#xff0c;在路由表已经产生的情况下&#xff0c;不按照路由表进行转发&#xff0c;而是根据需要&#xff0c;依照某种策略改变数据包的转发路径 2.路由策略的操作对象是路由信息。路由策略的主要实现了路…

云电脑安全性怎么样?企业如何选择安全的云电脑

云电脑在保障企业数字资产安全方面&#xff0c;采取了一系列严谨而全面的措施。随着企业对于数字化转型的深入推进&#xff0c;数字资产的安全问题日益凸显&#xff0c;而云电脑作为一种新兴的办公模式&#xff0c;正是为解决这一问题而生。云电脑安全吗&#xff1f;可以放心使…

[BT]BUUCTF刷题第9天(3.27)

第9天&#xff08;共2题&#xff09; [护网杯 2018]easy_tornado 打开网站就是三个txt文件 /flag.txt flag in /fllllllllllllag/welcome.txt render/hints.txt md5(cookie_secretmd5(filename))当点进flag.txt时&#xff0c;url变为 http://b9e52e06-e591-46ad-953e-7e8c5f…

南网科研院携手百度智能云,入选信通院AI原生应用优秀案例

为呈现AI原生研发和应用成效&#xff0c;提供AI原生相关技术、服务、部署、运营、基础设施等选型参考&#xff0c;近期&#xff0c;中国信息通信研究院发布了AI原生技术及应用优秀案例&#xff0c;由南方电网公司输配电部牵头、南方电网科学研究院有限责任公司&#xff08;以下…

Java基础(概念,环境,包,IDEA,)

目录 什么是Java 什么是程序 Java简史 Java技术体系平台 Java语言的特点 搭建环境 搭建Java开发环境 理解三个核心概念 安装Java环境 配置环境变量 编写第一段代码&#xff1a;HelloWorld 创建源代码文件 编写代码 保存文件 编译Java程序 运行程序 查看输出 编…

未能加载文件或程序集socutdata或它的某一个依赖项试图加载格式不正确的程序

未能加载文件或程序集socut data或它的某一个依赖项试图加载格式不正确的程序 Socut.Data.dll找不到类型或命名空间名称 把bin目录下面 的socut.data.dll删除就行了 C#报错未能加载文件或程序集socut data或它的某一个依赖项试图加载格式不正确的程序 "/"应用程序…

数据结构——排序算法

1、排序的概念 排序是指的是将一组数据&#xff08;如数字、单词、记录等&#xff09;按照某种特定的顺序&#xff08;升序或降序&#xff09;进行排列的过程。排序算法是实现排序的程序或方法&#xff0c;它们在软件开发和数据处理中扮演着至关重要的角色。 排序算法可以根据…

Spring Boot 使用过滤器、拦截器、监听器

前言 作用 过滤器&#xff08;Filter&#xff09;&#xff1a;当有一堆请求&#xff0c;只希望符合预期的请求进来。拦截器&#xff08;Interceptor&#xff09;&#xff1a;想要干涉预期的请求。监听器&#xff08;Listener&#xff09;&#xff1a;想要监听这些请求具体做了…

【C++练级之路】【Lv.17】【STL】set类和map类的模拟实现

快乐的流畅&#xff1a;个人主页 个人专栏&#xff1a;《C语言》《数据结构世界》《进击的C》 远方有一堆篝火&#xff0c;在为久候之人燃烧&#xff01; 文章目录 引言一、红黑树&#xff08;改造版&#xff09;1.1 结点1.2 迭代器1.2.1 operator1.2.2 operator- - 1.3 本体1.…

Stable Diffusion XL之使用Stable Diffusion XL训练自己的AI绘画模型

文章目录 一 SDXL训练基本步骤二 从0到1上手使用Stable Diffusion XL训练自己的AI绘画模型2.1 配置训练环境与训练文件2.2 SDXL训练数据集制作(1) 数据筛选与清洗(2) 使用BLIP自动标注caption(3) 使用Waifu Diffusion 1.4自动标注tag(4) 补充标注特殊tag(5) 训练数据预处理(标注…

什么是物联网监控平台?部署物联网平台有什么作用?

随着物联网技术的飞速发展&#xff0c;越来越多的企业开始关注并投入到这一领域。物联网监控平台作为连接物理世界与数字世界的桥梁&#xff0c;正逐渐成为企业数字化转型的关键组件。今天&#xff0c;我们将深入探讨物联网监控平台的定义、部署物联网平台的作用&#xff0c;以…

企微获客助手功能,行为触发如何实现回传的?

获客助手&#xff0c;这个听起来就相当酷炫的名字&#xff0c;它实际上是一个帮助企业将推广流量快速导入企业微信的神器。通过它&#xff0c;企业可以吸引越来越多的用户加为好友&#xff0c;从而建立起更紧密的客户关系。但是&#xff0c;如何进一步提升导入企业微信的流量质…

Docker数据卷挂载

一、容器与数据耦合的问题: 数据卷是虚拟的&#xff0c;不真实存在的&#xff0c;它指向文件中的文件夹 &#xff0c;属主机文件系统通过数据卷和容器数据进行联系&#xff0c;你改变我也改变。 解决办法&#xff1a; 对宿主机文件系统内的文件进行修改&#xff0c;会立刻反应…