Corundum是一个基于FPGA的开源原型平台,用于高达100 Gbps及更高的网络接口开发。Corundum平台包括一些用于实现实时,高线速操作的核心功能,包括:高性能数据路径,10G / 25G / 100G以太网MAC,PCI Express第3代,自定义PCIe DMA引擎以及本机高精确的IEEE 1588 PTP时间戳。一个关键功能是可扩展队列管理,它可以支持超过10,000个队列以及可扩展的传输调度程序,从而可以对包传输进行细粒度的硬件控制。结合多个网络接口,每个接口多个端口以及每个端口事件驱动的传输调度,这些功能可实现高级网络接口,体系结构和协议的开发。这些硬件功能的软件接口是Linux网络协议栈的高性能驱动程序。该平台还支持分散/聚集DMA,校验和卸载,接收流散列和接收端缩放。一个全面的,基于Python的开放源代码仿真框架促进了开发和调试,该框架包括整个系统,从驱动程序和PCI Express接口的仿真模型到以太网接口。通过实现微秒级时分多址(TDMA)硬件调度程序,以100 Gbps的线速执行TDMA调度,而没有CPU开销,证明了Corundum的强大功能和灵活性。
1