Engineering PapersSearch

Engineering topics

Bornstein, Benjamin J.

Publications and source records attributed to Bornstein, Benjamin J..

Mobile Thread Task Manager

The Mobile Thread Task Manager (MTTM) is being applied to parallelizing existing flight software to understand the benefits and to develop new techniques and architectural concepts for adapting software to multicore architectures. It allocates and load-balances tasks for a group of threads that migrate across processors to improve cache performance. In order to balance-load across threads, the MTTM augments a basic map-reduce strategy to draw jobs from a global queue. In a multicore processor, memory may be "homed" to the cache of a specific processor and must be accessed from that processor. The MTTB architecture wraps access to data with thread management to move threads to the home processor for that data so that the computation follows the data in an attempt to avoid L2 cache misses. Cache homing is also handled by a memory manager that translates identifiers to processor IDs where the data will be homed (according to rules defined by the user). The user can also specify the number of threads and processors separately, which is important for tuning performance for different patterns of computation and memory access. MTTM efficiently processes tasks in parallel on a multiprocessor computer. It also provides an interface to make it easier to adapt existing software to a multiprocessor environment.

Clement, Bradley J.

Memory-Efficient Onboard Rock Segmentation

Rockster-MER is an autonomous perception capability that was uploaded to the Mars Exploration Rover Opportunity in December 2009. This software provides the vision front end for a larger software system known as AEGIS (Autonomous Exploration for Gathering Increased Science), which was recently named 2011 NASA Software of the Year. As the first step in AEGIS, Rockster-MER analyzes an image captured by the rover, and detects and automatically identifies the boundary contours of rocks and regions of outcrop present in the scene. This initial segmentation step reduces the data volume from millions of pixels into hundreds (or fewer) of rock contours. Subsequent stages of AEGIS then prioritize the best rocks according to scientist- defined preferences and take high-resolution, follow-up observations. Rockster-MER has performed robustly from the outset on the Mars surface under challenging conditions. Rockster-MER is a specially adapted, embedded version of the original Rockster algorithm ("Rock Segmentation Through Edge Regrouping," (NPO- 44417) Software Tech Briefs, September 2008, p. 25). Although the new version performs the same basic task as the original code, the software has been (1) significantly upgraded to overcome the severe onboard re source limitations (CPU, memory, power, time) and (2) "bulletproofed" through code reviews and extensive testing and profiling to avoid the occurrence of faults. Because of the limited computational power of the RAD6000 flight processor on Opportunity (roughly two orders of magnitude slower than a modern workstation), the algorithm was heavily tuned to improve its speed. Several functional elements of the original algorithm were removed as a result of an extensive cost/benefit analysis conducted on a large set of archived rover images. The algorithm was also required to operate below a stringent 4MB high-water memory ceiling; hence, numerous tricks and strategies were introduced to reduce the memory footprint. Local filtering operations were re-coded to operate on horizontal data stripes across the image. Data types were reduced to smaller sizes where possible. Binary- valued intermediate results were squeezed into a more compact, one-bit-per-pixel representation through bit packing and bit manipulation macros. An estimated 16-fold reduction in memory footprint relative to the original Rockster algorithm was achieved. The resulting memory footprint is less than four times the base image size. Also, memory allocation calls were modified to draw from a static pool and consolidated to reduce memory management overhead and fragmentation. Rockster-MER has now been run onboard Opportunity numerous times as part of AEGIS with exceptional performance. Sample results are available on the AEGIS website at http://aegis.jpl.nasa.gov.

Burl, Michael C.

Histogrammatic Method for Determining Relative Abundance of Input Gas Pulse

To satisfy the Major Constituents Analysis (MCA) requirements for the Vehicle Cabin Atmosphere Monitor (VCAM), this software analyzes the relative abundance ratios for N2, O2, Ar, and CO2 as a function of time and constructs their best-estimate mean. A histogram is first built of all abundance ratios for each of the species vs time. The abundance peaks corresponding to the intended measurement and any obfuscating background are then separated via standard peak-finding techniques in histogram space. A voting scheme is then used to include/exclude this particular time sample in the final average based on its membership to the intended measurement or the background population. This results in a robust and reasonable estimate of the abundance of trace components such as CO2 and Ar even in the presence of obfuscating backgrounds internal to the VCAM device. VCAM can provide a means for monitoring the air within the enclosed environments, such as the ISS (International Space Station), Crew Exploration Vehicle (CEV), a Lunar Habitat, or another vehicle traveling to Mars. Its miniature pre-concentrator, gas chromatograph (GC), and mass spectrometer can provide unbiased detection of a large number of organic species as well as MCA analysis. VCAM s software can identify the concentration of trace chemicals and whether the chemicals are on a targeted list of hazardous compounds. This innovation s performance and reliability on orbit, along with the ground team s assessment of its raw data and analysis results, will validate its technology for future use and development.

Mandrake, Lukas

Energy Usage in an Embedded Space Vision Application on a Tiled Architecture

The need for greater autonomy in platforms such as planetary rovers is driving rapidly to codes that far overwhelm the capabilities of conventional space-qualified single core processors to run them in real-time. However, a new generation of potentially space-qualified 2D "tiled" multi-core microprocessor chips is emerging with significant performance potential. Leveraging such inherently parallel hardware for space platforms requires consideration of both time and power limitations - the latter of which is not normally done in conventional parallel computing. This paper takes one such application, Rockster, and analyzes it for energy usage when ported to a multi-core tiled chip such as may come from the Maestro program. The results demonstrate not only the criticality of memory and interconnect in the energy of real-time parallel codes, but also the effects of possible "energy-aware" changes in partitioning and algorithm design.

multi-core processors

Major Constituents Analysis for the Vehicle Cabin Atmosphere Monitor

Vehicle Cabin Atmosphere Monitor (VCAM) can provide a means for monitoring the air within enclosed environments such as the International Space Station, the Crew Exploration Vehicle (CEV), a Lunar habitat, or another vehicle traveling to Mars. The software processes a sum total spectra (counts vs. mass channel) with the intention of computing abundance ratios for N2, O2, CO2, Ar2, and H2O. A brute-force powerset expansion compares a library of expected mass lines with those found within the data. Least squares error is combined with a penalty term for using small peaks.

Mandrake, Lukas

Autonomous Exploration for Gathering Increased Science

The Autonomous Exploration for Gathering Increased Science System (AEGIS) provides automated targeting for remote sensing instruments on the Mars Exploration Rover (MER) mission, which at the time of this reporting has had two rovers exploring the surface of Mars (see figure). Currently, targets for rover remote-sensing instruments must be selected manually based on imagery already on the ground with the operations team. AEGIS enables the rover flight software to analyze imagery onboard in order to autonomously select and sequence targeted remote-sensing observations in an opportunistic fashion. In particular, this technology will be used to automatically acquire sub-framed, high-resolution, targeted images taken with the MER panoramic cameras. This software provides: 1) Automatic detection of terrain features in rover camera images, 2) Feature extraction for detected terrain targets, 3) Prioritization of terrain targets based on a scientist target feature set, and 4) Automated re-targeting of rover remote-sensing instruments at the highest priority target.

Bornstein, Benjamin J.

Autonomously Calibrating a Quadrupole Mass Spectrometer

A computer program autonomously manages the calibration of a quadrupole ion mass spectrometer intended for use in monitoring concentrations and changes in concentrations of organic chemicals in the cabin air of the International Space Station. The instrument parameters calibrated include the voltage on a channel electron multiplier, a discriminator threshold, and an ionizer current. Calibration is achieved by analyzing the mass spectrum obtained while sweeping the parameter ranges in a heuristic procedure, developed by mass spectrometer experts, that involves detection of changes in signal trends that humans can easily recognize but cannot necessarily be straightforwardly codified in an algorithm. The procedure includes calculation of signal-to-noise ratios, signal-increase rates, and background-noise-increase rates; finding signal peaks; and identifying peak patterns. The software provides for several recovery-from-error scenarios and error-handling schemes. The software detects trace amounts of contaminant gases in the mass spectrometer and notifies associated command- and-data-handling software to schedule a cleaning. Furthermore, the software autonomously analyzes the mass spectrum to determine whether the parameters of a radio-frequency ramp waveform are set properly so that the peaks of the mass spectrum are at expected locations.

Lee, Seungwon

Injecting Artificial Memory Errors Into a Running Computer Program

Single-event upsets (SEUs) or bitflips are computer memory errors caused by radiation. BITFLIPS (Basic Instrumentation Tool for Fault Localized Injection of Probabilistic SEUs) is a computer program that deliberately injects SEUs into another computer program, while the latter is running, for the purpose of evaluating the fault tolerance of that program. BITFLIPS was written as a plug-in extension of the open-source Valgrind debugging and profiling software. BITFLIPS can inject SEUs into any program that can be run on the Linux operating system, without needing to modify the program s source code. Further, if access to the original program source code is available, BITFLIPS offers fine-grained control over exactly when and which areas of memory (as specified via program variables) will be subjected to SEUs. The rate of injection of SEUs is controlled by specifying either a fault probability or a fault rate based on memory size and radiation exposure time, in units of SEUs per byte per second. BITFLIPS can also log each SEU that it injects and, if program source code is available, report the magnitude of effect of the SEU on a floating-point value or other program variable.

Bornstein, Benjamin J.