NSTX-U Advances in Real-Time C++11 on Linux
Abstract
Programming languages like C and Ada combined with proprietary embedded operating systems have dominated the real-time application space for decades. The new C++11standard 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 operatingmore »
- Authors:
-
- Princeton Plasma Physics Laboratory (PPPL), Princeton, NJ (United States)
- Publication Date:
- Research Org.:
- Princeton Plasma Physics Lab. (PPPL), Princeton, NJ (United States)
- Sponsoring Org.:
- USDOE Office of Science (SC), Fusion Energy Sciences (FES)
- OSTI Identifier:
- 1172639
- Report Number(s):
- PPPL-5046
Journal ID: ISSN 0018-9499; TRN: US1500485
- Grant/Contract Number:
- AC02-09CH11466
- Resource Type:
- Accepted Manuscript
- Journal Name:
- IEEE Transactions on Nuclear Science
- Additional Journal Information:
- Journal Volume: 62; Journal Issue: 4; Conference: 2014 IEEE-NPSS Real Time (RT) Conference, Nara (Japan), 26-30 May 2014; Journal ID: ISSN 0018-9499
- Publisher:
- Institute of Electrical and Electronics Engineers (IEEE)
- Country of Publication:
- United States
- Language:
- English
- Subject:
- 70 PLASMA PHYSICS AND FUSION TECHNOLOGY
Citation Formats
Erickson, Keith G. NSTX-U Advances in Real-Time C++11 on Linux. United States: N. p., 2015.
Web. doi:10.1109/TNS.2015.2448106.
Erickson, Keith G. NSTX-U Advances in Real-Time C++11 on Linux. United States. https://doi.org/10.1109/TNS.2015.2448106
Erickson, Keith G. Fri .
"NSTX-U Advances in Real-Time C++11 on Linux". United States. https://doi.org/10.1109/TNS.2015.2448106. https://www.osti.gov/servlets/purl/1172639.
@article{osti_1172639,
title = {NSTX-U Advances in Real-Time C++11 on Linux},
author = {Erickson, Keith G.},
abstractNote = {Programming languages like C and Ada combined with proprietary embedded operating systems have dominated the real-time application space for decades. The new C++11standard 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.},
doi = {10.1109/TNS.2015.2448106},
journal = {IEEE Transactions on Nuclear Science},
number = 4,
volume = 62,
place = {United States},
year = {Fri Aug 14 00:00:00 EDT 2015},
month = {Fri Aug 14 00:00:00 EDT 2015}
}
Web of Science