NSTX-U Advances in Real-Time C++11 on Linux

被引:2
|
作者
Erickson, Keith G. [1 ]
机构
[1] Princeton Univ, Plasma Phys Lab, Princeton, NJ 08540 USA
关键词
Computer languages; real-time systems; software design;
D O I
10.1109/TNS.2015.2448106
中图分类号
TM [电工技术]; TN [电子技术、通信技术];
学科分类号
0808 ; 0809 ;
摘要
Programming languages like C and Ada combined with proprietary embedded operating systems have dominated the real-time application space for decades. The new C++ 11 standard includes native, language-level support for concurrency, a required feature for any nontrivial event-oriented real-time software. Threads, Locks, and Atomics now exist to provide the necessary tools to build the structures that make up the foundation of a complex real-time system. The National Spherical Torus Experiment Upgrade (NSTX-U) at the Princeton Plasma Physics Laboratory (PPPL) is breaking new ground with the language as applied to the needs of fusion devices. A new Digital Coil Protection System (DCPS) will serve as the main protection mechanism for the magnetic coils, and it is written entirely in C++ 11 running on Concurrent Computer Corporation's real-time operating system, RedHawk Linux. It runs over 600 algorithms in a 5 kHz control loop that determine whether or not to shut down operations before physical damage occurs. To accomplish this, NSTX-U engineers developed software tools that do not currently exist elsewhere, including real-time atomic synchronization, real-time containers, and a real-time logging framework. Together with a recent (and carefully configured) version of the GCC compiler, these tools enable data acquisition, processing, and output using a conventional operating system to meet a hard real-time deadline (that is, missing one periodic is a failure) of 200 microseconds.
引用
收藏
页码:1758 / 1765
页数:8
相关论文
共 50 条
  • [21] Interfacing real-time Linux and LabVIEW
    Daly, PN
    ASTRONOMICAL DATA ANALYSIS SOFTWARE AND SYSTEMS X, 2001, 238 : 333 - 336
  • [22] Real-Time Linux driving a spectrometer
    Teuben, P
    Harris, A
    Isaak, K
    Morgan, J
    Zmuidzinas, J
    ASTRONOMICAL DATA ANALYSIS SOFTWARE AND SYSTEMS VIII, 1999, 172 : 99 - 102
  • [23] MiniRTL: A minimal real-time Linux
    Wurmsdobler, P
    McGuire, N
    DR DOBBS JOURNAL, 2000, 25 (12): : 48 - +
  • [24] Interprocess communication in Real-Time Linux
    Cvetkovic, MD
    Jevtic, MS
    TELSIKS 2003: 6TH INTERNATIONAL CONFERENCE ON TELECOMMUNICATIONS IN MODERN SATELLITE, CABLE AND BROADCASTING SERVICE, VOLS 1 AND 2, PROCEEDINGS OF PAPERS, 2003, : 618 - 621
  • [25] OnCore's Linux for real-time
    不详
    IEEE CIRCUITS & DEVICES, 2000, 16 (04): : 37 - 37
  • [26] Real-time capabilities of Linux RTAI
    Arm, J.
    Bradac, Z.
    Kaczmarczyk, V.
    IFAC PAPERSONLINE, 2016, 49 (25): : 401 - 406
  • [27] Running Ada on real-time Linux
    Masmano, M
    Real, J
    Ripoll, I
    Crespo, A
    RELIABLE SOFTWARE TECHNOLOGIES - ADA-EUROPE 2003, 2003, 2655 : 322 - 333
  • [28] Real-time Enhancements for Embedded Linux
    Vun, N.
    Hor, H. F.
    Chao, J. W.
    PROCEEDINGS OF THE 2008 14TH IEEE INTERNATIONAL CONFERENCE ON PARALLEL AND DISTRIBUTED SYSTEMS, 2008, : 737 - 740
  • [29] A case study of real-time applications of Real Time Linux kernel
    Rajakumar, M
    Shen, XP
    PDPTA '05: Proceedings of the 2005 International Conference on Parallel and Distributed Processing Techniques and Applications, Vols 1-3, 2005, : 1106 - 1112
  • [30] An Architecture for Declarative Real-Time Scheduling on Linux
    Serra, Gabriele
    Ara, Gabriele
    Fara, Pietro
    Cucinotta, Tommaso
    2020 IEEE 23RD INTERNATIONAL SYMPOSIUM ON REAL-TIME DISTRIBUTED COMPUTING (ISORC 2020), 2020, : 20 - 28