Xilinx FPGA 助力高性能 SDN
时间:09-07
来源:互联网
点击:
SDN 交换设计
SDN 表示就有关如何构建网络设备方面与传统观念分道扬镳。SDN 的一项关键要求是,较之于传统的固定功能硬件,可重编程硬件在构建和销售方面极富竞争力。发挥这一理念,SDN 为网络推出方式带来革命性变化。传统网络设计的原理现在可以显著改进。
以下是激起人们对 SDN 的关注的三个主要因素。
1. 用于解决新网络问题的新网络协议的速度
一项新的网络协议至少需要三年时间才能完成其标准化流程。还需要两到三年时间在硬件中实现,然后才能最终部署。通过 SDN,新协议是通过软件实现,并且几乎是立即部署在安装的系统中。这将周期从五年降至短短数月。
2. 基于开放硬件平台,创新网络创意的精英化
标准更注重策略而非技术。经各方争执和修改,最终的规范是代表各方立场的妥协版本。在此过程中,实力较小的一方通常被忽略或无视。通过 SDN,任何人都可以制定协议并供行业使用。如果运营商看到优势,协议便会繁荣发展,否则便会消亡。要让最佳技术理念取胜,这种“适者生存”的方法是更加可靠的选择过程。
3. 针对尚未开发的协议,通过现场升级来复用基础设施
每年在新网络设备方面的花费达到了数十亿美元。这些设备的生命周期是三到五年。在购买设备时尚未开发的任何协议或功能通常必须等待三到五年,直到设备更新后方可使用。通过 SDN,新协议很有可能能够立即部署在现场的设备中。将设备的生命周期延长到超过五年已成为现实,同时为即将出现的新功能提供即时可用性。
FPGA 对比 ASIC
为增强竞争力,SDN 交换要求高性能、灵活性和大规模,这些要求都以价格合理的套装形式提供。传统观念认为,需要固定功能 ASIC 才能构建此类有竞争力的系统。这在 28nm 技术节点出现之前的确如此。但是,在 28nm 及之后,FPGA 已经达到了颠覆性规模。它们不再是用于胶合逻辑的大型 PLD 器件。相反,它们终于实至名归,不负上世纪九十年代早期赋予它们的“现场可编程门控阵列”这一称号。
FPGA 技术现在的性能、灵活性和可扩展性如此之高,足以满足网络架构师所需的 SDN 属性列表要求。首先 IP 库、存储器和 I/O 等一些关键方面凸显了 FPGA 技术会给 SDN 带来明显优势。
就 IP 而言,已经使用 FPGA 中的标准单元实现了基本网络功能。其中有大型模块,包括数十个 10/100G 以太网 MAC、PCIe® 接口、Interlaken 接口、嵌入式 ARM® 内核和 DDR3 接口。这些 IP 核为 SDN 交换机设计师提供了大量预先设计和预先优化的模块。
在网络设备中,规模很关键。有助于形成规模的一个特定方面就是存储器,对于包交换,需要大量小型存储结构。这些存储结构提供的带宽和容量,可支持 TB 级或更多流量输入输出处理单元。FPGA 存储器进行了优化且占用芯片面积最小,因此有助于实现 TB 级路由规模。
就 I/O 而言,网络需要大量串行解串器接口,每个接口均包含大量模拟组件、功率放大器和数字逻辑。I/O 专用芯片面积可能过多。FPGA 技术具有卓越的 I/O 模块,就其芯片面积占用而言,能够与网络 ASIC 媲美。
在对芯片面积增加了上述促进因素以后,显然可以看到,基础 FPGA 技术以最佳方式至少将 ASIC 的复杂度降低一半,另外 50% 或更低的芯片面积可考虑用于 CLB 或标准单元。鉴于销量相对较低的网络 ASIC 业务的价值定价(10 万套被视为大数量),任何差价都会水落石出。
这对于 SDN 则意味着我们突然拥有了一个现场可编程的高度可编程平台,以支持先前需要百万美元 NRE 和巨大 ASIC 开发的多种系统。这类似于在所有书籍需要用羽毛笔和墨水瓶书写一次的时代发明了印刷术。
CORSA 的性能 SDN
在 Corsa,我们认识到,网络市场中有两种颠覆性的趋势。第一种是对可编程网络元件的渴望;第二种是 FPGA 作为固定功能芯片替代品的出现。因此我们开始了设计理想的 SDN 交换机的任务。图 3 中显示了此类设备的系统架构。
高性能 SDN 交换机有两个组件。其具有性能很高的包分类引擎,这是交换机结构的先驱。分类器在 OpenFlow 规范中定义为一系列匹配操作表,这些操作表检查包报头并根据包中各种协议的源和目标字段来制定转发决策。一旦制定了转发决策,包进入第二个组件:能够缓冲和交换 TB 级数据的高速交换机结构。
这些数据速率所必需的带宽和容量对于性能 SDN 交换机的物理架构有着显著影响。这些交换机需要 100ms 或更多的包缓冲,以在大量聚合点中(比如在 WAN 或园区边缘)存在流量堵塞的情况下保持高吞吐量。对于 640 Gb 的前面板带宽,可用以下计算得出:
640 Gbps * 0.1 s = 64 Gb 包缓冲存储器
对于 Corsa,这是使用 FPGA 脱颖而出的地方。实现性能 SDN 所需要的存储密度的唯一存储技术是 DDR3 存储器。在 28nm 中,DDR3-1600 是最快速的存储器。为了以全线路速率写入并读取每个包,我们需要 1.28Tb 的存储带宽。在考虑了访问效率低下这一因素之后,单个 DDR3 DIMM 模块能够处理约 64Gb 的流量。这意味着我们需要 10 个 DDR3 DIMM 模块才能为 Internet 规模的 SDN 交换机提供包缓冲。
由于单个 FPGA 无法托管如此多的 RAM,因此导致我们立即通过每个 FPGA 大约三个 DIMM 来寻求分布式架构。我们随后增加了额外的内存容量和带宽以存储 OpenFlow 流水线的包分类数据,如 IPv4 地址、MAC 地址、隧道 ID 等。这为我们带来了每个流水线两个 FPGA 的通道实现方案(每个流水线六个 DDR3 DIMM)。流水线通道与通过架构 FGPA 构建的定制交换机结构绑定在一起,并且控制层通过具备 PCIe 3.0 连接的 Xeon 处理器绑定到包转发引擎(图 4)。
这种设计为我们提供了大量门控,海量的存储带宽和容量以及超高速的控制层连接。利用 OpenFlow 的灵活性,Corsa 构建了用于 Internet 协议规模的路由器、MPLS 交换机、100-Gig 防火墙和 DPI 负载均衡器的线路速率处理引擎,以及众多其他网络用例,绝对无需修改硬件架构,且不影响性能。我们看到网络功能虚拟化 (NFV) 服务链的出现令人有些满意;网络服务报头和协议仍在草拟之中。
SDN 表示就有关如何构建网络设备方面与传统观念分道扬镳。SDN 的一项关键要求是,较之于传统的固定功能硬件,可重编程硬件在构建和销售方面极富竞争力。发挥这一理念,SDN 为网络推出方式带来革命性变化。传统网络设计的原理现在可以显著改进。
以下是激起人们对 SDN 的关注的三个主要因素。
1. 用于解决新网络问题的新网络协议的速度
一项新的网络协议至少需要三年时间才能完成其标准化流程。还需要两到三年时间在硬件中实现,然后才能最终部署。通过 SDN,新协议是通过软件实现,并且几乎是立即部署在安装的系统中。这将周期从五年降至短短数月。
2. 基于开放硬件平台,创新网络创意的精英化
标准更注重策略而非技术。经各方争执和修改,最终的规范是代表各方立场的妥协版本。在此过程中,实力较小的一方通常被忽略或无视。通过 SDN,任何人都可以制定协议并供行业使用。如果运营商看到优势,协议便会繁荣发展,否则便会消亡。要让最佳技术理念取胜,这种“适者生存”的方法是更加可靠的选择过程。
3. 针对尚未开发的协议,通过现场升级来复用基础设施
每年在新网络设备方面的花费达到了数十亿美元。这些设备的生命周期是三到五年。在购买设备时尚未开发的任何协议或功能通常必须等待三到五年,直到设备更新后方可使用。通过 SDN,新协议很有可能能够立即部署在现场的设备中。将设备的生命周期延长到超过五年已成为现实,同时为即将出现的新功能提供即时可用性。
FPGA 对比 ASIC
为增强竞争力,SDN 交换要求高性能、灵活性和大规模,这些要求都以价格合理的套装形式提供。传统观念认为,需要固定功能 ASIC 才能构建此类有竞争力的系统。这在 28nm 技术节点出现之前的确如此。但是,在 28nm 及之后,FPGA 已经达到了颠覆性规模。它们不再是用于胶合逻辑的大型 PLD 器件。相反,它们终于实至名归,不负上世纪九十年代早期赋予它们的“现场可编程门控阵列”这一称号。
FPGA 技术现在的性能、灵活性和可扩展性如此之高,足以满足网络架构师所需的 SDN 属性列表要求。首先 IP 库、存储器和 I/O 等一些关键方面凸显了 FPGA 技术会给 SDN 带来明显优势。
就 IP 而言,已经使用 FPGA 中的标准单元实现了基本网络功能。其中有大型模块,包括数十个 10/100G 以太网 MAC、PCIe® 接口、Interlaken 接口、嵌入式 ARM® 内核和 DDR3 接口。这些 IP 核为 SDN 交换机设计师提供了大量预先设计和预先优化的模块。
在网络设备中,规模很关键。有助于形成规模的一个特定方面就是存储器,对于包交换,需要大量小型存储结构。这些存储结构提供的带宽和容量,可支持 TB 级或更多流量输入输出处理单元。FPGA 存储器进行了优化且占用芯片面积最小,因此有助于实现 TB 级路由规模。
就 I/O 而言,网络需要大量串行解串器接口,每个接口均包含大量模拟组件、功率放大器和数字逻辑。I/O 专用芯片面积可能过多。FPGA 技术具有卓越的 I/O 模块,就其芯片面积占用而言,能够与网络 ASIC 媲美。
在对芯片面积增加了上述促进因素以后,显然可以看到,基础 FPGA 技术以最佳方式至少将 ASIC 的复杂度降低一半,另外 50% 或更低的芯片面积可考虑用于 CLB 或标准单元。鉴于销量相对较低的网络 ASIC 业务的价值定价(10 万套被视为大数量),任何差价都会水落石出。
这对于 SDN 则意味着我们突然拥有了一个现场可编程的高度可编程平台,以支持先前需要百万美元 NRE 和巨大 ASIC 开发的多种系统。这类似于在所有书籍需要用羽毛笔和墨水瓶书写一次的时代发明了印刷术。
CORSA 的性能 SDN
在 Corsa,我们认识到,网络市场中有两种颠覆性的趋势。第一种是对可编程网络元件的渴望;第二种是 FPGA 作为固定功能芯片替代品的出现。因此我们开始了设计理想的 SDN 交换机的任务。图 3 中显示了此类设备的系统架构。
高性能 SDN 交换机有两个组件。其具有性能很高的包分类引擎,这是交换机结构的先驱。分类器在 OpenFlow 规范中定义为一系列匹配操作表,这些操作表检查包报头并根据包中各种协议的源和目标字段来制定转发决策。一旦制定了转发决策,包进入第二个组件:能够缓冲和交换 TB 级数据的高速交换机结构。
这些数据速率所必需的带宽和容量对于性能 SDN 交换机的物理架构有着显著影响。这些交换机需要 100ms 或更多的包缓冲,以在大量聚合点中(比如在 WAN 或园区边缘)存在流量堵塞的情况下保持高吞吐量。对于 640 Gb 的前面板带宽,可用以下计算得出:
640 Gbps * 0.1 s = 64 Gb 包缓冲存储器
对于 Corsa,这是使用 FPGA 脱颖而出的地方。实现性能 SDN 所需要的存储密度的唯一存储技术是 DDR3 存储器。在 28nm 中,DDR3-1600 是最快速的存储器。为了以全线路速率写入并读取每个包,我们需要 1.28Tb 的存储带宽。在考虑了访问效率低下这一因素之后,单个 DDR3 DIMM 模块能够处理约 64Gb 的流量。这意味着我们需要 10 个 DDR3 DIMM 模块才能为 Internet 规模的 SDN 交换机提供包缓冲。
由于单个 FPGA 无法托管如此多的 RAM,因此导致我们立即通过每个 FPGA 大约三个 DIMM 来寻求分布式架构。我们随后增加了额外的内存容量和带宽以存储 OpenFlow 流水线的包分类数据,如 IPv4 地址、MAC 地址、隧道 ID 等。这为我们带来了每个流水线两个 FPGA 的通道实现方案(每个流水线六个 DDR3 DIMM)。流水线通道与通过架构 FGPA 构建的定制交换机结构绑定在一起,并且控制层通过具备 PCIe 3.0 连接的 Xeon 处理器绑定到包转发引擎(图 4)。
这种设计为我们提供了大量门控,海量的存储带宽和容量以及超高速的控制层连接。利用 OpenFlow 的灵活性,Corsa 构建了用于 Internet 协议规模的路由器、MPLS 交换机、100-Gig 防火墙和 DPI 负载均衡器的线路速率处理引擎,以及众多其他网络用例,绝对无需修改硬件架构,且不影响性能。我们看到网络功能虚拟化 (NFV) 服务链的出现令人有些满意;网络服务报头和协议仍在草拟之中。
FPGA SoC 赛灵思 PCB 嵌入式 ARM 放大器 相关文章:
- 一种基于电力线的家庭以太网络实现方法(10-10)
- 基于DSP和FPGA的机器人声控系统设计与实现 (04-16)
- 面向大众市场的千兆位级收发器(05-04)
- 利用以太网硬件在环路实现高带宽DSP仿真(05-04)
- 采用软处理器IP规避器件过时的挑战(05-04)
- WCDMA系统基带处理的DSP FPGA实现方案(01-02)