[论文解读] Streaming Message Interface: High-Performance Distributed Memory Programming on Reconfigurable Hardware
该论文提出流式消息接口(SMI),一种用于可重构硬件上分布式内存编程的高性能、低开销通信模型,通过流式消息实现FPGA之间的直接、流水线通信。SMI通过将消息视为瞬态的、逐周期的通道,与高层次综合(HLS)无缝集成,避免主机介入,在专用FPGA互连上实现高带宽和低延迟。
Distributed memory programming is the established paradigm used in high-performance computing (HPC) systems, requiring explicit communication between nodes and devices. When FPGAs are deployed in distributed settings, communication is typically handled either by going through the host machine, sacrificing performance, or by streaming across fixed device-to-device connections, sacrificing flexibility. We present Streaming Message Interface (SMI), a communication model and API that unifies explicit message passing with a hardware-oriented programming model, facilitating minimal-overhead, flexible, and productive inter-FPGA communication. Instead of bulk transmission, messages are streamed across the network during computation, allowing communication to be seamlessly integrated into pipelined designs. We present a high-level synthesis implementation of SMI targeting a dedicated FPGA interconnect, exposing runtime-configurable routing with support for arbitrary network topologies, and implement a set of distributed memory benchmarks. Using SMI, programmers can implement distributed, scalable HPC programs on reconfigurable hardware, without deviating from best practices for hardware design.
研究动机与目标
- 解决高层次综合(HLS)编程中分布式FPGA系统缺乏统一、高性能通信模型的问题。
- 通过专用FPGA互连实现直接、低延迟的FPGA间消息传递,消除主机中介通信开销。
- 统一消息传递语义与硬件流模型,实现与流水线HLS设计的无缝集成。
- 提供熟悉、类似MPI的API,支持多FPGA系统中的动态路由和任意网络拓扑。
- 通过在支持OpenCL的英特尔FPGA上实现参考原型和分布式内存基准测试,证明SMI的可行性和性能。
提出的方法
- SMI引入一种流式通信模型,其中消息并非批量传输,而是逐周期流式传输,从而可无缝集成到流水线HLS设计中。
- 该模型使用瞬态的、运行时可配置的通道,在数据传输前建立,模仿MPI语义但针对硬件流进行优化。
- 高层次综合实现针对专用FPGA互连,支持任意网络拓扑和动态路由。
- API设计对HPC开发者友好,借鉴MPI但针对流式和硬件感知编程进行适配。
- 通过高速串行链路(如30–40 Gbps)在FPGA之间直接路由数据,避免主机内存和PCIe瓶颈。
- 发布开源参考实现,目标为支持OpenCL的英特尔FPGA,支持点对点和集合通信模式。
实验结果
研究问题
- RQ1如何在不依赖主机内存或PCIe的前提下,高效地将消息传递集成到流水线化、高层次综合的FPGA设计中?
- RQ2何种通信模型能够实现在分布式内存系统中低延迟、高带宽且灵活的FPGA间通信?
- RQ3基于流的接口能否统一消息传递语义与硬件流模型,同时保持HPC开发者的工作效率?
- RQ4SMI的运行时可配置路由和对任意拓扑的支持如何提升多FPGA系统中的可扩展性和灵活性?
- RQ5SMI相较于主机中介或RTL级方法,在HLS编程中能将通信开销降低多少?
主要发现
- SMI通过专用高速串行链路实现FPGA之间的直接、无主机通信,消除了PCIe和主机内存瓶颈。
- 流式模型允许数据逐周期发送和接收,与流水线HLS设计无缝集成,降低缓冲开销。
- 接口支持动态、运行时可配置的路由和任意网络拓扑,提升分布式FPGA系统的灵活性。
- 参考实现表明SMI可高效地在支持OpenCL的英特尔FPGA上综合与部署,支持可扩展的HPC工作负载。
- SMI提供熟悉、类似MPI的API,使HPC开发者无需偏离硬件设计最佳实践即可编写分布式FPGA程序。
- SMI的开源发布促进了HPC和硬件社区的采纳与扩展,推动FPGA在高性能计算中的更广泛应用。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。