基于FPGA的高速光纤链路的PCIe接口实现外文翻译资料
2022-07-27 10:39:38
英语原文共 105 页,剩余内容已隐藏,支付完成后下载完整资料
基于FPGA的高速光纤链路的PCIe接口实现
艾丹·卡德瑞德
电气与计算机工程系
麦吉尔大学
加拿大蒙特利尔
2011年10月
摘要
本文介绍了一种基于光纤的高速接口的设计与实现。该系统的特殊在于每台计算机与光纤链路之间的现场可编程门阵列(FPGA)中传输数据。在两台不同计算机上运行的两个C程序之间交换数据的全双工速度超过8Gbit/s,包括编码、协议和软件开销。该设计适用于需要高带宽的两台计算机之间的应用,由于FPGA可以看到所有的数据,它可以作为一个快速灵活的数据处理工具:误差校正、调试支持、数据分析、加密和压缩都可以应用于FPGA以节省中央处理单元(CPU)大量的运算周期。
目录
第一章 介绍
1.1 动机
1.1.1 更快的光纤链路和应用
对更快的互联网接入和高质量的多媒体传输需求的增加,导致了计算机网络带宽性能的快速增长。双绞线以太网长期以来一直是局域网(LAN)通信中的节点选择的链路,并且从最近开始被越来越多的不是更快、而是更方便的Wi-Fi技术取代。以太网由1973年至1974年由帕洛阿尔托研究中心(帕尔奇)开发,并于1980年首次在商业上引入[5]。首先为10Mbit/s的速度设计,后来的标准将此值提高到100Mbit/s,然后1gbit技术,也称为千兆以太网(GbE或1GigE),在1999年推出,带宽为1Gbit/s。但是传统的基于铜缆的物理实现无法满足高速网络的最新需求,并且由于它们具有更高的衰减和干扰,它们不断被光纤电缆取代。这是一些1Gb以太网标准的情况,对于最近发布的10个千兆以太网标准,以及40个千兆以太网和100个千兆以太网,首先在2008年提出并于2010年6月批准。不同类型光纤的使用是根据电缆的功能(单模式或多模式)和目标通信的距离而定的。
摩尔定律指出,以低成本提供的晶体管数量每两年增加一倍。传统上,这种趋势已经通过减少晶体管尺寸来满足,这反过来又使处理器的时钟频率连续增加。但是随着目前的技术达到极限,晶体管密度和时钟频率不像以前那样增加。最近的研究包括通过移动到多核架构来提高计算能力也是其中之一。在高性能分布式计算应用中,目前常见的2、4或8核心计算机性能不够,只有几个计算节点可以使用,而这些节点通常由不同的计算机组成。这些节点不是同一台机器的一部分,因此整个计算系统的一个关键元素是不同节点之间的互连。以太网是可以用于连接不同节点的标准之一。无限带宽技术是业界标准的高性能互连的另一个流行示例,它旨在最大限度地减少延迟和最大化带宽。
这些互连的带宽能力的演变还必须伴随互连和计算机内存之间输入/输出(I/O)的改进:这是通过外围组件互连快速(PCIe)等标准实现的。该行业标准自1993年首次引入PCI以来就有几个演进。不同的几代一直不断提高带宽能力,以满足各种应用程序不断提高的I/O性能要求。本工作中使用作为PCIe2.0,能够实现每路5.0Gbit/s的带宽。已发布的研究[27]使用作为PCIe评估四倍数据速率(QDR)无限带宽技术的性能,并强调这种互连在高性能计算领域的重要性。
1.1.2在链路中存在的FPGA的动机
在本文中所描述的工作中,两个节点是受到关注的,并且它们之间要实现高带宽。使用的光纤互连基于1000base-X系列(可以用于千兆以太网实现)。光纤通道与位于FPGA芯片中的接口相连。在本设计中,信道由运行在6.25Gbit/s的带宽上的收发器控制使用,虽然它支持10个千兆以太网,以及一些其他高速接口标准,包括超传输和快速IO口,但是本文中提供的设计更加客制化。
在CPU周期成为一种稀缺资源的高级环境中,FPGA查看数据通过两个节点可以大大降低CPU的负载,特别是对于常见的FPGA高效的可平行的任务,如纠错、加密和压缩。例如,高带宽和监视功能的设计表明,在门级逻辑模拟的使用中可以看到大量的状态变化,这是当今电子设计、测试和商业化周期中的一个关键因素。在[3]和[4]中实现了类似的FPGA和光纤数据采集系统。这种体系结构和通信协议基于主从系统,其中PCIe卡是控制可扩展数量的前端卡(从机)的主控制器。PCIe连接一台计算机到FPGA板,还配备了光纤链路到前端卡。其作者报告了1.6Gbit /s数据传输速率的稳定性,以支持德国开发新的反质子和离子研究加速器设施。PCIe链路的性能与本文中所介绍的工作大致相同,仅比这慢两倍,因为它们使用第一代PCIe,而在这里使用第二代。他们的设计也证明了FPGA在通信链路中的可行用途,因为它用于各种任务,如脉冲形状分析。
1.1.3 PCIe接口的作用
PCIe是在现代高性能多核配置中集成的标准端口。PCIe的标准化和广泛使用的重要点在于:他们表明本文中所述的设计可以轻松集成在各种配置中,因为接口与计算节点之间的链路仅包括标准PCIe2.0的互连。例如, PCIe2.0集成在最近的第4代ultrasparc处理器[28]中。事实上,PCI标准对实现的PCI软件的透明性是影响其在工业上广泛采用的重要因素。作为另一个示例, PCIe接口也是IBM超级计算机设计中的关键组件。这在[30]中已阐述, PCIe接口的通道变量的定制提高了其走鹃超级计算机的性能,并且无需修改整个系统体系结构。
此处描述的实现是采用标准的方法将PCIe用作的主机和I/O子系统之间的链路,并附带了用于主机到主机通信的自定义光纤链路。事实上, PCIe无法直接连接两台主机,而专用群集通常用于接口,此种接口通常由无限带宽或以太网链路组成。文中还探讨了创建此类接口的其他方法,如试图解决直接用于主机到主机通信的PCIe的缺点,并比较了PCIe链路的潜在性能与基于10GigE的链路的潜在性能。虽然[29]使用第一代PCIe实现,但它的性能优于10GigE。
在这里描述的工作中,使用了PCIe2.0,从而实现了相同数量通道的双倍带宽。其性能接近[29]所述,并且差异可能归因于所用计算机的处理器和内存速度。
1.2 系统设置
该设计包括两台计算机连接到Altera公司的开发和教育板4 (DE4开发板)通过一个PCIe第2代链接X4通道。DE4配备了Stratix IV的FPGA,它暂时存储其内部存储器中传输的数据。高速夹层连接器( HSMC)将DE4连接到带有8个小型可插拔( SFP)的子卡中。其中四条用于连接四条双向光纤光缆。图1.1显示了配置的框图。
图1.1 硬件设计的高级视图
对于PCIe链路,无需开销的理论可实现数据速率为每通路4Gbit/s。对于光纤来说,它是每通道5 Gbit/s。使用4根PCIe通道和4根光纤缆线,使两个链路分别达到16 Gbit/s和20 Gbit/s。此外,光纤链路由于其与软件的接口而产生了更多的开销,可能成为设计的最终瓶颈,从而影响整个系统的性能。
工作是从Altera的PCIe硬件IP(知识产权)块开始的。它与利昂和尼古拉斯编写的altPCIechdma(阿尔特拉链接直接内存访问)驱动程序有关系,并在Linux内核中提供。设计的另一个主要部分是光纤接口,它基于terasic为其SFP子卡提供的环回演示的源代码。驱动器和PCIe接口都需要重要的更改,以便能够更快、更灵活地与FPGA内部内存通信,并在软件级别更方便地使用。光学通信逻辑被修改为包括8b/10b编码、内部可控复位、信道连接、信道对准和传输的开始/结束。同事还通过在两个节点之间引入自定义同步机制的修改,使得它在两个节点之间支持通信,而不是环回测试。该系统还要求实现PCIe逻辑、光通信逻辑和FPGA内部存储器之间的接口。修改详见第三节。
1.3 大纲
第二节介绍了关于系统主要要素的背景资料。它提供了对FPGA、PCIe协议和光纤的开发以及
全文共40728字,剩余内容已隐藏,支付完成后下载完整资料
资料编号:[144420],资料为PDF文档或Word文档,PDF文档可免费转换为Word