tag 标签: dpu

相关帖子
相关博文
  • 热度 2
    2024-10-22 14:28
    395 次阅读|
    0 个评论
    1. 方案背景和挑战 裸金属服务器作为一类特别设计的计算类云服务,向最终用户提供了云端部署的专属物理服务器,这意味着最终用户不再需要与其他租户共享硬件资源,从而确保了资源的独占性、性能的最优化以及数据的最高级别安全。 裸金属服务器作为云上资源的重要部分,其网络需要与云主机和容器同样连接在VPC下,并且能够像云主机和容器一样使用云上的网络功能和能力。 当前,基于OpenStack的裸金属服务实现主要依赖于Ironic组件,并通过OpenStack的Neutron网络组件来实现裸金属服务器的网络连接。在该方案下,裸金属服务器的网络使用的是物理网卡,因此网络配置依赖于物理上的网络拓扑(例如需要知道裸金属网卡连接到交换机的端口编号),物理网络拓扑连接完成后就确定了,为了实现 VPC 等网络功能,需要对裸金属服务器的上联交换机做一些动态配置,以实现网络的切换。 Neutron原本是为虚拟机网络环境设计的,因此在应用于裸金属服务时,便暴露出了不足之处,带来了一系列的问题与挑战,具体体现在以下几个方面: a. 网络管理复杂性增加,提高了管理难度 - VLAN支持要求:Ironic的网络实现需要物理交换机的VLAN支持,并且要实现VLAN和VPC的匹配和转换,以确保裸金属服务器能够正确地接入网络。这不仅增加了网络配置的复杂性,也提高了管理难度。 - 拓扑要求:物理网络拓扑需要能够支持VLAN的划分和管理,这可能涉及到复杂的网络设备配置和维护。 b. SDN集成困难,降低网络性能 - 流量转换需求:在裸金属场景下,直接使用软件定义网络(SDN)技术存在困难。通常需要将网络流量引导到一个特定的网络节点进行转换,这不仅会降低网络性能,还会增加网络管理的复杂度。 - 性能与管理权衡:这种流量转换机制可能导致网络性能下降,同时也增加了网络管理和维护的工作量。 c. 安全组实现困难,增加运维成本 - 安全组规则不适用:传统裸金属服务器直接连接到物理交换机,导致OpenStack的安全组规则无法直接应用于裸金属服务器。安全组是OpenStack中用于控制网络流量的安全机制,其规则定义了允许或拒绝的网络流量类型。 - 交换机防火墙规则影响:如果尝试通过物理交换机的防火墙规则来实现类似的安全控制,可能会影响到其他业务的正常运行,并且会大幅增加运维成本。 d. 网卡热插拔支持不足,限制了系统灵活性 - 物理限制:传统裸金属服务器的物理网卡不支持热插拔功能。这意味着在不关闭服务器的情况下,无法添加或移除网络适配器,这限制了系统的灵活性和服务的可用性。 - 维护与更新挑战:缺乏热插拔支持使得网络维护和更新变得更加困难,可能需要计划停机时间,从而影响服务的连续性和用户体验。 基于OpenStack的裸金属服务网络实现,虽然借助Ironic和Neutron组件获得了良好的表现,但在网络管理、SDN集成、安全组应用以及网卡热插拔支持等方面仍面临一系列挑战。这些挑战需要通过技术创新和架构优化来逐步解决,以提高裸金属服务的性能、安全性和管理效率。 2. 方案介绍 2.1. 整体方案架构 为了解决上文提到的问题与挑战,本方案创新性的引入了DPU组件,并仍然使用Openstack Ironic node资源来管理裸金属实例。在开源Ironic组件(ironic-api、ironic-conductor)之外,我们自研了Ironic-dpu-agent组件,运行在每个裸金属节点的DPU Soc中,用于管理裸金属实例的存储、网络资源。 整体方案架构如下图: 各组件作用如下: Ironic-api:裸金属rest api服务。 Ironic-conductor:裸金属实例的任务控制服务,负责裸金属开关机、重启、部署等任务。 Ironic-dpu-agent:运行在DPU Soc上,与Ironic-conductor通过RPC通信,负责管理本节点裸金属实例的存储、网络资源。 Neutron-server:OpenStack网络服务,为裸金属实例提供network、subnet、port管理功能。 2.2. 方案详细描述 在基于DPU的OpenStack裸金属网络方案中,裸金属服务器的网络配置完全由DPU卡负责,裸金属服务器本身不需要任何传统的物理网卡。DPU卡为裸金属服务器提供物理功能(PF)、虚拟功能(VF)或可分割功能(SF)设备,作为网络接口。这些网络接口完全由DPU的系统级芯片(SOC)侧的Open vSwitch(OVS)进行配置,无需依赖外部物理交换机即可实现网络连接。 在该方案中,DPU负责处理包括VXLAN、Geneve等在内的各种虚拟网络协议,能够支持虚拟机与裸金属服务器之间的网络互通,保证灵活且高效的网络连接。这种网络拓扑简化了裸金属服务器的部署流程,因为服务器无需依赖外部交换设备,所有的网络管理和配置工作都在DPU卡上完成,大大减少了对传统物理网络基础设施的依赖。 在控制节点上,OpenStack的Neutron组件负责网络服务的管理,并通过OVN(Open Virtual Network)来与DPU通信。DPU的SOC上运行着OVS(Open vSwitch),这是整个方案中负责网络流量转发和管理的关键组件。同时,DPU的SOC侧还运行着OVN控制器(ovn-controller)和Ironic-dpu-agent,分别负责虚拟网络的控制和裸金属网络的管理。 OVN控制器:负责与Neutron进行通信,并根据网络需求配置OVS,实现裸金属服务器与虚拟机之间的网络连接。 Ironic-dpu-agent:这是Ironic服务的一个代理,它通过控制和配置OVS上的端口,管理DPU网络资源,负责为裸金属服务器分配和管理网络接口。 在这个架构下,DPU卡上提供的PF、VF等网络设备通过其代表接口(pfRep和vfRep)连接到OVS。裸金属服务器通过这些网络设备与DPU卡通信,进而连接到整个虚拟网络系统中。OVS通过在SOC上运行的p0和p1端口负责管理所有的网络流量,从而使裸金属服务器能够无缝地加入虚拟网络。 这种架构极大地提升了裸金属服务器的网络性能,同时减少了对外部交换机的依赖,降低了部署成本和复杂度。在实际应用中,这种基于DPU的网络架构可以大幅提高数据中心的资源利用率,并为多租户环境下的虚拟机和裸金属服务器提供高效、安全的网络隔离和互通。 裸金属node节点绑定创建的虚拟port,Neutron Server 通过 OVN Plugin 将端口信息写入 OVN NB DB,当Ironic-dpu-agent 获得node绑定port信息后,配置OVS的interface中的iface-id,然后通过ovn-controller下发流表,跟虚拟机网络流标下发方式一致。 网卡热插拔 在原生Ironic中,可以实现一定程度网卡热插拔,但是要求机器上有冗余的网卡设备,这些网卡设备可以在需要的时候被启用/禁用。这种方式也有一些缺陷,一方面这不够灵活,不同的用户需求不一样,冗余多少块网卡不便于确定。另一方面,如果冗余的网卡没有得到使用,造成了资源浪费。 在基于 DPU 的方案中,如前文所述,裸金属的网卡是由DPU的 PF/VF/SF 设备提供的,而 DPU 往往提供了大量的 VF/SF(数百个以上),足够满足用户的需求。那么网卡的热插拔就变成了 PF/VF/SF 设备的动态插拔和配置问题,这仍然是由 Ironic-dpu-agent组件完成的。 3. 测试与验证 3.1. 网络拓扑 以下是示例网络拓扑: 其中,普通业务流量和存储流量最好划分VLAN。BMC 带外管理网和千兆管理网需要打通,测试时也可简单用同一个网络。 3.2. 软件环境 依赖以下软件环境: 类别 名称 版本 来源 备注 OpenStack集群 OpenStack zed 开源社区 网络 neutron zed 内部版本 存储 volume-attacher cloudV5.4-6 内部版本 opi-bridge cloudV2-4 内部版本 裸金属组件 ironic zed 内部版本 ironic-dpu-agent cloudV1.0 内部版本 3.3. 测试用例及结果 3.3.1.创建资源 创建网络、子网、路由器、链接路由器和子网 openstack network create openstack subnet create --network \ --subnet-range \ --gateway \--dns-nameserver ##路由器 openstack router create ###链接 openstack router add subnet 创建flavor openstack flavor create --ram --vcpus --disk ###裸机属性设置 openstack flavor set --property resources:VCPU= \ --property resources:MEMORY_MB= \ --property resources:DISK_GB= \ --property capabilities:boot_option=local 创建镜像 openstack image create \ --disk-format raw \ --container-format bare \ --file \ --public openstack image set --property hypervisor_type=baremetal 创建node openstack baremetal node create \ --driver \ --driver-info ipmi_address= \ --driver-info ipmi_username= \ --driver-info ipmi_password= \ --property cpus= \ --property memory_mb= \ --property local_gb= \ --property cpu_arch= 3.3.2. 创建裸金属服务器实例 创建裸金属实例与创建虚拟机操作流程一致,选择裸金属的flavor即可: openstack server create --flavor bm-flavor-01 --image centos8.5 --boot-from-volume --network net01 bm-01 3.3.3.安全组 创建裸金属实例与创建虚拟机安全组添加一样,创建port的时候选择一个安全组即可: openstack port create --network net01 --vnic-type direct port01 --security-group default 3.3.4.连通性验证 在同一个net01下创建VM、BM,然后验证BM和VM的网络互通情况 创建VM: openstack port create --network net01 --vnic-type direct port01 openstack server create --flavor test-flavor- --image centos8.5 --port port01 vm01 登录通过bmc登录裸机bm-01验证: ping 3.3.5.网卡热插拔 先卸载port,再添加port: openstack port delete-port01 openstack baremetal port set --node --port 4. 方案总结 DPU赋能的Openstack裸金属网络解决方案,在以下几个方面具有显著优势: 1)Overlay网络终结在DPU侧,降低网络的复杂性: 通过在DPU侧终结Overlay网络,可以减少中间网络元素,摆脱了对物理交换机的依赖,简化整体网络拓扑架构。这种方式不仅降低了网络的复杂性,提高了网络的可管理性,还减少了设备成本和运维成本,使整个网络更加经济高效。 2)支持统一的SDN控制器,提升网络灵活性和响应速度: 采用统一的SDN控制器实现策略下发和调度,SDN网络不仅支持VLAN还可以使用Vxlan和Geneve,摆脱VLAN网络4096的限制。同时,有效简化SDN软件架构,提高网络的灵活性和响应速度,降低维护和管理的复杂性。 3)通过SDN实现安全组,降低运维成本: 通过SDN网络的ACL功能,可以在不依赖物理交换机的情况下实现安全组功能。这样可以直接在DPU上应用安全规则,而不需要通过物理交换机的防火墙规则,从而避免对其他业务的影响并降低运维成本。 4)支持网络接口热插拔,提升网络设备灵活性: 利用DPU的动态特性,可以实现网络接口的热插拔。这意味着在不影响服务器运行的情况下,可以增加新的网络接口或移除现有接口,从而提高系统的灵活性和服务的可用性。 综上所述,DPU驱动的Openstack裸金属网络方案通过一系列创新设计,不仅提高了网络的可管理性、可扩展性和安全性,还增强了系统的灵活性和服务的可用性,从而为裸金属服务器提供了更加强大和高效的网络支持。 本方案来自于中科驭数软件研发团队,团队核心由一群在云计算、数据中心架构、高性能计算领域深耕多年的业界资深架构师和技术专家组成,不仅拥有丰富的实战经验,还对行业趋势具备敏锐的洞察力,该团队致力于探索、设计、开发、推广可落地的高性能云计算解决方案,帮助最终客户加速数字化转型,提升业务效能,同时降低运营成本。
  • 热度 4
    2024-10-14 14:58
    473 次阅读|
    0 个评论
    1. 背景、挑战与业界进展 1.1. 虚拟化技术背景 在云计算的浪潮中,虚拟化技术扮演着举足轻重的角色。它通过将物理机集群的资源进行抽象整合,构建出一个统一的虚拟资源池。在这个资源池中,每一台物理机上都会运行宿主机以及虚拟化的系统软件。这些系统软件负责为用户提供虚拟的计算环境,包括虚拟CPU、虚拟内存、虚拟网络等,都是由Hypervisor这一核心组件来实现的。Hypervisor不仅确保了虚拟机计算能力的平稳性和弹性,还为用户提供了灵活的资源调度和分配能力。 虚拟化技术在云数据中心、大数据处理、AI与机器学习等多个领域都得到了广泛的应用。通过虚拟化技术,企业可以更加高效地利用物理资源,实现资源的按需分配和弹性扩展,从而提高业务的灵活性和响应速度。 1.2. 虚拟化技术面临的问题与挑战 尽管虚拟化技术带来了诸多优势,但在实际应用中也面临着一些问题和挑战。 首先,虚拟化架构中的管理面会占用部分CPU和内存资源,从而降低了系统整体资源的利用率。系统服务systemd,或libvirtd等虚机管理程序的线程与vCPU线程之间存在资源争抢的问题,导致业务虚拟机的稳定性难以保证,进而影响客户业务的质量。 其次,虚拟机I/O处理线程会占用大量的CPU和内存资源。虚拟化通常使用virtio-blk,virito-net为虚机提供磁盘和网卡设备,为了获得更好的I/O性能,virtio-blk会采用iothread机制加速磁盘I/O的处理;而virtio-net则采用vhost-net的方案将网卡的I/O卸载到内核,通过减少用户态和内核态的切换来减速网卡的I/O的处理;不论是iothread还是vhost-net,都需要在Host上创建对应的线程来完成具体的I/O处理,当I/O负载高的时候,iothread和vhost-net的处理线程会占用大量的CPU和内存资源。 此外,虚拟化技术的安全性问题也不容忽视。当前主流虚拟化方案都是采用QEMU + KVM的形式,QEMU模拟了丰富的外设,由于编写模拟设备的人员众多,加上设备的接口大多数比较复杂,因此QEMU经常在处理这些读写请求的时候没有完整的对请求数据进行安全校验,导致产生了很多安全性问题。攻击者可能会利用虚拟化和Hypervisor的安全漏洞展开攻击,从而威胁到整个虚拟化环境的安全。 1.3. 头部云服务提供商的方案 针对虚拟化技术面临的问题和挑战,业界头部云服务提供商纷纷展开了探索和研发,并不约而同的提出了基于DPU的轻量虚拟化方案。 AWS研发了Nitro系统,通过Nitro卡将虚拟机的I/O卸载到硬件上,从而消除了I/O处理线程对VCPU的资源抢占。同时,Nitro hypervisor内置了虚拟机的管理能力,将管理组件卸载到Nitro SoC上。这种设计不仅提高了系统的资源利用率和稳定性,还大大增强了虚拟化的安全性。Host侧只运行Nitro hypervisor,不提供通用OS能力,没有用户态和文件系统,从而减少了潜在的攻击面。 VMware也提出了基于DPU的ESXi卸载方案。在该方案中,Host ESXi hypervisor负责虚拟化的核心逻辑,而DPU上的ESXi hypervisor则负责主机管理、存储和网络等功能。这种设计同样消除了管理和I/O处理的CPU占用,减少了vCPU的抢占,保证了vCPU的性能。同时,它也减少了Host的攻击面,增强了系统的安全性。 阿里云则推出了神龙系统,其中的Dragonfly Hypervisor以其超轻薄、资源零损耗的特点著称。根据公开资料,其内存占用每个虚拟机不到1MB,CPU占用小于0.1%。这种超低的资源损耗使得神龙系统能够提供更加平稳、高效的虚拟化服务。同时,Dragonfly Hypervisor还具备超平稳、超平滑的特点,能够解决资源池之间互相热迁移的难题,与KVM无缝兼容,从而为用户提供了更加稳定、可靠的云服务。 1.4. DPU轻量虚拟化方案的成效与市场应用挑战 基于DPU的轻量虚拟化Hypervisor解决方案在市场上取得了显著的成效。它大幅提升了资源利用率,降低了运营成本,增强了系统的安全性,为用户提供了更加稳定、可靠的云服务。这些优势使得该方案在市场上得到了广泛的认可,其商业价值也得到了充分的体现。 然而,头部云厂商自研的解决方案往往具有高度定制化和封闭性的特点,大部分未面向公开商用市场,这限制了其应用范围的扩大。尤其是在国内市场,商业化、公开的DPU轻量虚拟化解决方案仍然是一片空白。这不仅限制了其他云厂商或行业客户对这些方案的直接采用,也阻碍了基于DPU的虚拟化技术的进一步发展和普及。 综上所述,基于DPU的轻量虚拟化方案将为虚拟化技术带来了新的发展机遇,各云服务提供商和企业对该类方案的需求日益增加,市场呼唤创新和开放的解决方案。 2. 方案介绍 为了应对虚拟化技术面临的问题和挑战,中科驭数在多年的技术积累和丰富的行业经验基础上,面向公开市场,推出了基于自研DPU的轻量虚拟化解决方案。 2.1. DPU轻量虚拟化整体方案架构 基于中科驭数DPU的轻量虚拟化方案,在Host侧只保留Hypervisor和部分Linux内核功能,且不提供用户态控制面组件。QEMU作为Device Emulation service组件运行在SoC,提供虚机机型及设备的模拟,Host侧只有VCPU内核线程。驭数DPU卡支持nvme和virtio-net的硬件卸载,因此虚机的存储和网卡采用VF直通的方式透传给虚机,提供高性能的存储和网络。其他非关键I/O设备则采用半卸载的方式,卸载到SoC侧,交由QEMU进行模拟。 该方案中,每一个虚机都分配了一个特殊的PCIe设备,该PCIe设备的BAR空间划分成了两部分,其他一部分用于API信息的交互,成为API CHANNEL;另外一部分用于I/O请求的交互,称为IOREQ RING BUFFER。 以下为该方案的关键组件: Libvritd:该组件运行在SoC侧,对上层管理组件如nova-compute等提供虚机管理API,libvirtd进一步和SoC侧QEMU进行交互达到管理虚机生命周期的目的。 QEMU:运行在SoC侧,提供虚机的I/O设备模拟服务,QEMU的交互接口是SoC-KVM提供的/dev/kvm-soc设备文件。QEMU在模拟I/O设备的过程中通过DPU卡提供DMA机制访问HOST内存。 SOC-KVM:这是HOST-KVM内核模块在SoC侧的镜像,通过向用户态暴露/dev/kvm-soc设备文件,供用户态组件如QEMU,libvirtd等调用SOC-KVM提供的能力。该KVM内核模块不提供具体的CPU、MEMORY、I/O等虚拟化能力,只是作为管理面API和虚机I/O请求的转发模块。管理面API通过API channel转发到HOST-KVM模块,并由HOST-KVM进行处理;来自HOST-KVM的I/O请求保存在IOREQ RING BUFFER中,并由SOC-KVM分发给用户态QEMU。 HOST-KVM:这个内核模块是原生KVM的扩展,与原生KVM的区别是:请求不是来自用户态I/OCTL请求,而是来自API channel;除了原生提供的API,HOST-KVM进一步提供了管里面API的处理,如nova-compute或kubelet的资源汇报类接口。 驭数DPU卡提供了SoC和Host间的双向内存同步机制及SoC和Host间的双向中断机制,配合IOREQ RING BUFFER,使得虚机的I/O请求可以卸载到SoC侧QEMU完成;通过API channel,使得来自SoC侧管理API可以被HOST-KVM处理。 2.2. 方案描述 中科驭数DPU轻量虚拟化在保持虚机形态不变的情况下,完成了的虚机I/O和控制面的卸载;以下对主要部分做详细描述: 2.2.1.基于该方案的虚机生命周期管理 Libvirt-soc使用原生API和QEMU-SOC交互,QEMU-SOC采用原生API和KVM-SOC交互,KVM-SOC使用硬件的API channel通道,转发KVM-SOC的API到KVM-HOST,最后由KVM-HOST完成具体的处理。上图以虚机启动为例展示了各个组件的交互,在完成VM和VCPU创建后,QEMU-SOC进一步加载BIOS或kernel,加载后需要使用DMA机制将BIOS内存块同步给Host;加载成功后,设置虚机的寄存器,并发送kvm_run请求,开始VCPU的运行。 2.2.2.基于该方案的虚机I/O处理 GUEST的I/O操作,无论是PIO还是MMIO操作,都会导致VMEXIT,VMEXIT后KVM-HOST检查是否能够处理该I/O,如果无法处理,则需要将该I/O转交给KVM-SOC。KVM-HOST构造I/OREQ结构体,该结构体描述了该I/O的类型,地址,长度,数据等内容。构造完成后,将该IOREQ存放在IOREQ RING BUFFER中,并通过中断机制通知SoC侧,有新IOREQ到达。 KVM-SOC通过ioeventfd机制通知QEMU-SOC,QEMU-SOC访问BAR空间的IO RING BUFFER,取出IOREQ并处理。处理过程中,通过DMA机制访问Host内存。处理结束后,QEMU-SOC通过KVM-SOC 的ioctl接口注入中断。KVM-SOC通过BAR空间的API channel转发中断注入的API到KVM-HOST,最终由KVM-HOST完成虚机中断的注入工作。 2.2.3.基于该方案的虚机热迁移处理 Libvirt-soc发起热迁移操作,使用QEMU-SOC提供的QMP命令接口通知QEMU-SOC。QEMU-SOC连接迁移对端的QEMU,并开始热迁移的操作。QEMU-SOC首先发送全量的内存到对端,内存的同步使用DMA机制完成;全量内存发送完成后,开始迭代发送脏页,首先通过API channel,告知KVM-HOST开始记录脏页,在后续的迭代过程中,使用DMA机制将脏页信息从Host同步到SoC。在热迁移的最后阶段,KVM-SOC通过API channel发送暂停VCPU的API,KVM-HOST停止VCPU的运行。VCPU暂停后,QEMU-SOC停止所有I/O设备的运行,并发送最后的脏页的设备状态到对端。热迁移结束后,QEMU-SOC调用KVM-SOC的ioctl接口,销毁虚机,KVM-SOC通过API channel通知KVM-HOST完成真正的销毁操作。 2.2.4.openstack控制面对接 在该方案中nova-compute和libvirt均运行在DPU的SoC系统内,libvirtd直接和SoC侧QEMU交互镜像虚机管理,Host文件系统通过sharedfs代理到SoC侧,libvirtd通过在SoC侧访问Host文件系统来完成Host系统资源的跟踪和管理。虚机的网络和存储使用PCIe直通的方式,给虚机提供高性能存储和网络。存储和网络资源的管理通过nova-compute的yusur-driver完成,yusur-driver使用/dev/kvm-soc接口请求KVM-HOST侧的PCIe资源管理能力,完成虚机PCIe资源的准备、销毁等操作。 3. 方案优势 3.1. 方案优势 基于DPU的轻量虚拟化解决方案展现出了显著的价值与优势,这一方案不仅填补了市场空白,更引领了云计算行业的技术创新。 a. 填补空白,引领创新 该方案作为国内首创的、公开的、可商业化的DPU轻量虚拟化方案,打破了头部云厂商自研方案的封闭性,为更多云厂商和行业客户提供了可借鉴和采用的先进技术。这一方案的推出,无疑为云计算行业的多元化发展注入了新的活力。 b. 硬件加速,性能卓越 基于DPU的轻量虚拟化方案充分利用了DPU提供的硬件加速能力,显著提升了系统性能和I/O处理效率。在云计算环境中,I/O性能往往是决定业务稳定性和响应速度的关键因素。该方案通过I/O卸载技术,将I/O处理下放给DPU,有效减轻了HOST的负担,从而提升了整体系统的性能。 c. 显著提升资源利用率 该方案还显著提升了资源利用率。传统的虚拟化技术中,管理面和I/O处理线程会占用大量的CPU和内存资源,导致系统整体资源利用率降低。而基于DPU的轻量虚拟化方案则通过精简Hypervisor的设计,几乎不消耗任何主机侧的资源,使得所有的资源都被业务系统所使用。这一优势不仅降低了运营成本,还提高了业务的盈利能力。 d. 减少攻击面,强化安全 该方案在安全性方面也表现出色,通过I/O卸载技术,将I/O处理下放给DPU,有效地减少了HOST的攻击面,大大增强了HOST的安全性。同时,该方案还采用了多种安全技术和措施,进一步提升了系统的安全性。 综上所述,基于DPU的轻量虚拟化解决方案在技术创新、性能提升、资源利用率提高以及安全性增强等方面都展现出了显著的优势和价值。这一方案的推出将为云计算行业的发展带来新的机遇。 3.2. 未来与展望 展望未来,基于DPU的轻量虚拟化解决方案具有广阔的发展前景。随着云计算、大数据、人工智能等领域的快速发展,资源池规模不断扩大,对虚拟化技术的需求将日益增长。该方案以其卓越的性能、高效的资源利用率和强大的安全性,将成为推动这些领域发展的关键力量。 在技术层面,随着DPU技术的不断演进和升级,基于DPU的轻量虚拟化解决方案也将不断优化和完善,我们可以期待该方案在I/O处理效率、资源利用率和安全性方面实现更大的突破,为用户提供更加优质、高效的云服务体验。 同时,该方案的商业化应用也将进一步拓展。随着越来越多的云厂商和行业客户认识到其价值和优势,基于DPU的轻量虚拟化解决方案有望在市场上实现更广泛的应用和推广,为云计算行业的持续发展注入新的动力。 本方案来自于中科驭数软件研发团队,团队核心由一群在云计算、数据中心架构、高性能计算领域深耕多年的业界资深架构师和技术专家组成,不仅拥有丰富的实战经验,还对行业趋势具备敏锐的洞察力,该团队致力于探索、设计、开发、推广可落地的高性能云计算解决方案,帮助最终客户加速数字化转型,提升业务效能,同时降低运营成本。
  • 2024-9-24 17:38
    0 个评论
    背景介绍 随着云计算、人工智能的迅猛发展,现有的IT系统变得日益复杂,网络技术亟需创新才能满足现代数据中心、智算中心的网络需求。在这一背景下,被定义为“未来数据中心第三颗主力芯片”的DPU崭露头角,成为未来网络技术的发展方向。同时,越来越多的企业和研究机构开始认识到高性能网络处理技术所带来的巨大价值,并积极进行创新实践,以实现更贴合需求的功能和更卓越的系统性能。 新技术的研究需要合适的研发平台。如果从零开始构建一个新型网络系统,则需要开发人员掌握大量与创新技术无关的底层技术架构原理,花费大量的时间先调通底层架构,才能去进行更具价值的新技术研究,这将极大地增加科研创新成本,降低科研效率。 中科驭数基于自身多年的DPU产品研发经验推出开物™数据网络开发平台,大大降低了网络科研创新的复杂度,从而使开发人员能够专注于自身核心功能的实现。中科驭数基于开物™的创新论文激励计划旨在通过开物™数据网络开发平台为开发者提供的便捷、高效的创新开发环境,鼓励广大的高校、科研院所等,积极投身数据网络领域的创新,推动新技术的发展,共同开启数字化时代新篇章。 面向对象 本激励面向全社会开放,所有高校、科研院所、企业和个人均可参加。 通过开物™数据网络开发平台,研究人员可以迅速搭建所需网络系统,专注于自身课题研究和实验设计,加快探索新的业务研究方向。开物™平台也将为教育和科研工作带来新的活力,帮助受众更好地实际理解和应用先进的网络技术,推动云计算、人工智能等新兴领域的研究和发展。 激励计划要求 参与者均需基于开物™数据网络开发平台,面向基础设施如网络、存储、安全、IoT等方向进行研究创新,并在主流期刊、会议、平台、机构等渠道成功发表论文。论文中需注明采用开发环境(平台)为中科驭数开物™数据网络开发平台,需带有“ 中科驭数开物平台 ”或“ 中科驭数开物 ”或“ YUSUR’s KAIWU Platform "或“ YUSUR’s KAIWU "等字样。 激励政策 适用范围:使用中科驭数开物™平台开展研究,并成功发表论文。 长期奖励政策:根据论文级别分别给与激励基金:A类论文每篇5000元,B类论文每篇2000元;C类论文每篇500元。 参考依据:《中国计算机学会推荐国际学术会议和期刊目录》。依据为论文发表当年,所发表渠道在目录中的分类。 有效性:自采购合同生效起 3 年内发表论文有效,且单个合同累计发表论文在50篇以内。(含以上所有类别论文) 首发奖励政策:即日起至2025年12月31日止, 对于基于开物™平台的前三篇A类论文,给予激励基金10000元(不与长期奖励政策同享)。 奖励申报方式 以通讯作者为代表申报,或者由通讯作者委托其他作者为代表申报。申报者通过登录中科驭数官方网站申报,需要提交所使用的开物™数据网络开发平台产品的SN号、论文链接、发布渠道、单位组织、联系方式等相关信息。 官方报名地址:​ ​中科驭数基于开物™的创新论文激励计划​ ​ 开物™数据网络开发平台简介 开物™数据网络开发平台是国内首款DPU开发平台,专为新型数据中心和智算中心等场景的数据网络研发而设计,可以为开发者提供超大容量的FPGA编程能力和高性能CPU编程控制管理能力,并且内置丰富的可编程数据网络功能,如网络包处理、OVS、NVMe over Fabric、QoS等可编程功能,支持复杂编程需求。同时,开物™提供丰富管理接口,支持多种软件开发工具包,并提供丰富的参考样例和设计指导,帮助开发者快速实现符合设计目标的数据网络研发。 欢迎线下交流 在9月24日启幕的第二十届全国高性能计算学术年会展区,中科驭数也将在现场同步展示此次激励计划的相关信息,诚邀各位莅临我们的展位(展位号:E13),欢迎前来咨询详细的论文征集情况,并与我们的工作人员直接交流,获取报名指导。 此外,开物™产品也将在本次展会上展出,如果你有任何关于开物™产品的问题,也可以与展台工作人员交流,了解更多背后的技术原理和应用前景。 中科驭数展位E:13, 一切就绪,期待您的到来!
  • 热度 5
    2024-9-23 18:13
    279 次阅读|
    0 个评论
    1 方案背景和挑战 Openstack作为开源云计算领域的领军项目,凭借其强大的功能、灵活的架构以及活跃的社区支持,在全球范围内得到了广泛的采用。通过Openstack,企业和云服务提供商可以更加高效地管理和利用计算资源、存储资源和网络资源,实现业务的快速部署和灵活扩展,从而赢得市场竞争的先机。 Ironic作为Openstack的关键组件,提供了对裸金属服务的全面管理。通过Ironic,用户可以在云环境中直接控制和管理实体硬件,实现裸金属服务器的自动化部署、管理和监控。 原生的Ironic 采用本地物理盘进行启动,其首先将远程镜像下载并写入到本地物理盘中,然后再从本地盘启动进入系统。过程如下: 可以看到,其重点是通过方案具有以下问题和挑战: a. 部署启动周期长(20分钟左右),业务敏捷性低,用户体验差 (1)两次启动:在部署裸金属服务器时,首先会通过PXE启动一个小的、临时的系统环境,IPA会启动并执行部署任务。部署完成后,服务器会从已安装的操作系统启动。这两次启动过程增加了整体部署时间。 (2)镜像下载:IPA需要从Glance下载完整的用户镜像到内存中或临时存储,这个下载过程取决于镜像的大小和网络条件,可能会非常耗时。对于大型镜像或网络条件不佳的环境,这个步骤可能成为瓶颈。 (3)镜像写入本地盘:下载完镜像后,IPA还需要将这个镜像写入到服务器的本地磁盘上。这个过程也取决于磁盘的写入速度和镜像的大小,可能会进一步增加部署时间。 b. 消耗大量带宽,影响整体网络应用性能 全量下载系统镜像会消耗大量的网络带宽,尤其是在多节点部署或频繁更新镜像的场景下。这不仅增加了网络负载,还可能影响其他网络应用的性能。 c. 系统盘无法扩容,敏捷性和弹性低 在当前部署模型中,用户镜像被直接写入到服务器的本地磁盘上,并且通常是作为一个固定的分区或文件系统来配置的。这意味着如果后续需要增加系统盘的容量(例如,因为数据量增长或应用需求变化),可能需要重新部署整个服务器,这既耗时又复杂。 d. 依赖外部组件,增加系统复杂度和成本 部署过程依赖于多个外部组件,如PXE、TFTP、DHCP等,这些组件需要正确配置和维护。任何一个组件的故障都可能导致部署失败,增加了系统的复杂性和维护成本。 2 方案介绍 2.1 整体架构 为了解决OpenStack Ironic裸金属服务方案的问题,中科驭数基于DPU开发了ironic裸金属服务解决方案,整体架构图如下: 在本方案中,DPU支持裸金属服务器的网络和存储资源虚拟化,使得物理服务器能够像虚拟机一样灵活配置,动态添加或删除网卡、硬盘等资源。这为裸金属服务器提供了类似云服务的弹性,同时保持了物理机级别的性能。另外,DPU能够管理远程存储资源,如云盘,使得裸金属服务器可以使用云存储服务,同时通过DPU加速存储I/O,提高读写性能,使得云盘接近本地存储的体验。 本方案主要涉及glance、cinder、nova、neutron、ironic模块。仍然使用ironicnode资源管理裸金属实例。在开源ironic组件(ironic-api、ironic-conductor)之外,自研了ironic-dpu-agent组件,运行在每个裸金属节点的DPU Soc中,用于管理裸金属实例的存储、网络资源。本方案主要包含以下系统组件: Nova:对接ironic,为裸金属提供和虚拟机一致的操作。 Ironic-api:裸金属rest api服务。 Ironic-conductor:裸金属实例的任务控制服务,负责裸金属开关机、重启、部署等任务。 Ironic-dpu-agent:运行在DPU Soc上,与ironic-conductor通过RPC通信,负责管理本节点裸金属实例的存储、网络资源。在裸金属部署阶段,接收ironic-conductor下发的部署指令,在DPU内连接云盘并挂载到host。在裸金属运行时,接收ironic-conductor下发的添加、删除磁盘指令,为host动态添加、删除磁盘。\ Volume-attacher:负责裸金属磁盘的挂载、卸载操作。 Neutron:OpenStack网络服务,为裸金属实例提供network、subnet、port管理功能。 Cinder:OpenStack块存储服务,为裸金属实例提供云盘创建、删除等管理功能。 Glance:OpenStack镜像管理服务,为裸金属实例提供镜像上传、下载功能。 2.2 方案描述 在基于DPU的OpenStack裸金属服务方案下,实现了裸金属的部署启动、云盘热插拔、cloudinit、冷迁移等常用功能,以下对主要部分做详细描述,并和传统ironic方案进行部分对比。 2.2.1 基于DPU的无盘启动方案 在基于 DPU 的方案中,我们采用直接挂载云盘系统的方式,不使用本地盘,过程如下: nova-api接收到创建裸金属实例请求,调用nova-scheduler调度出ironic node。 nova-scheduler调用nova-compute孵化裸金属实例。 nova-compute根据指定的镜像,调用cinder创建出系统盘volume,cinder调用后端存储以快照方式克隆镜像卷,并不是完整拷贝,速度很快,一般在数秒内完成。 nova-compute的ironic virt driver根据指定的cinder volume在ironic中创建node的volume target,作为裸金属实例的云盘。之后调用ironic-api部署node。 ironic-conductor的dpu deploy driver调用node所对应的ironic-dpu-agent执行部署任务。 ironic-dpu-agent根据volume target在dpu内调用spdk映射云盘,给host侧挂载对应的系统盘。 系统盘挂载完成后,ironic-conductor通过BMC重启裸金属节点,此时BIOS能扫描到系统盘,启动进入系统,裸金属启动完成。 和 Ironic 传统方案相比,没有PXE过程,也只需启动一次。 2.2.2 存储对接 Ironic 原生存储对接方案: ironic的存储对接在host侧,host网络需和存储网络连通,且host中需安装相关组件,如下图: 为了完成云盘的挂载/卸载,host 中需要安装一个 ironic-agent,其调用 iscsi-initiator 或相应的存储客户端完成云盘的挂载/卸载操作。Ironic 的 StorageDriver 会配置好存储服务端,并调用 ironic-agent 完成云盘的操作。 基于DPU的存储对接方案: 在基于DPU 的方案中,系统盘和数据盘统一使用云盘,云盘由volume-attacher组件进行分配挂载。裸金属上看到的盘,是DPU 上的 spdk 通过 PCIE 模拟的设备。存储网络也是由 ovs 连接的和配置的。如下图所示: 相比于 Ironic 方案,DPU 方案有以下优势: 存储网络统一走DPU侧,隐藏了存储网络的细节,并可利用 DPU 进行网络加速; 兼容cinder后端存储,存储系统无需适配。云盘是通过cinder创建的,volume-attacher配置spdk连接云盘,模拟出对应的磁盘给到裸金属。 2.2.3 硬盘热插拔 如Ironic存储对接方案中所示,Ironic 中的 StorageDriver 调用 host 中的 ironic-agent 完成硬盘热插拔,用户镜像需安装相关依赖。 在基于DPU 的方案中,由于裸金属上的盘是 DPU 通过PCIE 模拟的,因此,通过动态调整 DPU 上的 spdk 配置,即可实现硬盘的热插拔。 3 方案测试结果 3.1 创建裸金属实例 与创建虚拟机流程类似,选择裸金属的flavor和镜像进行创建。 可以看到bm01、bm02两个裸金属实例,均为active状态。通过nova创建裸金属实例,ironic node中会关联instance uuid。 3.2 部署启动时间 我们定义裸金属的部署启动时间为:下发创建裸金属实例的命令,到裸金属实例网络IP可以ping通的时间。 在联创万通 LCWT R7220 服务器上,镜像 OS 为 Ubuntu 22.04 Server,内核版本为5.15.0-106-generic 时测得的启动时间:从创建到可 ping 通共耗时 161 秒(2min41s)。 基于 DPU 的裸金属服务方案启动时间在 2-3min 内,具体耗时取决于服务器类型和镜像版本。相比之下,我们测试传统 Ironic 本地盘方式在 20min 以上。 3.3 添加磁盘 添加磁盘前,裸金属系统内看到的磁盘列表: 添加磁盘后,裸金属系统内看到的磁盘列表,nvme2n1是新添加的磁盘: 3.4 删除磁盘 删除磁盘前,裸金属系统内看到的磁盘列表: 删除磁盘后,裸金属系统内看到的磁盘列表,nvme2n1被删除: 3.5 存储 iops 和吞吐 测试结果如下: 分类 测试项 写iops 写吞吐 读iops 读吞吐 随机读写 NVMe-OF+DPU+NVMe盘 682k 2662MiB/s 736k 2868MiB/s NVMe本地物理盘 684k 2667MiB/s 980k 3849MiB/s 顺序读写 NVMe-OF+DPU+NVMe盘 682k 2667MiB/s 705k 2761MiB/s NVMe本地物理盘 686k 2673MiB/s 991k 3892MiB/s 各测试项说明: 测试项中的NVMe-OF均指NVMe-OF over RDMA NVMe-OF+DPU+NVMe盘:基于 DPU 通过NVMe-OF协议连接Target,Target 后端是 NVMe物理盘 NVMe物理盘:直接对NVMe物理盘进行测试 可以看到,基于NVMe-OF的卸载方式下,DPU可以达到和NVMe本地盘近似的性能,几乎没有性能损耗。 4 方案优势 基于DPU的方案相较于传统的Ironic裸金属方案,在多个方面展现出了显著的优势。以下是这些优势的详细描述: a. 交付效率显著提升,大幅改善最终用户体验 云盘启动加速:传统Ironic方案多采用本地盘启动方式,这一过程涉及到镜像的下载、安装及配置,耗时较长,通常需要20分钟左右。而基于DPU的方案采用云盘启动,通过预先配置好的云盘镜像,可以极大地缩短启动时间至2-5分钟。这种快速启动能力对于需要快速部署和扩展的云环境尤为重要,能够显著提升资源交付的效率和灵活性。 b. 存算分离,提升服务敏捷性和弹性 基于DPU的方案实现了存储与计算资源的分离,这种设计使得计算和存储资源可以独立扩展和优化。当业务需求变化时,可以迅速调整计算或存储资源,而无需对整个系统进行大规模的调整,从而提升了服务的敏捷性和弹性。此外,存算分离还有助于实现资源的更高效利用,避免了资源瓶颈和浪费。这种特性对于需要快速响应市场变化和灵活调整业务规模的云环境尤为重要。 c. 控制面与数据面分离,提升安全性和资源利用率 控制面与数据面下沉至DPU:通过将控制面和数据面处理任务下沉到DPU,不仅减轻了Host CPU的负担,还实现了对存储网络和后端存储细节的隐藏。这种设计提升了系统的安全性,防止了潜在的安全威胁,还使得Host侧的资源能够完全专注于业务处理,从而提高了资源利用率。 不侵入用户镜像:基于DPU的方案不依赖于用户镜像进行功能实现,避免了因镜像更新或修改导致的兼容性问题,同时也简化了用户镜像的管理和维护工作。 d. 架构简化,降低复杂度和维护成本 不依赖PXE等组件:传统Ironic方案可能需要依赖PXE(预启动执行环境)等组件来实现网络启动和镜像部署。而基于DPU的方案则通过内置的网络和存储功能,实现了更为简洁的架构设计,降低了系统的复杂度和维护成本。 e. 性能优化,接近本地盘体验 硬件加速利用:DPU内置了多种硬件加速功能,能够充分利用这些特性来提升云盘的性能表现。从测试数据中可以看到,在基于DPU的方案中,云盘性能可以达到接近甚至等同于本地盘的性能水平,为用户提供了更加流畅和高效的数据访问体验。 综上所述,基于DPU的方案在交付效率、存储支持、安全性与资源利用率、架构简化以及性能优化等方面均展现出了显著的优势,为裸金属云服务的发展提供了新的动力和方向。 本方案来自于中科驭数软件研发团队,团队核心由一群在云计算、数据中心架构、高性能计算领域深耕多年的业界资深架构师和技术专家组成,不仅拥有丰富的实战经验,还对行业趋势具备敏锐的洞察力,该团队致力于探索、设计、开发、推广可落地的高性能云计算解决方案,帮助最终客户加速数字化转型,提升业务效能,同时降低运营成本。
  • 热度 1
    2024-9-16 11:43
    278 次阅读|
    0 个评论
    1.背景介绍 1.1.业务背景 服务网格(Service Mesh)是微服务架构中的一种重要技术,它主要处理服务之间的通信,为服务间的信息交换提供更安全、更快速且更可靠的基础设施层。服务网格将服务治理从业务逻辑中剥离出来,拆解为独立的进程,实现异构系统的统一治理和增强网络安全。 一个典型的服务网格部署示意图如下: 其中绿色方块为应用服务,蓝色方块为代理。应用服务之间通过代理进行通信,整个服务通信形成图中的蓝色网络连线,图中所有蓝色部分就形成了服务网格。 服务网格的主要特点包括: 无侵入性:服务网格的设计理念是将通信和管理逻辑与业务逻辑解耦,使得业务逻辑无需关注通信细节,从而实现了对业务代码的无侵入性。 统一治理:通过服务网格,可以实现对微服务架构中所有服务的统一治理,包括服务发现、负载均衡、安全认证、监控和跟踪等功能。 可扩展性:服务网格支持多种微服务框架和服务治理能力,能够轻松扩展以支持更多的服务和场景。 服务网格的架构通常包括控制平面和数据平面,其中控制平面用于配置、管理和监控数据平面中的Sidecar代理,提供服务发现、负载均衡、安全认证等功能。 数据平面主要由边车Sidecar组成,它以轻量级的网络代理形式存在,与每个微服务实例部署在同一个主机或容器中,作为服务的附属组件运行。边车的主要职责是拦截和处理服务之间的通信流量,并与控制平面进行交互,实现服务发现、负载均衡、安全认证、监控和跟踪等功能。 边车的工作流程通常包括以下几个步骤: 拦截通信流量:边车代理拦截服务之间的所有入站和出站请求和响应。 服务发现:边车代理向服务注册中心注册服务实例,并根据需要动态地发现和管理服务实例。 负载均衡:边车代理根据配置的负载均衡算法,将请求分发到多个服务实例中,以提高服务的可用性和性能。 安全认证:边车代理可以实施安全认证策略,确保服务之间的通信是安全的。 监控和跟踪:边车代理收集和传输服务间的通信流量数据,以实现监控、日志记录、错误追踪和性能调优等功能。 综上所述,服务网格是微服务架构中的重要组成部分,它们共同为服务间的通信提供了安全、快速且可靠的基础设施层,并实现了对业务代码的无侵入性服务治理。 1.2.问题与挑战 在微服务架构中引入服务网格确实可以带来诸多好处,如简化服务治理、提高安全性和可观察性等,但同时也伴随着一系列问题和挑战。以下是几个主要方面: 边车带来的资源开销: 每个微服务应用都都需要运行一个边车代理,实际部署是每个POD部署一个边车容器。边车容器需要额外的计算资源来处理服务间的通信,默认情况下每个边车容器占用0.2个CPU核。假设一台服务器运行了60个POD,那么边车容器将额外占用12个CPU核。 业务转发时延增加: 应用程序的每个数据包都必须通过边车容器,数据包在应用程序和内核之间往返多次,如下对比是单个pod进或出增加的时延。 如图所示,右侧的是引入服务网格的方案,Pod内多了边车容器,相比左侧未引入服务网格的方案,数据包增加了内核往返次数,增加了时延。 通过上述分析可以看出,在微服务架构中引入服务网格确实带来了资源开销和转发时延的问题。 2.方案介绍 2.1.整体方案架构 服务网格DPU卸载解决方案将服务网格的sidecar边车容器集中卸载到DPU卡上执行,可以显著降低服务器CPU的算力消耗。同时,DPU卡高性能转发引擎实现了网络转发功能的加速,从而能够有效降低业务时延。该方案支持和原生Istio的无缝对接,对用户业务无侵入,可以实现业务的平滑迁移。 如图所示,红色系为本方案涉及本方案涉及部分,包括DPU卡及其提供给到主机侧的SRIOV vf口、主机侧CNI(istio-dpu-cni)。 业务容器的流量治理功能由DPU卡上的共享服务代理dpu-proxy提供,它由原生的边车容器从POD中抽离出来卸载到DPU卡上。它的配置由istio-dpu-cni通过对接istio获取并转换为集中式配置并下发下来。流量通过DPU提供的vf口到达DPU侧的dpu-proxy进行流量治理。 此架构的控制面仍为原生的istio,下发xDs配置给转发面;服务网格CNI(istio-dpu-cni)做为DPU卡在k8s集群的接口,无缝对接istio/收集集群信息,相当于DPU管理面给DPU组件下发配置及规则,使DPU卡可以实现原生的透明流量劫持以及流量治理的功能;DPU卡上的dpu-proxy做为服务网格的转发面,接收配置并根据配置对流量进行流量治理。 集群内的主机上插入DPU卡(红色),在主机侧集群内部署安装服务网格CNI(istio-dpu-cni组件)后,istio-dpu-cni组件可无缝对接控制平面K8s及Istio获取服务网格及网络配置、使能DPU卡上的共享服务代理dpu-proxy及转发引擎dataplane、下发相关的启动配置,主机即具有服务治理功能。之后在部署业务POD时,业务添加高速网口vf后,提供用户接口,使业务流量通过vf到达DPU侧dpu-proxy进行流量治理与转发。 2.2.方案描述 2.2.1.主机侧组件服务网格CNI实现管理平面 服务网格CNI(istio-dpu-cni组件)在主机侧k8s集群部署,无缝对接控制平面K8s及Istio获取配置等信息,转换为共享式代理配置下发到DPU侧的共享代理;基于DPU板卡的sriov功能,可给业务POD添加低时延高速网口vf及分配置IP地址;同时使能DPU侧转发引擎dataplane,给dataplane下发引流转发配置。 如图所示,服务网格CNI包括istio-dpu-controller、istio-dpu-adapter和istio-dpu-cni三个组件: ① istio-dpu-controller 使用daemonset方式部署在集群master上 主要是用于生成dpu级别的集中式服务网格配置,收集集群信息如pod变化、nodename等,转换为istio的inbound和internal 配置,并下发给对应节点的istio-dpu-adapter。 ② istio-dpu-adapter 使用daemonset部署在每个主机节点上 主要是用于无缝对接原生控制平面istio,可自动获取配置,转换集群内信息把原生配置聚合为共享式服务网格配置下发给代理dpu-proxy。 ③ istio-dpu-cni 使用daemonset部署在每个主机节点上 可配置网络模式是underlay或者overlay,针对性下发不同的网络规则;收集集群内信息(node, ns, service, pod等),提供用户接口可对dpu侧的转发引擎dataplane下发转发及引流规则,使dataplane能进行透明劫持低时延业务流量到dpu-proxy做流量治理。 除自研的CNI外,引入的开源组件为multus、sriov、spiderpool(不涉及开源组件的改动),通过二进制或pod的形式部署在需要的节点上。 2.2.2.DPU侧组件转发引擎及代理实现转发平面 如图所示,DPU侧组件包括转发引擎dataplane和共享服务代理dpu-proxy两个组件。在DPU卡的soc上,部署两个容器组件实现服务网格转发面功能,流量透明劫持及流量治理。 ① 共享服务代理dpu-proxy采用容器方式部署在DPU卡的SOC上 扩展封装原生边车代理istio-proxy为DPU共享服务代理dpu-proxy。它解析istio-dpu-adapter下发的动态共享式服务网格配置,对进出本机的低时延业务流量进行治理与转发。支持原生的四层TCP流量及七层HTTP流量治理;支持generic-proxy框架对其他七层流量进行流量治理。 ② 转发引擎dataplane采用容器方式部署在DPU卡的SOC上 dataplane接入协议栈(内核/用户态),并可通过vcl共享内存方式与共享服务代理dpu-proxy交互;接收istio-dpu-cni下发的转发及引流规则,根据规则把流量劫持到dpu-proxy;治理过的流量按转发规则进行网络封装及转发;dataplane加载vf-representer,通过NP(网络转发引擎)从vf-representer口收发对应pod内vf口的流量。 2.2.3.DPU共享服务代理流量转发模型 同主机内的业务互访如图(红色),client端业务流量经高速口vf到达DPU共享服务代理进行服务治理后,再经转发引擎dataplane转发到本主机的server端Pod。 跨主机业务互访如图(蓝色),client端业务流量经高速口vf到达DPU共享服务代理进行服务治理。治理后流量到达转发引擎dataplane,根据转发规则转到目标主机的DPU上共享服务代理做inbound入口流量治理。治理后流量再经转发引擎dataplane转到目标主机的server端Pod。 3.方案优势 3.1.方案优势 本方案创新性的将服务网格边车代理集中卸载到DPU上,可以带来一系列显著的优势,包括以下几个方面: ①显著降低服务器开销: 资源消耗减少: 传统的边车模式需要在每个服务容器旁边部署一个边车代理,这会导致大量的资源消耗(如CPU、内存)。通过将代理集中部署在DPU上,可以消除这些额外的资源消耗,使主机侧的资源更加专注于业务逻辑处理。 优化资源利用率: DPU作为专门的硬件加速单元,能够更高效地处理网络流量和加密解密等任务,从而释放主机CPU资源,提高整体系统的资源利用率。 ②极致的低时延: 用户态协议栈Bypass内核: 通过将网络处理移至DPU的用户态协议栈,绕过传统的内核态处理,可以显著减少数据包在内核与用户空间之间切换的开销,从而大幅降低网络延迟。 服务网格快路径: 自研的服务网格快路径技术可以进一步优化网络路径,减少不必要的处理步骤,确保数据包能够以最短的路径和最快的速度在网络中传输。 ③即插即用: 无侵入式服务治理: 集中式代理模式允许在不修改现有应用代码的情况下实现服务治理功能,如流量管理、安全控制等。这使得新服务的部署和现有服务的升级变得更加简单快捷。 灵活部署: DPU作为独立的硬件组件,可以轻松地集成到现有的服务器架构中,实现即插即用。这种灵活性使得企业可以根据实际需求快速调整网络架构和服务部署策略。 ④增强的安全性和隔离性: 服务隔离: 通过DPU上的集中式代理,可以减少不同服务和边车容器之间的干扰,防止潜在的安全风险。 综上所述,将边车代理集中卸载到DPU上是一种高效、灵活且安全的网络架构优化方案,能够显著降低开销、提升系统的性能并增强安全性和隔离性。 3.2.未来与展望 服务网格DPU卸载解决方案,作为云原生时代的一项创新技术,其核心价值在于显著优化了边车代理模式所带来的资源消耗问题,并大幅降低了业务请求在微服务间的转发时延。 随着云原生技术和微服务架构在各行各业的深入渗透,特别是在云计算、金融科技、物联网、边缘计算等领域,对于高效、可靠、可扩展的系统架构需求日益迫切。服务网格DPU卸载解决方案正是顺应这一趋势,凭借其卓越的性能提升和资源优化能力,展现出了极为广阔的应用前景和市场空间。 更为重要的是,该方案和技术正处于快速发展和不断完善的阶段。随着DPU技术的不断创新和服务网格框架的持续演进,未来将有更多高级功能被集成到DPU中,如更精细的流量管理、增强的安全策略执行、智能的数据处理加速等。服务网格DPU卸载方案将吸引更多行业巨头、初创企业以及技术开发者加入DPU生态,共同探索和实践DPU技术的潜力,推动其标准化、生态化的发展进程。 总之,服务网格DPU卸载解决方案作为云原生和微服务架构下的技术探索,展现出了巨大的潜力,有望成为推动云原生技术普及和深化的关键力量,为数字化转型注入新的活力和动力。 本方案来自于中科驭数软件研发团队,团队核心由一群在云计算、数据中心架构、高性能计算领域深耕多年的业界资深架构师和技术专家组成,不仅拥有丰富的实战经验,还对行业趋势具备敏锐的洞察力,该团队致力于探索、设计、开发、推广可落地的高性能云计算解决方案,帮助最终客户加速数字化转型,提升业务效能,同时降低运营成本。
相关资源
  • 所需E币: 0
    时间: 2022-1-13 17:48
    大小: 1.21MB
    上传者: samewell
    MYD-CZU3EGDPU使用手册.rar
  • 所需E币: 5
    时间: 2021-9-11 16:14
    大小: 330.44KB
    上传者: 东亚安防
    inx®深度学习处理器单元(DPU)是专用于卷积神经的可配置计算引擎网络。引擎中使用的并行度是设计参数,可以根据需要选择目标设备和应用程序。它包含一组高度优化的指令,并支持大多数卷积神经网络,例如VGG,ResNet,GoogLeNet,YOLO,SSD,MobileNet,FPN等。MYD-CZU3EG搭载DPUAI引擎,可提供强大AI计算能力,结合DNNDK工具链,为AI应用落地提供完整支撑。
  • 所需E币: 5
    时间: 2019-12-28 23:34
    大小: 224.5KB
    上传者: rdg1993
    本文介绍了一种基于微控制器的1-Wire®主机接口,适用于小规模、中等规模以及大规模的1-Wire网络。采用精细的阻抗匹配和"智能"(软件控制)强上拉、摆率控制等方法保证网络的可靠工作。本文给出了软件流程图,有助于用户利用任何适当的微控制器产生正确的复位脉冲、在线检测、写“1”、写“0”以及读时隙的1-Wire时序。示波器测试曲线说明了驱动器的时间特性以及远距离通信时传输线的影响。……