A document discusses a fault-tolerant, self-aware, low-power, multi-core computer for space missions with thousands of simple cores, achieving speed through concurrency. The proposed machine decides how to achieve concurrency in real time, rather than depending on programmers. The driving features of the system are simple hardware that is modular in the extreme, with no shared memory, and software with significant run-time reorganizing capability.

The document describes a mechanism for moving ongoing computations and data that is based on a functional model of execution. Because there is no shared memory, the processor connects to its neighbors through a high-speed data link. Messages are sent to a neighbor switch, which in turn forwards that message on to its neighbor until reaching the intended destination. Except for the neighbor connections, processors are isolated and independent of each other.

The processors on the periphery also connect chip-to-chip, thus building up a large processor net. There is no particular topology to the larger net, as a function at each processor allows it to forward a message in the correct direction. Some chip-to-chip connections are not necessarily nearest neighbors, providing short cuts for some of the longer physical distances. The peripheral processors also provide the connections to sensors, actuators, radios, science instruments, and other devices with which the computer system interacts.

This work was done by Kim P. Gostelow of Caltech for NASA’s Jet Propulsion Laboratory. NPO-47894



This Brief includes a Technical Support Package (TSP).
Document cover
Fault-Tolerant, Real-Time, Multi-Core Computer System

(reference NPO-47894) is currently available for download from the TSP library.

Don't have an account?



Magazine cover
NASA Tech Briefs Magazine

This article first appeared in the September, 2012 issue of NASA Tech Briefs Magazine (Vol. 36 No. 9).

Read more articles from this issue here.

Read more articles from the archives here.


Overview

The document titled "Technical Support Package for Fault-Tolerant, Real-Time, Multi-Core Computer System" (NPO-47894) from NASA outlines advancements in computing technology aimed at enhancing reliability and performance in aerospace applications. It emphasizes the significance of policy-based computing, which requires programs to exhibit extra-functional properties such as the ability to start, stop, restart, copy, reproduce, and move or distribute functions seamlessly.

A key focus of the document is on functional programming, which is presented as a solution to the challenges of concurrent programming. Functional programming ensures that every call to a function yields the same result, thereby facilitating automatic parallelization at runtime. This means that non-dependent sub-expressions can execute simultaneously, allowing for efficient use of multi-core processors. The document suggests that implementing functional programming often requires only minor adjustments to existing code, such as moving state changes and non-function calls outside of functions, eliminating shared memory, and ensuring that variable names have unique meanings.

The document also outlines specific requirements for implementing policies related to reliability, timeliness, and power management in real-time systems. It stresses that these policies must operate automatically without programmer intervention, ensuring that the system can respond effectively in real-time scenarios.

In summary, the document serves as a technical guide for developing fault-tolerant, real-time computing systems that leverage multi-core architectures. It highlights the importance of functional programming in achieving the necessary extra-functional properties for robust and efficient computing. By adopting these principles, developers can create systems that are not only reliable and timely but also capable of handling the complexities of modern computing environments. The insights provided in this document are intended to support broader technological, scientific, and commercial applications beyond aerospace, showcasing NASA's commitment to innovation and collaboration in technology development.