Engineering Papers⌕ Search

SEARCH · Engineering Papers

Results for “memory efficiency”

Search indexed NASA NTRS and DOE OSTI research on propulsion, heat transfer, battery materials and energy systems. Follow report and document links to the original sources.

Quote a phrase for an exact phrase match. Source license links do not imply unrestricted reuse.

At least 55 records · Page 3

A comparison of the Cray-2 performance before and after the installation of memory pseudo-banking

A suite of 13 large Fortran benchmark codes were run on a Cray-2 configured with memory pseudo-banking circuits, and floating point operation rates were measured for each under a variety of system load configurations. These were compared with similar flop measurements taken on the same system before installation of the pseudo-banking. A useful memory access efficiency parameter was defined and calculated for both sets of performance rates, allowing a crude quantitative measure of the improvement in efficiency due to pseudo-banking. Programs were categorized as either highly scalar (S) or highly vectorized (V) and either memory-intensive or register-intensive, giving 4 categories: S-memory, S-register, V-memory, and V-register. Using flop rates as a simple quantifier of these 4 categories, a scatter plot of efficiency gain vs Mflops roughly illustrates the improvement in floating point processing speed due to pseudo-banking. On the Cray-2 system tested this improvement ranged from 1 percent for S-memory codes to about 12 percent for V-memory codes. No significant gains were made for V-register codes, which was to be expected.

Schmickley, Ronald D.↗

Uniform rotating field network structure to efficiently package a magnetic bubble domain memory

A unique and compact open coil rotating magnetic field network structure to efficiently package an array of bubble domain devices is disclosed. The field network has a configuration which effectively enables selected bubble domain devices from the array to be driven in a vertical magnetic field and in an independent and uniform horizontal rotating magnetic field. The field network is suitably adapted to minimize undesirable inductance effects, improve capabilities of heat dissipation, and facilitate repair or replacement of a bubble device.

Wolfshagen, Ronald G.↗

Performance Analysis of Garbage Collection and Dynamic Reordering in a Lisp System

Generation based garbage collection and dynamic reordering of objects are two techniques for improving the efficiency of memory management in Lisp and similar dynamic language systems. An analysis of the effect of generation configuration is presented, focusing on the effect of a number of generations and generation capabilities. Analytic timing and survival models are used to represent garbage collection runtime and to derive structural results on its behavior. The survival model provides bounds on the age of objects surviving a garbage collection at a particular level. Empirical results show that execution time is most sensitive to the capacity of the youngest generation. A technique called scanning for transport statistics, for evaluating the effectiveness of reordering independent of main memory size, is presented.

Llames, Rene Lim↗

Information Switching Processor (ISP) contention analysis and control

In designing a satellite system with on-board processing, the selection of a switching architecture is often critical. The on-board switching function can be implemented by circuit switching or packet switching. Destination-directed packet switching has several attractive features, such as self-routing without on-board switch reconfiguration, no switch control memory requirement, efficient bandwidth utilization for packet switched traffic, and accommodation of circuit switched traffic. Destination-directed packet switching, however, has two potential concerns: (1) contention and (2) congestion. And this report specifically deals with the first problem. It includes a description and analysis of various self-routing switch structures, the nature of contention problems, and contention and resolution techniques.

Inukai, Thomas↗

Small Spacecraft Technology

Aerospace designers are aggressively pursuing new ideas in advanced technology for smaller spacecraft. NASA's 'faster, better, cheaper' philosophy is the driving force to accomplish higher level scientific exploration more efficiently. More memory and higher performance is packed into computer hardware that takes up a fraction of the space of earlier generation spacecraft. Current technology is described.

small spacecraft technology NASA philosophy scienc↗

The Use of Field Programmable Gate Arrays (FPGA) in Small Satellite Communication Systems

This paper will describe the use of digital Field Programmable Gate Arrays (FPGA) to contribute to advancing the state-of-the-art in software defined radio (SDR) transponder design for the emerging SmallSat and CubeSat industry and to provide advances for NASA as described in the TAO5 Communication and Navigation Roadmap (Ref 4). The use of software defined radios (SDR) has been around for a long time. A typical implementation of the SDR is to use a processor and write software to implement all the functions of filtering, carrier recovery, error correction, framing etc. Even with modern high speed and low power digital signal processors, high speed memories, and efficient coding, the compute intensive nature of digital filters, error correcting and other algorithms is too much for modern processors to get efficient use of the available bandwidth to the ground. By using FPGAs, these compute intensive tasks can be done in parallel, pipelined fashion and more efficiently use every clock cycle to significantly increase throughput while maintaining low power. These methods will implement digital radios with significant data rates in the X and Ka bands. Using these state-of-the-art technologies, unprecedented uplink and downlink capabilities can be achieved in a 1/2 U sized telemetry system. Additionally, modern FPGAs have embedded processing systems, such as ARM cores, integrated inside the FPGA allowing mundane tasks such as parameter commanding to occur easily and flexibly. Potential partners include other NASA centers, industry and the DOD. These assets are associated with small satellite demonstration flights, LEO and deep space applications. MSFC currently has an SDR transponder test-bed using Hardware-in-the-Loop techniques to evaluate and improve SDR technologies.

Varnavas, Kosta↗

Implementing Connected Component Labeling as a User Defined Operator for SciDB

We have implemented a flexible User Defined Operator (UDO) for labeling connected components of a binary mask expressed as an array in SciDB, a parallel distributed database management system based on the array data model. This UDO is able to process very large multidimensional arrays by exploiting SciDB's memory management mechanism that efficiently manipulates arrays whose memory requirements far exceed available physical memory. The UDO takes as primary inputs a binary mask array and a binary stencil array that specifies the connectivity of a given cell to its neighbors. The UDO returns an array of the same shape as the input mask array with each foreground cell containing the label of the component it belongs to. By default, dimensions are treated as non-periodic, but the UDO also accepts optional input parameters to specify periodicity in any of the array dimensions. The UDO requires four stages to completely label connected components. In the first stage, labels are computed for each subarray or chunk of the mask array in parallel across SciDB instances using the weighted quick union (WQU) with half-path compression algorithm. In the second stage, labels around chunk boundaries from the first stage are stored in a temporary SciDB array that is then replicated across all SciDB instances. Equivalences are resolved by again applying the WQU algorithm to these boundary labels. In the third stage, relabeling is done for each chunk using the resolved equivalences. In the fourth stage, the resolved labels, which so far are "flattened" coordinates of the original binary mask array, are renamed with sequential integers for legibility. The UDO is demonstrated on a 3-D mask of O(1011) elements, with O(108) foreground cells and O(106) connected components. The operator completes in 19 minutes using 84 SciDB instances.

UDO↗

Using XR for Improving Scientific Discovery With Numerical Weather Models

Earth science (ES) digital twins will help us understand the complex interactions and interrelationships that make up our Earth system and the impacts of earth science phenomena on it. Our work addresses two underdeveloped areas in current ES digital twin work: improving the understanding and interaction with ES model outputs by using Virtual and Mixed Reality (XR) tools and improving the non-intuitive mapping of continuous ES natural phenomena to gridded reference frames in current numerical models. Traditionally, scientists working on ES view and analyze the results of calculated or measured observables with static 1-dimensional (1D), 2D or 3D plots displayed on flat computer screens or paper. Using such limited mediums, it can be very difficult to identify, track and understand the evolution of key features due to poor viewing angles and the nature of flat computer screens. In addition, numerical models, such as the NASA Goddard Earth Observing System (GEOS) ES model, are almost exclusively formulated, visualized and analyzed in an Eulerian reference frame with fixed grid points in space and time. However, ES phenomena such as convective clouds, hurricanes and wildfire smoke plumes are visualized and analyzed in a Lagrangian reference frame: therefore it is often difficult and unnatural to understand these phenomena in relation to each other, visualized either in an Eulerian or Lagrangian context. In 3D visualizations, data generally takes one of three forms: gridded (e.g., voxelized) data, where space is divided into regions; point clouds, where data is represented as a set of points; and meshes, where objects are rendered as surfaces composed of small polygons (usually triangles). A gridded, Eulerian reference frame has been the default representation for the 2D visual analysis of atmospheric data in part because the numerical methods used to generate atmospheric model data in the first place use a gridded approach, with equations defining the relationships between the physical variables in each of a grid's cells across successive timesteps. In our work, we are particularly interested in data from GEOS. Another reason why gridded representations tend to be used for visualizing data from such models is because trajectories are difficult to interpret from representations on 2D surfaces, due to line-of-sight ambiguity. Instead of a fixed grid from GEOS, we embed a trajectory model to simulate particles' movement throughout a GEOS run. We then ingest these particle trajectories as animated point clouds with a NASA open source XR toolkit, the Mixed Reality Exploration Toolkit (MRET), and merge GEOS data with ES phenomena data onto one combined visualization that the user can intuitively interact with. Efficient rendering of arbitrarily large point clouds is an ongoing challenge being addressed by the computer science community, with the GPU-based optimizations and efficient GPU memory utilization a common theme of recent advances, especially for XR, where sustained high frame rate is mandatory to save the user from suffering due to simulation sickness. In this work, we describe and evaluate our progress in choosing and implementing appropriate methods for rendering arbitrarily large point clouds within MRET for XR. While tracking the XR headset enables the immersion of a user within a 3D scene of a data visualization, tracking of XR handheld controllers or user’s hands enables us to implement intuitive user interactions with the visualized datasets. Conventional tools require a user working with an ES visualization to conduct many interactions to commit their intended selections or manipulations with a visualized dataset; for example to specify a set of points in 3D space. Doing so in a 2D flat screen interface has traditionally required specifying a set of points in three distinct 2D coordinate systems (XY, XZ, and YZ), which is cumbersome. In other scientific domains, it has been shown that specifying or selecting a location or volume in XR using handheld controllers or tracked hands allows for greater speed and accuracy. We anticipate the same will hold true for atmospheric data, and we will share initial results of measuring the utility of such an interface. Notably, as the data being visualized is generated by GEOS as a prediction based on initial conditions, an intended application of our tool is to serve as part of an iterative feedback loop. Through XR, a scientist will review and manipulate a GEOS model run, modifying the conditions as needed to do subsequent runs of GEOS. Thereby, XR-based improvements to speed and accuracy of 3D tagging of points minimizes the effort required by both the scientist and the computer cluster conducting the necessary calculations.

Thomas Grubb↗

Improvements to GCAS Visualization Functionality

Analysis of communication systems is crucial to NASA objectives, whether located here on Earth or on a cosmic scale. The Glenn Research Center Communication Analysis Suite (GCAS) is software designed for analysis of communication systems throughout the solar system. This suite includes web-based visualization software that is used to simulate the data generated from the GCAS MATLAB® (The MathWorks, Inc.) capability. This report focuses on recent additions to the visualization portion of GCAS, including the motivation and methodology behind them. Notable additions include improved camera controls, such as novel first- and third-person settings, methods for displaying pertinent analysis information, finer control over timing mechanisms, and automated features designed to improve efficiency and memory usage.

Visualization↗

Flash memory management system and method utilizing multiple block list windows

The present invention provides a flash memory management system and method with increased performance. The flash memory management system provides the ability to efficiently manage and allocate flash memory use in a way that improves reliability and longevity, while maintaining good performance levels. The flash memory management system includes a free block mechanism, a disk maintenance mechanism, and a bad block detection mechanism. The free block mechanism provides efficient sorting of free blocks to facilitate selecting low use blocks for writing. The disk maintenance mechanism provides for the ability to efficiently clean flash memory blocks during processor idle times. The bad block detection mechanism provides the ability to better detect when a block of flash memory is likely to go bad. The flash status mechanism stores information in fast access memory that describes the content and status of the data in the flash disk. The new bank detection mechanism provides the ability to automatically detect when new banks of flash memory are added to the system. Together, these mechanisms provide a flash memory management system that can improve the operational efficiency of systems that utilize flash memory.

Chow, James↗

Automatic generation of efficient array redistribution routines for distributed memory multicomputers

Appropriate data distribution has been found to be critical for obtaining good performance on Distributed Memory Multicomputers like the CM-5, Intel Paragon and IBM SP-1. It has also been found that some programs need to change their distributions during execution for better performance (redistribution). This work focuses on automatically generating efficient routines for redistribution. We present a new mathematical representation for regular distributions called PITFALLS and then discuss algorithms for redistribution based on this representation. One of the significant contributions of this work is being able to handle arbitrary source and target processor sets while performing redistribution. Another important contribution is the ability to handle an arbitrary number of dimensions for the array involved in the redistribution in a scalable manner. Our implementation of these techniques is based on an MPI-like communication library. The results presented show the low overheads for our redistribution algorithm as compared to naive runtime methods.

Ramaswamy, Shankar↗

A message passing kernel for the hypercluster parallel processing test bed

A Message-Passing Kernel (MPK) for the Hypercluster parallel-processing test bed is described. The Hypercluster is being developed at the NASA Lewis Research Center to support investigations of parallel algorithms and architectures for computational fluid and structural mechanics applications. The Hypercluster resembles the hypercube architecture except that each node consists of multiple processors communicating through shared memory. The MPK efficiently routes information through the Hypercluster, using a message-passing protocol when necessary and faster shared-memory communication whenever possible. The MPK also interfaces all of the processors with the Hypercluster operating system (HYCLOPS), which runs on a Front-End Processor (FEP). This approach distributes many of the I/O tasks to the Hypercluster processors and eliminates the need for a separate I/O support program on the FEP.

Blech, Richard A.↗

Message Passing vs. Shared Address Space on a Cluster of SMPs

The convergence of scalable computer architectures using clusters of PCs (or PC-SMPs) with commodity networking has become an attractive platform for high end scientific computing. Currently, message-passing and shared address space (SAS) are the two leading programming paradigms for these systems. Message-passing has been standardized with MPI, and is the most common and mature programming approach. However message-passing code development can be extremely difficult, especially for irregular structured computations. SAS offers substantial ease of programming, but may suffer from performance limitations due to poor spatial locality, and high protocol overhead. In this paper, we compare the performance of and programming effort, required for six applications under both programming models on a 32 CPU PC-SMP cluster. Our application suite consists of codes that typically do not exhibit high efficiency under shared memory programming. due to their high communication to computation ratios and complex communication patterns. Results indicate that SAS can achieve about half the parallel efficiency of MPI for most of our applications: however, on certain classes of problems SAS performance is competitive with MPI. We also present new algorithms for improving the PC cluster performance of MPI collective operations.

Shan, Hongzhang↗

A ground-based memory state tracker for satellite on-board computer memory

The TOPEX/POSEIDON satellite, currently in Earth orbit, will use radar altimetry to measure sea surface height over 90 percent of the world's ice-free oceans. In combination with a precise determination of the spacecraft orbit, the altimetry data will provide maps of ocean topography, which will be used to calculate the speed and direction of ocean currents worldwide. NASA's Jet Propulsion Laboratory (JPL) has primary responsibility for mission operations for TOPEX/POSEIDON. Software applications have been developed to automate mission operations tasks. This paper describes one of these applications, the Memory State Tracker, which allows the ground analyst to examine and track the contents of satellite on-board computer memory quickly and efficiently, in a human-readable format, without having to receive the data directly from the spacecraft. This process is accomplished by maintaining a groundbased mirror-image of spacecraft On-board Computer memory.

Quan, Alan↗

Efficient packing of patterns in sparse distributed memory by selective weighting of input bits

When a set of patterns is stored in a distributed memory, any given storage location participates in the storage of many patterns. From the perspective of any one stored pattern, the other patterns act as noise, and such noise limits the memory's storage capacity. The more similar the retrieval cues for two patterns are, the more the patterns interfere with each other in memory, and the harder it is to separate them on retrieval. A method is described of weighting the retrieval cues to reduce such interference and thus to improve the separability of patterns that have similar cues.

Kanerva, Pentti↗

Rate 3/4 16-PSK phase codes

An investigation is carried out of convolutional-coding coupled with 16-PSK modulation for bandwidth efficient transmission. Small memory codes (rate three-fourths) are found that are optimum in the free-distance sense on the Gaussian channel. These codes furnish up to 4.8 dB of coding gain with 32 states over uncoded 8-PSK, a scheme having the same spectral efficiency as the codes described. The performance is compared with the earlier findings of Ungerboeck (1976, 1982) and certain recent results on R = 2/3 coded 8-PSK. It is shown that with 4 decoder states the coding gain is 3.5 dB and with 32 states it is 4.8 dB. What is more, the codes compare favorably with coded 16-QASK when envelope variations and peak energy constraints are considered.

Wilson, S. G.↗