This code is part of the realtime pipeline for the AA-ALERT project.
Its purpose is to copy data from the network (UDP packets) into a ringbuffer (provided by the PSRdada package), and do some checking.
See the technical documentation in the doc
directory.
Packages are read and processed in batches; additional performance tuning on the OS level was needed to handle the approx. 2.5GB per second requiered.
Requirements:
- Cmake
- Psrdada
Note that psrdada could add an additional dependency on CUDA.
Instructions:
$ mkdir build && cd build
$ cmake .. -DCMAKE_BUILD_TYPE=release
$ make
$ make install
You can link to a local installation of PSRDADA by setting the LD_LIBRARY_PATH
and PSRDADA_INCLUDE_DIR
enviroment variables.
Commandline arguments:
-h <heaer_file>
A file containing metadata, it will be read and entered as header into the ringbuffer.-k <hexadecimal_key>
The key identifying the ringbuffer. It is parsed using sscanf so hexadecimal (0xdada) notation is allowed.-s <start packet number (long)>
The packet number (ie. timestamp, see documentation) where the observation starts.-d duration in seconds (float)>
The duration of the observation in seconds.-p <port (int)>
The network port to listen to.-l logfile
Filename to use for logging.
Jisk Attema, Netherlands eScience Center Leon Oostrum, UvA Gijs Molenaar