A real-time Linux application utilizing RTAI to process real-time data from the radio astronomy correlator for the Atacama Large Millimeter Array (ALMA) is described. The correlator is a custom-built digital signal processor which computes the cross-correlation function of two digitized signal streams. ALMA will have 64 antennas (2016 signal streams) each with a sample rate of 4 giga-samples/second. The correlator's aggregate data output will be 1 GB/sec.
The designed computer system (Correlator Data Processor or CDP) consists of a cluster of 16 compute nodes with a master controller node all running RTAI-patched Linux kernels. Each compute node uses an RTAI kernel module to interface to a 32-bit PCI parallel interface which accepts 64 MB/sec. These data are transferred to RTAI-enhanced processes in Linux user space (LXRT) to perform data filtering, data windowing, FFTs, and phase corrections for a processing rate of approximately 1 GFLOPS.
Timing signals are distributed to all seventeen computer nodes in order to synchronize them to other time-dependent devices in the observatory array. RTAI kernel tasks interface to the timing signals providing sub-millisecond timing resolution.
The CDP interfaces, via the master node, to other computer systems on an external intranet for command and control, data storage, and further data (image) processing. The master node accesses these external systems utilizing ALMA Common Software (ACS), a CORBA-based client-server software infrastructure providing logging, monitoring, data delivery, and intra-computer function invocation.