Abstract A new framework for the development and execution of real-time codes is currently being developed and commissioned at JET. The foundations of the system are Linux, the Real Time Application Interface (RTAI) and a wise exploitation of the new i386 multi-core processors technology. The driving motivation was the need to find a real-time operating system for the i386 platform able to satisfy JET Vertical Stabilisation Enhancement project requirements: 50 μs cycle time. Even if the initial choice was the VxWorks operating system, it was decided to explore an open source alternative, mostly because of the costs involved in the commercial product. The work started with the definition of a precise set of requirements and milestones to achieve: Linux distribution and kernel versions to be used for the real-time operating system; complete characterization of the Linux/RTAI real-time capabilities; exploitation of the multi-core technology; implementation of all the required and missing features; commissioning of the system. Latency and jitter measurements were compared for Linux and RTAI in both user and kernel-space. The best results were attained using the RTAI kernel solution where the time to reschedule a real-time task after an external interrupt is of 2.35 ± 0.35 μs. In order to run the real-time codes in the kernel-space, a solution to provide user-space functionalities to the kernel modules had to be designed. This novel work provided the most common functions from the standard C library and transparent interaction with files and sockets to the kernel real-time modules. Kernel C++ support was also tested, further developed and integrated in the framework. The work has produced very convincing results so far: complete isolation of the processors assigned to real-time from the Linux non real-time activities, high level of stability over several days of benchmarking operations and values well below 3 μs for task rescheduling after external interrupt. From being the alternative option, RTAI has been finally chosen as the platform for the project. A first stable version of the framework has been integrated on the JET system and is already being commissioned. It will be soon be used on the Vertical Stabilisation Enhancement for the Plasma Control Upgrade (PCU) project at JET.
[1]
Luca Zaccarian,et al.
Using Real Time Workshop for rapid and reliable control implementation in the Frascati Tokamak Upgrade Feedback Control System running under RTAI-GNU/Linux
,
2005
.
[2]
Alfredo Pironti,et al.
A flexible software for real-time control in nuclear fusion experiments
,
2006
.
[3]
C.A.F. Varandas,et al.
ATCA digital controller hardware for vertical stabilization of plasmas in tokamaks
,
2006
.
[4]
A. Murari,et al.
Real-time measurement and control at JET signal processing and physics analysis for diagnostics
,
2005
.
[5]
G. Manduchi,et al.
Performance Comparison of VxWorks, Linux, RTAI, and Xenomai in a Hard Real-Time Application
,
2008,
IEEE Transactions on Nuclear Science.
[6]
Filippo Sartori,et al.
Plasma vertical stabilisation at JET using adaptive gain adjustment
,
1997,
17th IEEE/NPSS Symposium Fusion Engineering (Cat. No.97CH36131).
[7]
E. Joffrin,et al.
Real time safety factor profile determination in JET
,
2003
.
[8]
George K. Thiruvathukal.
Gentoo Linux: the next generation of Linux
,
2004
.
[9]
P. J. Lomas,et al.
n=2 Compensation and variable gains for JET vertical stabilisation
,
2003
.