http://adambarta.github.com/spead/ S-P-E-A-D S.E.R.V.E.R usage: ./spead -w [workers (d:4)] -p [port (d:8888)] -b [buffers (d:10)] -l [buffer length (d:10)] This is a multicore implementation of the Streaming Protocol for Exchange of Astronomy Data (SPEAD). Workers refer to subprocesses used to capture and process UDP packets. Defaults to amount of processor cores Port (duh) Buffers can be thought of as hash tables where packets will be inserted which are backed by linked lists. b defines the amount of the hash tables l defines the length of the hash tables ┏━┓┏━┓┏━╸┏━┓╺┳┓ ┏━┓┏━╸┏━┓╻ ╻┏━╸┏━┓ ┗━┓┣━┛┣╸ ┣━┫ ┃┃ ┗━┓┣╸ ┣┳┛┃┏┛┣╸ ┣┳┛ ┗━┛╹ ┗━╸╹ ╹╺┻┛ ┗━┛┗━╸╹┗╸┗┛ ┗━╸╹┗╸ Utils ----- pipespead used to process a tcpdump'd spead stream and retransmitt spead packets to udp tcpdump -B 10240 -s0 -i ethX -nn -U -w - port [spead_port] | pipespead 224.0.0.1 8888 this will snarf udp spead packets and send them to multicast use something like to recv them socat UDP4-RECVFROM:8888,ip-add-membership=225.0.0.37:yourip,fork - | hd GPU --- This folder contains some examples of how to leverage the spead coalescing server api, each example is compiled into a dynmically linkable object or (.so) file. To use the api each component must implement the spead_api_setup, spead_api_destroy, and spead_api_callback functions. dummy used to receive data and format it for display in gnuplot as a 2d heat map ocl used to execute opencl kernels on spead data streams fft cuda (cufft) example used to fft a spead data stream