Search NASA⌕ Search

SEARCH · Search NASA

Results for “high dependability computing program”

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 91 records · Page 5

Cooperative Data Sharing: Simple Support for Clusters of SMP Nodes

Libraries like PVM and MPI send typed messages to allow for heterogeneous cluster computing. Lower-level libraries, such as GAM, provide more efficient access to communication by removing the need to copy messages between the interface and user space in some cases. still lower-level interfaces, such as UNET, get right down to the hardware level to provide maximum performance. However, these are all still interfaces for passing messages from one process to another, and have limited utility in a shared-memory environment, due primarily to the fact that message passing is just another term for copying. This drawback is made more pertinent by today's hybrid architectures (e.g. clusters of SMPs), where it is difficult to know beforehand whether two communicating processes will share memory. As a result, even portable language tools (like HPF compilers) must either map all interprocess communication, into message passing with the accompanying performance degradation in shared memory environments, or they must check each communication at run-time and implement the shared-memory case separately for efficiency. Cooperative Data Sharing (CDS) is a single user-level API which abstracts all communication between processes into the sharing and access coordination of memory regions, in a model which might be described as "distributed shared messages" or "large-grain distributed shared memory". As a result, the user programs to a simple latency-tolerant abstract communication specification which can be mapped efficiently to either a shared-memory or message-passing based run-time system, depending upon the available architecture. Unlike some distributed shared memory interfaces, the user still has complete control over the assignment of data to processors, the forwarding of data to its next likely destination, and the queuing of data until it is needed, so even the relatively high latency present in clusters can be accomodated. CDS does not require special use of an MMU, which can add overhead to some DSM systems, and does not require an SPMD programming model. unlike some message-passing interfaces, CDS allows the user to implement efficient demand-driven applications where processes must "fight" over data, and does not perform copying if processes share memory and do not attempt concurrent writes. CDS also supports heterogeneous computing, dynamic process creation, handlers, and a very simple thread-arbitration mechanism. Additional support for array subsections is currently being considered. The CDS1 API, which forms the kernel of CDS, is built primarily upon only 2 communication primitives, one process initiation primitive, and some data translation (and marshalling) routines, memory allocation routines, and priority control routines. The entire current collection of 28 routines provides enough functionality to implement most (or all) of MPI 1 and 2, which has a much larger interface consisting of hundreds of routines. still, the API is small enough to consider integrating into standard os interfaces for handling inter-process communication in a network-independent way. This approach would also help to solve many of the problems plaguing other higher-level standards such as MPI and PVM which must, in some cases, "play OS" to adequately address progress and process control issues. The CDS2 API, a higher level of interface roughly equivalent in functionality to MPI and to be built entirely upon CDS1, is still being designed. It is intended to add support for the equivalent of communicators, reduction and other collective operations, process topologies, additional support for process creation, and some automatic memory management. CDS2 will not exactly match MPI, because the copy-free semantics of communication from CDS1 will be supported. CDS2 application programs will be free to carefully also use CDS1. CDS1 has been implemented on networks of workstations running unmodified Unix-based operating systems, using UDP/IP and vendor-supplied high- performance locks. Although its inter-node performance is currently unimpressive due to rudimentary implementation technique, it even now outperforms highly-optimized MPI implementation on intra-node communication due to its support for non-copy communication. The similarity of the CDS1 architecture to that of other projects such as UNET and TRAP suggests that the inter-node performance can be increased significantly to surpass MPI or PVM, and it may be possible to migrate some of its functionality to communication controllers.

DiNucci, David C.↗

An Automated Technique for Estimating Daily Precipitation over the State of Virginia

Digital IR and visible imagery obtained from a geostationary satellite located over the equator at 75 deg west latitude were provided by NASA and used to obtain a linear relationship between cloud top temperature and hourly precipitation. Two computer programs written in FORTRAN were used. The first program computes the satellite estimate field from the hourly digital IR imagery. The second program computes the final estimate for the entire state area by comparing five preliminary estimates of 24 hour precipitation with control raingage readings and determining which of the five methods gives the best estimate for the day. The final estimate is then produced by incorporating control gage readings into the winning method. In presenting reliable precipitation estimates for every cell in Virginia in near real time on a daily on going basis, the techniques require on the order of 125 to 150 daily gage readings by dependable, highly motivated observers distributed as uniformly as feasible across the state.

Follansbee, W. A.↗

A viscous/potential flow interaction analysis method for multi-element infinite swept wings, volume 1

An analysis method and computer program have been developed for the calculation of the viscosity dependent aerodynamic characteristics of multi-element infinite swept wings in incompressible flow. The wing configuration consisting at the most of a slat, a main element and double slotted flap is represented in the method by a large number of panels. The inviscid pressure distribution about a given configuration in the normal chord direction is determined using a two dimensional potential flow program employing a vortex lattice technique. The boundary layer development over each individual element of the high lift configuration is determined using either integral or finite difference boundary layer techniques. A source distribution is then determined as a function of the calculated boundary layer displacement thickness and pressure distributions. This source distribution is included in the second calculation of the potential flow about the configuration. Once the solution has converged (usually after 2-5 iterations between the potential flow and boundary layer calculations) lift, drag, and pitching moments can be determined as functions of Reynolds number.

Dvorak, F. A.↗

Parallelized direct execution simulation of message-passing parallel programs

As massively parallel computers proliferate, there is growing interest in findings ways by which performance of massively parallel codes can be efficiently predicted. This problem arises in diverse contexts such as parallelizing computers, parallel performance monitoring, and parallel algorithm development. In this paper we describe one solution where one directly executes the application code, but uses a discrete-event simulator to model details of the presumed parallel machine such as operating system and communication network behavior. Because this approach is computationally expensive, we are interested in its own parallelization specifically the parallelization of the discrete-event simulator. We describe methods suitable for parallelized direct execution simulation of message-passing parallel programs, and report on the performance of such a system, Large Application Parallel Simulation Environment (LAPSE), we have built on the Intel Paragon. On all codes measured to date, LAPSE predicts performance well typically within 10 percent relative error. Depending on the nature of the application code, we have observed low slowdowns (relative to natively executing code) and high relative speedups using up to 64 processors.

Dickens, Phillip M.↗

Mark 4A antenna control system data handling architecture study

A high-level review was conducted to provide an analysis of the existing architecture used to handle data and implement control algorithms for NASA's Deep Space Network (DSN) antennas and to make system-level recommendations for improving this architecture so that the DSN antennas can support the ever-tightening requirements of the next decade and beyond. It was found that the existing system is seriously overloaded, with processor utilization approaching 100 percent. A number of factors contribute to this overloading, including dated hardware, inefficient software, and a message-passing strategy that depends on serial connections between machines. At the same time, the system has shortcomings and idiosyncrasies that require extensive human intervention. A custom operating system kernel and an obscure programming language exacerbate the problems and should be modernized. A new architecture is presented that addresses these and other issues. Key features of the new architecture include a simplified message passing hierarchy that utilizes a high-speed local area network, redesign of particular processing function algorithms, consolidation of functions, and implementation of the architecture in modern hardware and software using mainstream computer languages and operating systems. The system would also allow incremental hardware improvements as better and faster hardware for such systems becomes available, and costs could potentially be low enough that redundancy would be provided economically. Such a system could support DSN requirements for the foreseeable future, though thorough consideration must be given to hard computational requirements, porting existing software functionality to the new system, and issues of fault tolerance and recovery.

Briggs, H. C.↗

SpaceCube 2.0: An Advanced Hybrid Onboard Data Processor

The SpaceCube 2.0 is a compact, high performance, low-power onboard processing system that takes advantage of cutting-edge hybrid (CPU/FPGA/DSP) processing elements. The SpaceCube 2.0 design concept includes two commercial Virtex-5 field-programmable gate array (FPGA) parts protected by gradiation hardened by software" technology, and possesses exceptional size, weight, and power characteristics [5x5x7 in., 3.5 lb (approximately equal to 12.7 x 12.7 x 17.8 cm, 1.6 kg) 5-25 W, depending on the application fs required clock rate]. The two Virtex-5 FPGA parts are implemented in a unique back-toback configuration to maximize data transfer and computing performance. Draft computing power specifications for the SpaceCube 2.0 unit include four PowerPC 440s (1100 DMIPS each), 500+ DSP48Es (2x580 GMACS), 100+ LVDS high-speed serial I/Os (1.25 Gbps each), and 2x190 GFLOPS single-precision (65 GFLOPS double-precision) floating point performance. The SpaceCube 2.0 includes PROM memory for CPU boot, health and safety, and basic command and telemetry functionality; RAM memory for program execution; and FLASH/EEPROM memory to store algorithms and application code for the CPU, FPGA, and DSP processing elements. Program execution can be reconfigured in real time and algorithms can be updated, modified, and/or replaced at any point during the mission. Gigabit Ethernet, Spacewire, SATA and highspeed LVDS serial/parallel I/O channels are available for instrument/sensor data ingest, and mission-unique instrument interfaces can be accommodated using a compact PCI (cPCI) expansion card interface. The SpaceCube 2.0 can be utilized in NASA Earth Science, Helio/Astrophysics and Exploration missions, and Department of Defense satellites for onboard data processing. It can also be used in commercial communication and mapping satellites.

Lin, Michael↗

1996 NASA-ASEE-Stanford Summer Faculty Fellowship Program

As is customary, the final technical report for the NASA-ASEE Summer Faculty Fellowship Program at the Ames Research Center, Dryden Flight Research Center and Stanford University essentially consists of a compilation of the summary technical reports of all the fellows. More extended versions done either as NASA publications, archival papers, or other laboratory reports are not included here. The reader will note that the areas receiving emphasis were the life sciences, astronomy, remote sensing, aeronautics, fluid dynamics/aerophysics, and computer science. Of course, the areas of emphasis vary somewhat from year to year depending on the interests of the most qualified applicants. Once again, the work is of especially high quality. The reports of the first and second year fellows are grouped separately and are arranged alphabetically within each group.

Source record↗

An experimental and computational investigation of the flow field about a transonic airfoil in supercritical flow with turbulent boundary-layer separation

A combined experimental and computational research program is described for testing and guiding turbulence modeling within regions of separation induced by shock waves incident in turbulent boundary layers. Specifically, studies are made of the separated flow the rear portion of an 18%-thick circular-arc airfoil at zero angle of attack in high Reynolds number supercritical flow. The measurements include distributions of surface static pressure and local skin friction. The instruments employed include highfrequency response pressure cells and a large array of surface hot-wire skin-friction gages. Computations at the experimental flow conditions are made using time-dependent solutions of ensemble-averaged Navier-Stokes equations, plus additional equations for the turbulence modeling.

Rubesin, M. W.↗

The Design and Evaluation of "CAPTools"--A Computer Aided Parallelization Toolkit

Writing applications for high performance computers is a challenging task. Although writing code by hand still offers the best performance, it is extremely costly and often not very portable. The Computer Aided Parallelization Tools (CAPTools) are a toolkit designed to help automate the mapping of sequential FORTRAN scientific applications onto multiprocessors. CAPTools consists of the following major components: an inter-procedural dependence analysis module that incorporates user knowledge; a 'self-propagating' data partitioning module driven via user guidance; an execution control mask generation and optimization module for the user to fine tune parallel processing of individual partitions; a program transformation/restructuring facility for source code clean up and optimization; a set of browsers through which the user interacts with CAPTools at each stage of the parallelization process; and a code generator supporting multiple programming paradigms on various multiprocessors. Besides describing the rationale behind the architecture of CAPTools, the parallelization process is illustrated via case studies involving structured and unstructured meshes. The programming process and the performance of the generated parallel programs are compared against other programming alternatives based on the NAS Parallel Benchmarks, ARC3D and other scientific applications. Based on these results, a discussion on the feasibility of constructing architectural independent parallel applications is presented.

Yan, Jerry↗

A Partitioned - Task Parallel Implementation of the NASA Multiscale Analysis Tool for High Performance Computing

The NASA Multiscale Analysis Tool (NASMAT) is a platform for multiscale modeling of composites which can perform analysis of materials with any arbitrary number of length scales. The platform supports modularity, scalability, and interoperability using recursive procedures and data structures. A Macro solver driven parallelization scheme often limits the capability of NASMAT to scale as it has access to limited memory and number of cores (often one core/thread) and often forces to implement macro solver specific changes to the platform. In this work, a partitioned task-parallel approach is adopted, where the parallelization strategy adopted for NASMAT is independent of the macro solver and the computational resources are managed independently. The programming architecture takes into account the hierarchy of multiple scales (task-dependence) and the heterogeneous nature (dynamic load balancing) of computation through implementation of a hierarchy-informed task parallel model. The partitioned nature of the framework further extends the “plug and play” capability of NASMAT. preCICE, an open-source library for coupling multiphysics solver in a partitioned manner, is adopted to integrate NASMAT with an external macro solver by implementing a NASMAT adapter for preCICE. Speedup and scalability of the framework is studied for micromechanical models of varying size.

task-parallel↗

Additional extensions to the NASCAP computer code, volume 1

Extensions and revisions to a computer code that comprehensively analyzes problems of spacecraft charging (NASCAP) are documented. Using a fully three dimensional approach, it can accurately predict spacecraft potentials under a variety of conditions. Among the extensions are a multiple electron/ion gun test tank capability, and the ability to model anisotropic and time dependent space environments. Also documented are a greatly extended MATCHG program and the preliminary version of NASCAP/LEO. The interactive MATCHG code was developed into an extremely powerful tool for the study of material-environment interactions. The NASCAP/LEO, a three dimensional code to study current collection under conditions of high voltages and short Debye lengths, was distributed for preliminary testing.

Mandell, M. J.↗

Gust response of commercial jet aircraft including effects of autopilot operation

A simplified theory of aircraft vertical acceleration gust response based on a model including pitch, vertical displacement and control motions due to autopilot operation is presented. High-order autopilot transfer functions are utilized for improved accuracy in the determination of the overall response characteristics. Four representative commercial jet aircraft were studied over a wide range of operating conditions and comparisons of individual responses are given. It is shown that autopilot operation relative to the controls fixed case causes response attenuation of from 10 percent to approximately 25 percent depending on flight condition and increases in crossing number up to 30 percent, with variations between aircraft of from 5 percent to 10 percent, in general, reflecting the differences in autopilot design. A detailed computer program description and listing of the calculation procedure suitable for the general application of the theory to any airplane autopilot combination is also included.

Goldberg, J. H.↗

Efficacy of Code Optimization on Cache-based Processors

The current common wisdom in the U.S. is that the powerful, cost-effective supercomputers of tomorrow will be based on commodity (RISC) micro-processors with cache memories. Already, most distributed systems in the world use such hardware as building blocks. This shift away from vector supercomputers and towards cache-based systems has brought about a change in programming paradigm, even when ignoring issues of parallelism. Vector machines require inner-loop independence and regular, non-pathological memory strides (usually this means: non-power-of-two strides) to allow efficient vectorization of array operations. Cache-based systems require spatial and temporal locality of data, so that data once read from main memory and stored in high-speed cache memory is used optimally before being written back to main memory. This means that the most cache-friendly array operations are those that feature zero or unit stride, so that each unit of data read from main memory (a cache line) contains information for the next iteration in the loop. Moreover, loops ought to be 'fat', meaning that as many operations as possible are performed on cache data-provided instruction caches do not overflow and enough registers are available. If unit stride is not possible, for example because of some data dependency, then care must be taken to avoid pathological strides, just ads on vector computers. For cache-based systems the issues are more complex, due to the effects of associativity and of non-unit block (cache line) size. But there is more to the story. Most modern micro-processors are superscalar, which means that they can issue several (arithmetic) instructions per clock cycle, provided that there are enough independent instructions in the loop body. This is another argument for providing fat loop bodies. With these restrictions, it appears fairly straightforward to produce code that will run efficiently on any cache-based system. It can be argued that although some of the important computational algorithms employed at NASA Ames require different programming styles on vector machines and cache-based machines, respectively, neither architecture class appeared to be favored by particular algorithms in principle. Practice tells us that the situation is more complicated. This report presents observations and some analysis of performance tuning for cache-based systems. We point out several counterintuitive results that serve as a cautionary reminder that memory accesses are not the only factors that determine performance, and that within the class of cache-based systems, significant differences exist.

VanderWijngaart, Rob F.↗

An experimental and computational investigation of the flow field about a transonic airfoil in supercritical flow with turbulent boundary-layer separation

A combined experimental and computational research program for testing and guiding turbulence modeling within regions of separation induced by shock waves incident on turbulent boundary layers is described. Specifically, studies are made of the separated flow over the rear portion of an 18%-thick circular-arc airfoil at zero angle of attack in high Reynolds number supercritical flow. The measurements include distributions of surface static pressure and local skin friction. The instruments employed include high-frequency response pressure cells and a large array of surface hot-wire skin-friction gages. Computations at the experimental flow conditions are made using time-dependent solutions of ensemble-averaged Navier-Stokes equations, plus additional equations for the turbulence modeling.

Rubesin, M. W.↗

Control system optimization studies. Volume 2: High frequency cutoff filter analysis

The problem of digital implementation of a cutoff filter is approached with consideration to word length, sampling rate, accuracy requirements, computing time and hardware restrictions. Computing time and hardware requirements for four possible programming forms for the linear portions of the filter are determined. Upper bounds for the steady state system output error due to quantization for digital control systems containing a digital network programmed both in the direct form and in the canonical form are derived. This is accomplished by defining a set of error equations in the z domain and then applying the final value theorem to the solution. Quantization error was found to depend upon the digital word length, sampling rate, and system time constants. The error bound developed may be used to estimate the digital word length and sampling rate required to achieve a given system specification. From the quantization error accumulation, computing time and hardware point of view, and the fact that complex poles and zeros must be realized, the canonical form of programming seems preferable.

Fong, M. H.↗

Spur-gear optimization using SPUROPT computer program

A computer program developed for optimizing spur gear designs, SPUROPT, was updated by installing a new subroutine that uses AGMA 908-B89 standards to calculate the J-factor for determining tooth-bending stress. The updated SPUROPT program was then used to optimize a spur gear set for maximum fatigue life, minimum dynamic load, or minimum weight. All calculations were made with constraints on as many as 13 parameters by using three design variables: the number of teeth, diametral pitch, and tooth-face width. Results depended largely on constraints values. When the limiting bending stress was set at a high value, the optimal solution was the highest allowable number of teeth. When the allowable bending stress was lowered, the optimal solution moved toward the fewest number of teeth permitted. Final results were also affected by the amount of transmission error. A lower error permitted a higher number of teeth.

Coe, Harold H.↗

Autonomy and the human element in space

NASA is contemplating the next logical step in the U.S. space program - the permanent presence of humans in space. As currently envisioned, the initial system, planned for the early 1990's, will consist of manned and unmanned platforms situated primarily in low Earth orbit. The manned component will most likely be inhabited by 6-8 crew members performing a variety of tasks such as materials processing, satellite servicing, and life science experiments. The station thus has utility in scientific and commercial enterprises, in national security, and in the development of advanced space technology. The technical foundations for this next step have been firmly established as a result of unmanned spacecraft missions to other planets, the Apollo program, and Skylab. With the shuttle, NASA inaugurates a new era of frequent flights and more routine space operations supporting a larger variety of missions. A permanently manned space system will enable NASA to expand the scope of its activities still further. Since NASA' s inception there has been an intense debate over the relative merits of manned and unmanned space systems. Despite the generally higher costs associated with manned components, astronauts have accomplished numerous essential, complex tasks in space. The unique human talent to evaluate and respond inventively to unanticipated events has been crucial in many missions, and the presence of crews has helped arouse and sustain public interest in the space program. On the other hand, the hostile orbital environment affects astronaut physiology and productivity, is dangerous, and mandates extensive support systems. Safety and cost factors require the entire station complex, both space and ground components, to be highly automated to free people from mundane operational chores. Recent advances in computer technology, artificial intelligence (AI), and robotics have the potential to greatly extend space station operations, offering lower costs and superior productivity. Extended operations can in turn enhance critical technologies and contribute to the competitive economic abilities of the United States. A high degree of automation and autonomy may be required to reduce dependence on ground systems, reduce mission costs, diminish complexity as perceived by the crew, increase mission lifetime and expand mission versatility. However, technologies dealing with heavily automated, long duration habitable spacecraft have not yet been thoroughly investigated by NASA. A highly automated station must amalgamate the diverse capabilities of people, machines, and computers to yield an efficient system which capitalizes on unique human characteristics. The station also must have an initial design which allows evolution to a larger and more sophisticated space presence. In the early years it is likely that AI-based subsystems will be used primarily in an advisory or planning capacity. As human confidence in automated systems grows and as technology advances, machines will take on more critical and interdependent roles. The question is whether, and how much, system autonomy will lead to improved station effectiveness.

Source record↗

Numerical solutions of Navier-Stokes equations for a Butler wing

The flow field is simulated on the surface of a given delta wing (Butler wing) at zero incident in a uniform stream. The simulation is done by integrating a set of flow field equations. This set of equations governs the unsteady, viscous, compressible, heat conducting flow of an ideal gas. The equations are written in curvilinear coordinates so that the wing surface is represented accurately. These equations are solved by the finite difference method, and results obtained for high-speed freestream conditions are compared with theoretical and experimental results. In this study, the Navier-Stokes equations are solved numerically. These equations are unsteady, compressible, viscous, and three-dimensional without neglecting any terms. The time dependency of the governing equations allows the solution to progress naturally for an arbitrary initial initial guess to an asymptotic steady state, if one exists. The equations are transformed from physical coordinates to the computational coordinates, allowing the solution of the governing equations in a rectangular parallel-piped domain. The equations are solved by the MacCormack time-split technique which is vectorized and programmed to run on the CDC VPS 32 computer.

Abolhassani, J. S.↗