This effort ports the Core Flight Executive (cFE)/Core Flight System (CFS) flight software architecture to multicore processor platforms, and provides mission developers with a common, flightready, flexible software environment that supports single, multi-processor, and multicore systems. Currently the cFE/CFS only supports single-core processors.
The spaceflight computing industry is one of the few fields within the broader computing industry that has not yet adopted the use of multicore processors. Processing systems required for AR&D (Automated/Autonomous Rendezvous and Docking), NEO (near Earth object) rendezvous, robotic servicing, landing hazard avoidance, as well as onboard science data processing, all require a level of performance only available in multicore processor platforms or custom ASICS (application-specific integrated circuits) and FPGAs (field-programmable gate arrays).
Multicore flight processors will provide a higher-performance computing platform without paying the proportional penalty in mass and power. In addition to the gains in performance relative to mass and power, multicore platforms enable phased computing where the power state of each core can be individually controlled, producing low-power modes.
The purpose of this software is to modify existing flight software components to allow them to run on a multicore processor, or an embedded operating system, that supports multicore processors such as vxWorks 6 and Linux. The components that were modified include the Operating System Abstraction Layer (OSAL), the cFE, and any parts of the CFS if needed. Previously, the OSAL and cFE were only aware of a single processor or CPU. These modifications do not add any application functionality to the OSAL or cFE, but simply enable the ability to utilize multiple processor cores.
This work was done by Alan Cudmore and Dwaine Molock of Goddard Space Flight Center, and David Edell and Christopher Monaco of Johns Hopkins University. GSC-16857-1