Lagopus FPGA 可最大化电信和云服务的SDN/NFV 功用。
日本电报电话公司 (NTT) 是一家全球电信集团控股公司,担任拟定办理战略和推进研制作业开展。 咱们是 NTT 研制部的研究人员,正领导两个针对软件界说网络 (SDN) 和网络功用虚拟化 (NFV) 的创新式项目。针对其间的一个项目,咱们现已开宣布一个名为 Lagopus 的高功用软件 SDN/OpenFlow交换机[1],咱们以为这是迄今为止作为开源软件发布的 OpenFlow 1.3 兼容交换机中的佼佼者。针对第二个项目,咱们开宣布一个具有软件包处理感知功用的 40 Gbps FPGA 网络接口卡 (NIC) ——Lagopus FPGA。
前期阶段选用赛灵思面向网络的 SDNet 软件界说标准环境,是咱们可以成功开发这些技能的要害所在。在本文中咱们将介绍怎么运用SDNet满意咱们的项目方针。
完结 SDN/NFV 杰出功用的 LAGOPUS FPGA
云服务供货商和网络服务运营商正在转向选用SDN,将其作为主动装备体系的要害支撑技能。NFV 经过将网络体系从专有硬件设备转变为商用硬件体系,充分运用 PC 服务器、根据商用芯片的交换机和软件东西,在协助电信运营商下降本钱开销和运营开销方面起着至关重要的效果。许多云服务供给商和电信运营商将为其新一代商用网络布置 SDN 和 NFV。
NTT 集团是商业服务和研制范畴的 SDN 和NFV 领跑者。在日本总务省的自助下,NTT 现已发动一项与先进 SDN/NFV 相关的研究作业——O3 项目。Lagopus 是 O3 项意图首要可交给效果,其结合运用敞开网络基金会 (Open Networking FoundaTIon)的 OpenFlow 1.3 协议、商用英特尔 x86 服务器和商用 NIC, 可完结高功用软件包处理和灵敏的流程操控。 Lagopus 的首要优势有: 能在商用服务器上完结超越 10Gbps 的高功用软件包处理、高达百万流量输入的弹性网络流操控、针对虚拟供给商边际 (vPE)/ 虚拟客户端设备 (vCPE) / 虚拟演进分组核心网 (vEPC) 结构的可扩展流程分配器。
Lagopus FPGA 项目旨在经过在运转于商用服务器上的 FPGA 上灵敏地对软件加快和硬件加快功用进行分区,完结 40/100Gbps 的高功用包处理。图 1显现了 Lagopus FPGA 的概念和架构。这种灵敏的架构能凭借 FPGA 加快并以纯软件完结办法将 Lagopus交换机的 10Gpbs 线速提高到 40Gbps 线速。这一功用提高的价值仅仅是 x86 CPU 的功耗增大不到 10%。该架构还能极大地增强咱们的网络毛病扫除才能,这对真实虚拟化的网络有实质性含义。
图 1 — Lagopus FPGA 的概念和架构
现在, 咱们正在运用先进的 FPGA 和规划东西联合为 Lagopus 和网络运营商的原始硬件知识产权(IP) 规划一种先进的软件可编程数据层面,其意图不只是取得更高的体系功用,也是为下降功耗和本钱。经过与赛灵思团队协作,咱们现已在根据赛灵思 Virtex?-7 All Programmable FPGA 的 80Gbps NIC演示板上成功集成了 Lagopus 和咱们的 IP。2015 年2 月,咱们在东京举行的 NTT2015 年研制论坛上初次演示了 Lagopus FPGA。同年 8 月,咱们还在加州库比蒂诺举行的 Hot Chips 27 大会上展现了咱们的杰出成功。
咱们运用 SDNet 开发环境创立 Lagopus FPGA体系。这种新颖的动态可重编程数据层面包处理东西链让咱们可以在不影响功用的情况下,把数据包分类、修改、查找、负载均衡和核算丈量等高强度数据层面运算转交给 FPGA NIC 处理(均在10/40/100GbE 千兆位级以太网线速下完结),为 Lagopus和 NFV 运用提速。咱们以为这是咱们项意图最佳解决方案,可增强 SDN/NFV 技能的要害组成部分—— 分类 IP 的功用。该环境的快速可重装备包流水线功用让咱们可以敏捷方便地更新网络协议和功用。
SDNet 环境包含云核算数据中心和广域网中丰厚多样的用例,然后扩展了 Lagopus FPGA 的运用潜力。对 NTT 而言,这种灵敏、软件界说硬件规划技能能完结差异化网络事务的灵敏布置。
SDNet 扩展了 Lagopus FPGA 的运用潜力:这种灵敏的软件界说硬件规划技能能完结差异化网络事务的灵敏布置。
SDNet 环境奠定规划根底
跟着新式市场上 SDN/NFV 技能竞赛日趋激烈,Lagopus FPGA 项意图一大规划应战是在紧凑的开发期内完结开发,以按期进行布置和推行。咱们从 2014 年 10 月开端规划 Lagopus FPGA 体系,三个月后,即在 2015 年 1 月完结初次集成。
鉴于该体系规划的杂乱性,这是一项了不得的成果。图 1 所示是 Lagopus FPGA 体系的顶层架构,它由包含软件 FPGA IP 包在内的四个技能软件层组成:(1) NFV 运用;(2) Lagopus 软件交换机;(3)硬件笼统层,例如运用编程接口 (API)、英特尔数据面开发套件 (DPDK)、一组用于x86 快速包处理的库和驱动程序;以及 (4) FPGA NIC IP 内核套件。该多重技能软件层会增大追寻问题本源的难度,如丢包和功用下降,削弱调试和当即阻隔毛病的才能。实践上这也是一切 SDN/NFV 架构的严重难题。为战胜这些难题,咱们选用了 SDNet 环境和赛灵思Vivado? Design Suite。
咱们在发动 Lagopus FPGA 的规划作业时,先确认咱们对包处理功用的要求,并且拟定出一个开发流程。图 2 是这一开发流程的一般性介绍和SDNet标准的示例代码段。咱们决议创立一个完美匹配的滤波器。该过滤器选用来自虚拟 LAN 的要害信息。凭借这个过滤器,咱们可以把硬件分类功用卸载到FPGA NIC,在 x86 上为 Lagopus 的软件数据层面提速。咱们可运用 Lagopus 和 SDN 操控器之间的OpenFlow 协议注入流程项,从而经过 DPDK 流程指示器 API 装备滤波器项。
图 2 — SDNet 环境的规划流程
为完结这一战略,咱们创立了相应的 SDNet 功用描绘,如图 2 的代码段所示。咱们随后把该代码输入 SDNet 编译器,设定总线类型、总线宽度和生成的 RTL 类型等选项。编译在数秒钟内完结。SDNet功用描绘的实践代码规划大约为 250 行代码。相比之下,等效的 RTL 需要由数万行代码构成。考虑到咱们的作业日程严重,咱们非常赏识 SDNet 标准的简洁性。受咱们开发时刻的束缚,要在 RTL 中从头规划并验证这一杂乱模块是无法做到的。
下一步咱们运用东西指令言语 (Tcl) 外壳程序,将生成的 RTL 与 Vivado Design Suite 上的其他外设IP 集成在一起。图 3 所示为集成式 SDNet 分类器和咱们定制的流程分配器。咱们的方针编程器材是赛灵思 Virtex-7 XC7VX690T FPGA。
图 3 — FPGA 流程分类与分配
凭借 Lagopus FPGA,咱们仅以 x86 功耗上升缺乏10% 为价值,便完结了 40Gbps 线速软件包处理才能。
因为分类后的包流(指向 32 个接纳 [rx]DMA行列)经过在 x86 多核 CPU 上作业的 Lagopus 的软件数据层面可以得到有用分配,这种集成 FPGA 规划让体系不只能削减 Lagopus 的 OpenFlow 作业线程占用的 CPU 周期,并且还可平衡每个内核的作业负荷(图 3)。因而,, 咱们运用 Lagopus FPGA 完结了更高功用—— 到达 40Gpbs 线速软件包处理才能,并且支付的价值仅仅是 x86 CPU 的功耗增大不到 10%(如图 4 所示)。
图 4 — 功用与功耗联络图
SDNet 环境与 Vivado Design Suite 结合运用,有助于咱们项意图发动,让咱们可以最大程度地丰厚Lagopus FPGA 体系的特性集,优化功用并下降功耗。NTT 研制部在 SDN/NFV 范畴的领先地位,加上咱们对赛灵思 SDNet 开发环境的运用,让咱们为电信和云根底架构将带来革命性改变。为此,咱们将持续运用软界说、可重编程的 SDNet 负载模块来优化咱们的规划办法。包含 API 在内的 SDNet 标准的不断快速修改在咱们规划未来渠道时能为咱们供给更多好处。
『本文转载自网络,版权归原作者一切,如有侵权请联络删去』