The ITER Radial Neutron Camera (RNC) Data Acquisition (DAQ) prototype is based on the PCIe protocol as the interface to be used between the I/O unit and the host computer, allowing the scalability of the final RNC DAQ system. The prototype architecture comprises two digitizer modules with two channels in each, installed in the host computer and the maximum produced data throughput is up to 1.6 GB/s per board, allowing a sustainable 2 MHz peak event to cope with the long plasma discharges, up to half an hour. The Linux Device Driver provides the interface between the hardware and the host applications running on a high-performance computer, which receives the acquired data through the Direct Memory Access (DMA) channels. The preliminary tests show that the Linux kernel miss some hardware interrupts when the time between interrupts is in the microsecond scale, which implies data loss if a traditional read technique based on interrupt handling is implemented. The direct usage of the polling mechanisms to retrieve the data is not suitable as the variable event rate over the same discharge does not allow to define an optimal fixed-time to retrieve data and identify missing data packets. This contribution presents the architecture, implementation and test of a different device driver approach using the polling mechanism which improves the performance and reliability. This allows the device driver to automatically check and transfer missing data blocks, recovering the data losses transparently for the host applications. The performance results for tests with different event data rates and duration up to an hour are also presented.
|Titolo:||Linux device driver for Radial Neutron Camera in view of ITER long pulses with variable data throughput|
|Data di pubblicazione:||2019|
|Appare nelle tipologie:||1.1 Articolo in rivista|