GPU 学习笔记三:GPU多机多卡组网和拓扑结构分析(基于数据中心分析)

文章目录

  • 一、概述
  • 二、数据中心(DC)
    • 2.1 数据中心简介
    • 2.2 传统数据中心的网络模型
    • 2.3 脊叶网络模型(Spine-Leaf)
    • 2.4 Facebook的Fabric网络架构
  • 三、基于数据中心的多机多卡拓扑
    • 3.1 Spine-Leaf 架构网络规模测算方法
    • 3.2 NVIDIA多机多卡组网

防止遗忘和后续翻找的麻烦,记录下平时学到和用到的GPU知识,较为琐碎,不考虑连贯性和严谨性,如有欠妥的地方,欢迎指正。


GPU 学习笔记一:从A100与910B分析中,学习GPU参数的意义。
GPU 学习笔记二:GPU单机多卡组网和拓扑结构分析(基于A100的单机多卡拓扑结构分析)
GPU 学习笔记三:GPU多机多卡组网和拓扑结构分析(基于数据中心分析)
GPU 学习笔记四:GPU多卡通信(基于nccl和hccl)
GPU 学习笔记五:大模型分布式训练实例(基于PyTorch和Deepspeed)
GPU 学习笔记六:NVIDIA GPU架构分析(基于技术演进时间线,持续更新)
GPU 学习笔记七:华为 NPU架构分析(基于技术演进时间线,持续更新)
GPU 学习笔记八:GPU参数对比统计表(记录GPU参数,持续更新)



一、概述

上章记录了单机多卡的拓扑结构,同时在计算网络小节中也提到了Spine-Leaf网络拓扑结构,这章会详细介绍这种拓扑结构的由来。

实际上,spine-leaf网络拓扑结构是一种Clos结构,我们称之为“脊叶网络”,由Charles Clos在1950年提出,初衷是为了解决网络电话爆炸式增长这一难题。

本章是基于数据中心来研究这种拓扑结构的,通过对数据中心学习,了解其发展演化历史,了解GPU主机在数据中心中的位置,我们才能清晰的理解如何进行多节点集群组网,才能清晰的理解物理拓扑,才能清晰的进行多卡通信,分布式训练等。

本章只介绍同一数据中心下的多机多卡拓扑结构。关于跨区域的数据中心,不做赘述,有感兴趣的可以自行搜索。

二、数据中心(DC)

2.1 数据中心简介

1)机房

计算机机房、通讯机房、互联网数据中心机房IDC(Internet Data Center)等电子设备机房,统称为“机房”。

机房的重要性不言而喻,我们根据其重要性将机房分为A、B、C三个等级。A级的可靠性要求最高,如果出现问题,将造成重大经济损失和混乱。其次是B级,如果出现问题,将造成较大经济损失和混乱。

一个具有高可靠性的机房,需要具备良好的冷却系统、电力系统、消防系统、安全操作规范,以及防水防尘、抗干扰抗辐射等机制。

废话不多说,先上一个数据中心机房图。
在这里插入图片描述
为了保证制冷效果,通常会将10~20个机柜背靠背并排放置在一起,形成一对机柜组,称为一个POD(Performance Optimized Datacenter)。
在这里插入图片描述
一个POD中的两排机柜都采用前后通风模式,冷空气从机柜前面板吸入并从后面板排出。

POD中的两排背靠背摆放的机会中间形成“热通道”,相邻的两个POD之间形成“冷通道”。通过机房空调(CRAC)形成一个循环,热空气沿“热通道”流回CRAC,冷空气从前面板吸入POD中。

2)基本单位 POD

注意,该POD与k8s中的pod不是一个概念。

每一对机柜组(POD),都是数据中心中规划的最小业务单位,由交换机、防火墙、LB、服务器等资源集成而成。

POD+接入层+汇聚层,会构成一个下层的二层广播域,我们称之为L2网络。汇聚层以上的网络称之为L3网络。汇聚层交换机是L2和L3层的共同边界。

关于网络拓扑的研究,在下面两节中会详细进行。

2.2 传统数据中心的网络模型

在传统的大型数据中心,采用了层次化的三层网络模型,将复杂的网络问题分解成不同层次的简单问题域。
废话不多说,上拓扑结构图。
在这里插入图片描述
在三层网络模型中,每一层都负责特定的功能
在这里插入图片描述
1)三层交换机作用

(1)接入层 作用就是将工作站点(POD)接入到网络中,提供规划网段和带宽、设置网关等网络服务。

从拓扑图中,可知有4个POD,每个POD由4台机器组成,每2台机器组成一个机柜,共2组机柜。

(2)汇聚层 作用就是承上启下,连接接入层与核心层,组成三层网络模型。

汇聚层交换机与接入层和核心层都是以full-mesh的形式互联互通。

汇聚层交换机支持“东西向流量”,每组的2个交换机互联互通,与下方网络组成二层广播域,即L2网络。

汇聚层除了提供内容转发,还提供防火墙、SSL卸载、入侵检测、网络分析等服务。

(3)核心层 核心层路由交换机作为网络高速交换主干,是整个网络的支撑脊梁(spine)和数据传输通道,为网络中进出数据中心的报文提供高速路由转发,为多个汇聚层提供连接性。

核心层通常为整个网络提供一个弹性的L3网络路由。

2)二层广播域
通常情况下,汇聚交换机是L2和l3网络的边界,汇聚交换机以下是L2网络,以上是L3网络。
在这里插入图片描述
每组汇聚交换机都管理一个POD,每个POD都是一个独立的业务单元,总有独立的VLAN网络。服务器在POD内迁移时,不需要修改IP和网关等配置,因为他们都在同一个二层广播域内。

3)数据中心的流量形式
主要分三种:

  • 南北向流量:数据中心与外部网络(互联网)的流量。在传统DC中,这种流量占80%,应用通常采用专线部署方式,即将服务部署在多个固定的物理机中,与其他系统物理隔离。
  • 东西向流量:DC内服务器之间以及POD之间的流量。
  • 跨IDC流量:不同IDC间的流量,如不同数据中心的容灾等

随着分布式技术、云原生技术的广泛应用,如大模型训练可以分布在一个数据中心的上千台服务器中并行计算,导致东西向流量快速增加。

传统的三层网络是为南北向流量占主导地位的数据中心设计的,已经不满足现在的大规模东西向流量需要。

4)传统IDC三层网络模型的优缺点
优点就是实现简单、配置简单、广播控制力强等,被广泛应用于传统DCN。

缺点就是无法满足日益发展的网络需求,现在的数据中心朝着云数据中心转型,虚拟化、云原生技术被广泛使用,由此衍生出了两大缺点:

  • 无法支撑虚拟机跨POD迁移。
  • POD间的东西向流量无法在二层广播域中无阻塞转发,需要通过核心层转发。
  • 不满足大规模东西向流量需求,需要经过不必要汇聚层和核心层转发,大规模的东西向流量会导致连接同一交换机端口的设备争夺带宽,导致时延增加。

5)虚拟机跨POD迁移
虚拟机是物理服务器通过虚拟化技术构建出来的逻辑服务器,称为VM,拥有独立的系统和应用,也有自己的MAC和IP地址。

在生产环境中,我们需要根据容灾可靠性、可服务性等要求,进行虚拟机的动态迁移,迁移过程要求服务不中断,将VM从一台物理服务器迁移到另一台物理服务器。

虚拟机动态迁移过程中,为了保证服务的连续性,不能更改IP,TCP会话保持不能断,这就需要迁移的起始位置和目标位置都必须在同一个二层网络中,这个二层网络就称之为“大二层网络”。
在这里插入图片描述

2.3 脊叶网络模型(Spine-Leaf)

Spine-Leaf是Clos结构,一种新的数据中心网络模型,我们称之为“叶脊网络”。顾名思义,该架构拥有一个脊层spine和一个叶层leaf,包括脊交换机和叶交换机。

相比于传统网络的三层架构,叶脊网络进行了扁平化,变成了两层架构,每个叶交换机都连接到所有脊交换机,脊交换机间不互联,叶交换机间也不互联,他们之间形成full-mesh拓扑。如下图所示:
在这里插入图片描述
leaf层:由接入交换机组成,用于连接服务器等设备。
spine层:是网络的骨干,负责将所有的 leaf 连接起来。
fabric中的每个leaf都会连接到每个spine,如果一个spine挂了,数据中心的吞吐性能只会有轻微的下降。

叶交换机:相当于传统三层架构中的接入交换机,作为 TOR(Top Of Rack)直接连接物理服务器。叶交换机之上是L3网络,之下都是个独立的 L2 广播域。如果说两个叶交换机下的服务器需要通信,需要经由脊交换机进行转发。

脊交换机:相当于核心交换机。叶和脊交换机之间通过ECMP(Equal Cost Multi Path)动态选择多条路径。
在这里插入图片描述
图:叶交换机,思科Nexus 9396PX

在该模型中,任意两个服务器之间都是3跳可达的:serve<–>leaf<–>spine<–>leaf<–>serve,确保了延迟的可预测。

优缺点

优点:

  • 成本低:
    南北向流量,可以从叶节点出去,也可从脊节点出去。东西向流量,分布在多条路径上。这样一来,叶脊网络可以使用固定配置的交换机,不需要昂贵的模块化交换机,进而降低成本。
  • 扁平化:
    扁平化设计缩短服务器之间的通信路径,从而降低延迟,可以显著提高应用程序和服务性能。
  • 低延迟和拥塞避免:
    无论源和目的地如何,叶脊网络中的数据流在网络上的跳数都相同,任意两个服务器之间都是Leaf—>Spine—>Leaf三跳可达的。这建立了一条更直接的流量路径,从而提高了性能并减少了瓶颈。
  • 可拓展性:
    当带宽不足时,增加脊交换机数量,可水平扩展带宽。当服务器数量增加时,如果端口密度不足,我们可以添加叶交换机。
    例如:如果某个链路被打满了,扩容过程也很直接:添加一个spine交换机就可以扩展每个 leaf的上行链路,增大了leaf和spine之间的带宽,缓解了链路被打爆的问题。如果接入层的端口数量成为了瓶颈,那就直接添加一个新的leaf,然后将其连接到每个spine并做相应的配置即可。这种易于扩展的特性优化了IT部门扩展网络的过程。leaf层的接入端口和上行链路都没有瓶颈时,这个架构就实现了无阻塞。
  • 安全性和可用性高:传统的三层网络架构采用STP协议,当一台设备故障时就会重新收敛,影响网络性能甚至发生故障。叶脊架构中,一台设备故障时,不需重新收敛,流量继续在其他正常路径上通过,网络连通性不受影响,带宽也只减少一条路径的带宽,性能影响微乎其微。
    通过ECMP进行负载均衡,非常适合使用SDN 等集中式网络管理平台的环境。SDN允许在发生阻塞或链路故障时简化流量的配置,管理和重新分配路由,使得智能负载均衡的全网状拓扑成为一个相对简单的配置和管理方式。

缺点:

  • 交换机的增多使得网络规模变大。叶脊网络架构的数据中心需要按客户端的数量,相应比例地增加交换机和网络设备。随着主机的增加,需要大量的叶交换机上行连接到脊交换机。脊交换机和叶交换机直接的互联需要匹配,一般情况下,叶脊交换机之间的合理带宽比例不能超过3:1。
    例如,有48个10Gbps速率的客户端在叶交换机上,总端口容量为 480Gb/s。如果将每个叶交换机的 4 个 40G 上行链路端口连接到 40G 脊交换机,它将具有 160Gb/s 的上行链路容量。该比例为 480:160,即 3:1。数据中心上行链路通常为 40G 或 100G,并且可以随着时间的推移从 40G (Nx 40G) 的起点迁移到 100G (Nx 100G)。重要的是要注意上行链路应始终比下行链路运行得更快,以免端口链路阻塞。
    在这里插入图片描述
    叶脊网络也有明确的布线的要求。因为每个叶节点都必须连接到每个脊交换机,我们需要铺设更多的铜缆或光纤电缆。互连的距离会推高成本。根据相互连接的交换机之间的距离,叶脊架构所需要的高端光模块数量高于传统三层架构数十倍,这会增加整体部署成本。不过也因此带动了光模块市场的增长,尤其是100G、400G这样的高速率光模块。

2.4 Facebook的Fabric网络架构

Facebook从2014年开始对自己原有的数据中心网络架构进行改造,以适应对未来网络流量2-4倍的扩张。

Facebook的下一代数据中心网络——data center fabric网络架构(F4网络),是在原始叶脊网络基础上进行模块化组网,以承载数据中心内部的大规模东西向流量的转发,具有足够的扩展性。
在这里插入图片描述

F4架构:
在这种架构中,我们的Spine-Leaf 网络是其中的一个POD, 我们的SPINE是图中的Fabric Switches,我们的leaf是图中的Rack Switches,最上面的Spine Switches把各个POD连通起来。当一个POD的容量已满时,可以增加POD,并用spine将这些POD连通起来,实现了网络的继续扩展。除了前面描述的POD和spine,上图中还有黄色的Edge Plane,这是为数据中心提供南北向流量的模块。它们与spine交换机的连接方式,与前文中简单的的Spine-Leaf 架构一样。并且它们也是可以水平扩展的。
Spine-Leaf 网络架构只是一种网络部署的拓扑方式,具体的实现方法与配置多种多样,有的厂商根据这种拓扑结构定义了特定的网络协议,如思科的Fabric Path等。

目前Fabric网络已经演进到F16架构,将Spine平面增加为16个。单芯片处理能力提升为12.8TBps, 使得Spine交换机由原来的BackPack更新为MiniPark架构,不仅体积更小,所要通过的路径仅需跨越5个芯片。
在这里插入图片描述

三、基于数据中心的多机多卡拓扑

3.1 Spine-Leaf 架构网络规模测算方法

脊交换机下行端口数量,决定了叶交换机的数量。而叶交换机上行端口数量,决定了脊交换机的数量。它们共同决定了叶脊网络的规模。接下来我们可以根据交换机的端口数量和带宽,对Spine-Leaf 架构的网络适用的规模进行简单的估计,如下图所示的拓扑:
在这里插入图片描述

估算基于以下假设:

  • spine数量:16台
  • 每个spine的下联端口:48个 × 100G
  • spine上联端口:16个 × 100G
  • leaf数量:48台
  • 每个leaf的下联端口:64个 × 25G
  • leaf的上联端口: 16个 × 25G

spine的下联端口数量和LEAF的上联端口数量相同,以充分利用端口,在考虑链路Spine-Leaf 之间的带宽全部跑满的情况下,每个leaf下联的服务器数量最多为:16*100/25=64
刚好等于leaf的下联端口数量,总共可支持的服务器数量为:64 * 48 = 3072

在上述假设下,一组Spine-Leaf 网络可以支持3072台服务器,需要注意的是,叶脊交换机北向总带宽一般不会和南向总带宽一致,通常大于1:3即可,该例中为400:640。

这相当于一个中大型规模的数据中心,如果仍有扩展的需求该怎么办?根据上述的计算,leaf和spine的下联端口都已经耗尽,在这个网络中已无法增加spine,leaf或服务器。谷歌在此基础上进行了拓展,开发出了五级CLOS架构,即F4。

3.2 NVIDIA多机多卡组网

1)GPU上接Spine-Leaf网络
在这里插入图片描述
性能优化参见:NVIDIA Blog Leaf-Spine DC

2)Node间通信方式
在这里插入图片描述
详情参见:NVIDIA Blog: Network IO

3)GPU多机多卡组网拓扑
DGX-A与DGX-B两套GPU机柜组通过Spine-Leaf网络互联,每个 DGX 系统的 NIC-0 连接到同一叶交换机 (L0),NIC-1 连接到同一叶交换机 (L1),依此类推。这种设计通常称为 Rail-optimized。
在这里插入图片描述

4)跨轨通信与PXN单轨通信技术
在NCCL 2.12之前,DGX-A中的GPU0和DGX-B中的GPU3的数据传输需要遍历网络交换机的三个跳跃点(L0、S1和L3),这会导致带宽争用而减速。
在这里插入图片描述
NCCL 2.12 中引入了PXN技术,即PCI x NVLink技术的简称。PXN技术能使GPU通过NVLink和PCI与节点上的NIC进行全带宽通信,取代了原先需要通过CPU的QPI调用和CPU进行buffer交互。这样的话,GPU不仅可以访问本机NIC,也能够根据需要访问网络拓扑中的任意NIC。跨机GPU之间数据传输之前,会将数据汇聚到目标GPU-B3的同轨GPU-A3上,然后通知GPU-A3的CPU代理数据已准备就绪。CPU-CPU的指令通信可能稍慢,但其数据量很少,GPU数据本身仅使用NVLink和PCI Switch通信传输,从而保证最大带宽。

PXN 利用节点内 GPU 之间的 NVIDIA NVSwitch 连接,首先在与目标相同的轨道上的 GPU 上移动数据,然后在不越轨(不跳跃到spine网络)的情况下将其发送到目标。这实现了消息聚合和网络流量优化。

参见:NVIDIA Blog: Collective Communication

5)英伟达数据中心设计与优化

英伟达数据中心设计
英伟达数据中心拓扑

下节详细介绍nccl和hccl通信。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

基于 GADF+Swin-CNN-GAM 的高创新扰动信号识别模型!

往期精彩内容&#xff1a; Python-电能质量扰动信号数据介绍与分类-CSDN博客 Python电能质量扰动信号分类(一)基于LSTM模型的一维信号分类-CSDN博客 Python电能质量扰动信号分类(二)基于CNN模型的一维信号分类-CSDN博客 Python电能质量扰动信号分类(三)基于Transformer的一…

【QNAP威联通NAS系统恢复进阶教程】如果 .conf 和 md9 无法自动组装,如何恢复 NAS?

创作立场&#xff1a;原创不易&#xff0c;拒绝搬运~ hello大家好&#xff0c;我是你们的老伙伴&#xff0c;稳重的大王~ 从本期开始&#xff0c;大王将在日常教程中&#xff0c;分享一些QNAP系统故障的排除以及解决办法&#xff0c;进阶教程需要具备一定的linux基础&#xf…

一年期免费HTTPS证书:网络安全新选择

HTTPS证书的重要性 HTTPS证书&#xff0c;全称为安全套接字层/传输层安全协议证书&#xff0c;是一种在互联网上建立安全连接的数字证书。它通过公钥加密技术&#xff0c;对网站和用户之间的数据传输进行加密&#xff0c;有效防止数据被窃取或篡改&#xff0c;保障用户信息的安…

k8s-service详解

Service介绍 在kubernetes中&#xff0c;pod是应用程序的载体&#xff0c;我们可以通过pod的ip来访问应用程序&#xff0c;但是pod的ip地址不是固定的&#xff0c;这也就意味着不方便直接采用pod的ip对服务进行访问。 为了解决这个问题&#xff0c;kubernetes提供了Service资源…

Android编译环境构建(可用于物理机、虚拟机、容器化Jenkins环境)

文章目录 需求环境要求文件下载Gradle Version:7.5cmdline-tools至此普通物理环境的Android编译环境已部署完毕 部署maven(可选)Jenkins配置Android构建环境 说明&#xff1a; 物理环境&#xff1a;物理机、虚拟机等 容器化环境&#xff1a;docker等 需求 Gradle Version:7.5 …

MacOS下载安装Logisim(图文教程)

本章教程主要介绍如何在MacOS系统中安装Logisim。 一、Logisim是什么? Logisim是一个用于电子逻辑门电路模拟的教育工具软件。它允许用户通过图形界面构建和测试复杂的数字逻辑电路,如加法器、解码器、编码器、寄存器、内存等,从而帮助学生理解计算机硬件的工作原理。 二、如…

技术经济学·不确定性分析

第一节 不确定性分析概述 前章我们所讲的技术经济分析方法&#xff0c;基本上都是定量的方法。也就是说&#xff0c;都是在确定性情况下进行分析的方法。但实际工作中&#xff0c;许多问题是并不事先知道更多的情况。特别是有的因素根本就无法定量&#xff0c;是定性的东西。这…

DAY15|二叉树Part03|LeetCode: 222.完全二叉树的节点个数、110.平衡二叉树、257. 二叉树的所有路径、404.左叶子之和

目录 LeetCode: 222.完全二叉树的节点个数 基本思路 普通二叉树 完全二叉树 C代码 LeetCode: 110.平衡二叉树 基本思路 C代码 LeetCode: 257. 二叉树的所有路径 基本思路 C代码 LeetCode: 404.左叶子之和 基本思路 C代码 LeetCode: 222.完全二叉树的节点个数 力扣…

如何创建项目管理的WBS?

在项目管理中&#xff0c;工作分解结构&#xff08;WBS&#xff09;是确保项目按计划推进的重要工具。创建WBS的过程不仅关乎任务的分配&#xff0c;还影响项目的整体管理效率。以下是蓝燕云项目管理团队总结的一些有效的创建WBS的方法和指导方针&#xff0c;帮助项目管理团队更…

计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-10-22

计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-10-22 目录 文章目录 计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-10-22目录1. PoisonedRAG: Knowledge corruption attacks to retrieval-augmented generation of large language models摘要创新点…

Flutter学习笔记(一)-----环境配置

一、android 环境 android这边可以参照godot的配置 1.装java Java Downloads | Oracle x64 Compressed Archive &#xff1a;下载后直接解压到某个位置&#xff0c;不用安装 x64 installer: 下载后双击安装 注意&#xff1a;不要去百度直接搜Java安装&#xff0c;这样你最多安…

华为配置 之 IPv6路由配置

目录 简介&#xff1a; 知识点&#xff1a; IPv6静态路由配置&#xff1a; IPv6默认路由配置&#xff1a; 总结&#xff1a; 简介&#xff1a; IPv6&#xff08;Internet Protocol Version 6&#xff09;是网络层协议的第二代标准协议&#xff0c;也被称为IPng&#xff08;…

NIM 平台生成式 AI-demo

需要python环境 官网注册&#xff1a;&#xff08;后续调用模型需要秘钥key&#xff09;Try NVIDIA NIM APIs 可以看到有多种模型&#xff1a; 官方案例 1.安装相关依赖&#xff1a; pip install langchain_nvidia_ai_endpoints langchain-community langchain-text-splitt…

《Python网络安全项目实战》

《Python网络安全项目实战》 项目1 Python 环境安装任务1.1 Windows上安装Python任务1.2 Ubuntu环境下安装Python 项目2 Python基础练习任务2.1 使用数据类型任务2.2 使用组合数据类型任务2.3 使用控制结构任务2.4 使用函数任务2.5 使用模块 项目3 处理文件中的数据任务3.1 读文…

​双十一买什么比较划算?2024年双十一必买好物推荐

双十一期间哪些商品最值得购买&#xff1f;一年一度的双十一购物狂欢节又如约而至&#xff0c;各大电商平台纷纷推出了各种优惠活动和促销策略&#xff0c;让人眼花缭乱。在这个全民购物的盛宴中&#xff0c;如何才能买到真正划算的好物&#xff0c;成为了许多消费者关注的焦点…

AI视频王者归来-[ComfyUI]PyramidFlow:快手开源视频模型,与Mochi比拼谁更强?8G可运行10秒768P与24帧视频生成

在人工智能视频生成的领域&#xff0c;ComfyUI的PyramidFlow和Mochi两款模型一直是业界关注的焦点。而最近&#xff0c;快手开源了PyramidFlow模型&#xff0c;引发了与Mochi模型的新一轮比拼。那么&#xff0c;究竟哪一款模型更胜一筹呢&#xff1f; PyramidFlow和Mochi的比拼…

Vivo开奖了,劝退价。。

vivo 也开奖了&#xff0c;不过有小伙伴反馈是个劝退价&#xff0c;甚至不如隔壁的 oppo&#xff0c;要说这两家也是渊源颇深&#xff0c;一家是绿厂&#xff0c;一家是蓝厂&#xff0c;高管也都是早期步步高出来的。 给大家盘一下开奖的信息&#xff0c;方便大家横向做个对比&…

【C++】哈希表模拟:闭散列技术与哈希冲突处理

C语法相关知识点可以通过点击以下链接进行学习一起加油&#xff01;命名空间缺省参数与函数重载C相关特性类和对象-上篇类和对象-中篇类和对象-下篇日期类C/C内存管理模板初阶String使用String模拟实现Vector使用及其模拟实现List使用及其模拟实现容器适配器Stack与QueuePriori…

SketchUp 云渲染—助力您的渲染

目前市面上的渲染平台有很多&#xff0c;但是能支持SketchUp云渲染的特别少&#xff0c;大部分云渲染是还是不支持的&#xff0c;今天就给大家介绍国内支持Sketchup渲染的云渲染——【渲染101】云渲染的使用方法。 1、官网下载最新的客户端并且安装。 2、登录客户端配置好对应…

栈和队列(2)——队列

队列的基本概念 1. 队列定义&#xff1a;只允许在一端进行插入&#xff0c;在另一端进行删除的线性表。 2. 队列特点&#xff1a;先进先出&#xff08;FIFO&#xff09;。 3. 队列基本操作&#xff1a;初始化队列、销毁队列、入队、出队、读队头元素、判队列空等。 InitQueue…