ZeroMQ implementation in SME

ZeroMQ is a low-level transport protocol that is increasingly being used for scientific equipment. As an example many high-end X-ray detectors can stream detector data in real time using ZeroMQ. In the current setup, a machine captures the ZeroMQ stream and writes it to a storage system. Later the data is read, and extensive analysis is performed on the captured image frames. It turns out that many of the captured frames are actually empty (or contains no relevant data). With a ZeroMQ library, it would be possible to stream data into an FPGA and discard unwanted frames in-transit, thus reducing the traffic to the storage system as well as the processing required in subsequent data analysis. Due to the high bandwidth and stability requirements of the setup it would be undesirable to perform the processing on traditional CPUs or GPGPUs.

Tags: sme hardware fpga network zeromq

Activities: Implement a ZeroMQ library in SME that can run on FPGA hardware

Contact: Kenneth Skovhede <>, Brian Vinter <>

Area: Masters