skip to main content
OSTI.GOV title logo U.S. Department of Energy
Office of Scientific and Technical Information

Title: 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 » system to meet a hard real-time deadline (that is, missing one periodic is a failure) of 200 microseconds.« less

Authors:
 [1]
  1. 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) (SC-24)
OSTI Identifier:
1172639
Report Number(s):
PPPL-5046
Journal ID: ISSN 0018-9499; TRN: US1500485
Grant/Contract Number:  
AC02-09CH11466
Resource Type:
Journal Article: 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. doi:10.1109/TNS.2015.2448106.
Erickson, Keith G. Fri . "NSTX-U Advances in Real-Time C++11 on Linux". United States. doi: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},
issn = {0018-9499},
number = 4,
volume = 62,
place = {United States},
year = {2015},
month = {8}
}

Journal Article:
Free Publicly Available Full Text
Publisher's Version of Record

Save / Share: