Engineering Papers⌕ Search

SEARCH · Engineering Papers

Results for “program ordering”

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 19 records

Implementation of a First-Order Quadratic Program Solver in C

This paper details a translation of a first order quadratic program (QP) solver from MATLAB to C. NASA could use this QP solver to generate online flight path trajectories for powered descent vehicles during landing. Over 12 weeks, the team designed, implemented, and tested two iterations of the QP solver for accuracy and runtime on 104 benchmark QP tests. The final iteration was 541.07% faster than the first, handling most tests in under one second. Additionally, it solved four more QP tests for N≥1383, and all outputs for cost and D_x matched the MATLAB reference values.

Optimization↗

A progress report on a NASA research program for embedded computer systems software

The paper presents the results of the second stage of the Multipurpose User-oriented Software Technology (MUST) program. Four primary areas of activities are discussed: programming environment, HAL/S higher-order programming language support, the Integrated Verification and Testing System (IVTS), and distributed system language research. The software development environment is provided by the interactive software invocation system. The higher-order programming language (HOL) support chosen for consideration is HAL/S mainly because at the time it was one of the few HOLs with flight computer experience and it is the language used on the Shuttle program. The overall purpose of IVTS is to provide a 'user-friendly' software testing system which is highly modular, user controlled, and cooperative in nature.

Foudriat, E. C.↗

Parallel Conjugate Gradient: Effects of Ordering Strategies, Programming Paradigms, and Architectural Platforms

The Conjugate Gradient (CG) algorithm is perhaps the best-known iterative technique to solve sparse linear systems that are symmetric and positive definite. A sparse matrix-vector multiply (SPMV) usually accounts for most of the floating-point operations within a CG iteration. In this paper, we investigate the effects of various ordering and partitioning strategies on the performance of parallel CG and SPMV using different programming paradigms and architectures. Results show that for this class of applications, ordering significantly improves overall performance, that cache reuse may be more important than reducing communication, and that it is possible to achieve message passing performance using shared memory constructs through careful data ordering and distribution. However, a multi-threaded implementation of CG on the Tera MTA does not require special ordering or partitioning to obtain high efficiency and scalability.

Oliker, Leonid↗

The role of order in distributed programs

The role of order in building distributed systems is discussed. It is the belief that a principle of event ordering underlies the wide range of operating systems mechanisms that were put forward for building robust distributed software. Stated concisely, this principle achieves correct distributed behavior by ordering classes of distributed events that conflict with one another. By focusing on order, simplified descriptions can be obtained and convincingly correct solutions to problems that might otherwise have looked extremely complex. Moreover, it is observed that there are a limited number of ways to obtain order, and that the choice made impacts greatly on performance.

Birman, Kenneth P.↗

Real-Time Multiprocessor Programming Language (RTMPL) user's manual

A real-time multiprocessor programming language (RTMPL) has been developed to provide for high-order programming of real-time simulations on systems of distributed computers. RTMPL is a structured, engineering-oriented language. The RTMPL utility supports a variety of multiprocessor configurations and types by generating assembly language programs according to user-specified targeting information. Many programming functions are assumed by the utility (e.g., data transfer and scaling) to reduce the programming chore. This manual describes RTMPL from a user's viewpoint. Source generation, applications, utility operation, and utility output are detailed. An example simulation is generated to illustrate many RTMPL features.

Arpasi, D. J.↗

Control system software, simulation, and robotic applications

All essential existing capabilities needed to create a man-machine interaction dynamics and performance (MMIDAP) capability are reviewed. The multibody system dynamics software program Order N DISCOS will be used for machine and musculo-skeletal dynamics modeling. The program JACK will be used for estimating and animating whole body human response to given loading situations and motion constraints. The basic elements of performance (BEP) task decomposition methodologies associated with the Human Performance Institute database will be used for performance assessment. Techniques for resolving the statically indeterminant muscular load sharing problem will be used for a detailed understanding of potential musculotendon or ligamentous fatigue, pain, discomfort, and trauma. The envisioned capacity is to be used for mechanical system design, human performance assessment, extrapolation of man/machine interaction test data, biomedical engineering, and soft prototyping within a concurrent engineering (CE) system.

Frisch, Harold P.↗

Preliminary assessment of systems for deriving liquid and gaseous fuels from waste or grown organics

The overall feasibility of the chemical conversion of waste or grown organic matter to fuel is examined from the technical, economic, and social viewpoints. The energy contribution from a system that uses waste and grown organic feedstocks is estimated as 4 to 12 percent of our current energy consumption. Estimates of today's market prices for these fuels are included. Economic and social issues are as important as technology in determining the feasibility of such a proposal. An orderly program of development and demonstration is recommended to provide reliable data for an assessment of the viability of the proposal.

Graham, R. W.↗

ADA and multi-microprocessor real-time simulation

The selection of a high-order programming language for a real-time distributed network simulation is described. The additional problem of implementing a language on a possibly changing network is addressed. The recently designed language ADA (trademarked by DoD) was chosen since it provides the best model of the underlying application to be simulated.

Feyock, S.↗

The application of a second generation low-order panel method - program 'Vsaero' - to powerplant installation studies

Results from the application of a second generation low-order panel method to a number of powerplant installations are presented. The method, which retains the advantages of ease of use and low operating cost of earlier panel methods while retaining the aerodynamic modelling rigor of higher-order methods was used to predict the flow in and around typical nacelles and aircraft for a wide range of conditions. The ability of the second generation low-order analysis to calculate internal flows without the leakage problems associated with earlier programs is demonstrated and correlation between calculated and measured surface pressures and flow behavior, including predicting streamlines and locating regions of separated flow, is presented.

Clark, D. R.↗

The application of a low-order panel method - program VSAERO to powerplant and airframe flow studies

Results from the application of VSAERO, a low-order panel method, to three practical aircraft configurations are presented. The Grumman 698-411 tilt-nacelle V/STOL model is analyzed with particular emphasis on the inlet pressures and the nacelle/fuselage interference effects. Excellent correlation with experiment is reported for the inlet pressure ratio and the inlet operational boundaries. Analysis of an inlet designed for a tilt-rotor/nacelle aircraft is presented. The code was used in a design environment for this configuration to determine an inlet geometry that maintained attached flow for three design flight conditions: hover, hover-transition and cruise. VSAERO is also used to examine the prop-slipstream induced loading for the Langley prop-fan configuration. The versatility and economy of the aerodynamic modeling program, VSAERO, is demonstrated.

Strash, D. J.↗

Effects of Ordering Strategies and Programming Paradigms on Sparse Matrix Computations

The Conjugate Gradient (CG) algorithm is perhaps the best-known iterative technique to solve sparse linear systems that are symmetric and positive definite. For systems that are ill-conditioned, it is often necessary to use a preconditioning technique. In this paper, we investigate the effects of various ordering and partitioning strategies on the performance of parallel CG and ILU(O) preconditioned CG (PCG) using different programming paradigms and architectures. Results show that for this class of applications: ordering significantly improves overall performance on both distributed and distributed shared-memory systems, that cache reuse may be more important than reducing communication, that it is possible to achieve message-passing performance using shared-memory constructs through careful data ordering and distribution, and that a hybrid MPI+OpenMP paradigm increases programming complexity with little performance gains. A implementation of CG on the Cray MTA does not require special ordering or partitioning to obtain high efficiency and scalability, giving it a distinct advantage for adaptive applications; however, it shows limited scalability for PCG due to a lack of thread level parallelism.

Oliker, Leonid↗

Tolerant (parallel) Programming

In order to be truly portable, a program must be tolerant of a wide range of development and execution environments, and a parallel program is just one which must be tolerant of a very wide range. This paper first defines the term "tolerant programming", then describes many layers of tools to accomplish it. The primary focus is on F-Nets, a formal model for expressing computation as a folded partial-ordering of operations, thereby providing an architecture-independent expression of tolerant parallel algorithms. For implementing F-Nets, Cooperative Data Sharing (CDS) is a subroutine package for implementing communication efficiently in a large number of environments (e.g. shared memory and message passing). Software Cabling (SC), a very-high-level graphical programming language for building large F-Nets, possesses many of the features normally expected from today's computer languages (e.g. data abstraction, array operations). Finally, L2(sup 3) is a CASE tool which facilitates the construction, compilation, execution, and debugging of SC programs.

DiNucci, David C.↗

Automated Scalability Analysis Tools for Message Passing Parallel Programs

In order to develop scalable parallel applications, a number of programming decisions have to be made during the development of the program. Performance tools that help in making these decisions are few, if existent. Traditionally, performance tools have focused on exposing performance bottlenecks of small-scale executions of the program. However, it is common knowledge that programs that perform exceptionally well on small processor configurations, more often than not, perform poorly when executed on larger processor configurations. Hence, new tools that predict the execution characteristics of scaled-up programs are an essential part of an application developers toolkit. In this paper we discuss important issues that need to be considered in order to build useful scalability analysis tools for parallel programs. We introduce a simple tool that automatically extracts scalability characteristics of a class of deterministic parallel programs. We show with the help of a number of results on the Intel iPSC/860, that predictions are within reasonable bounds.

Sarukkai, Sekhar R.↗

Computer program provides linear sampled- data analysis for high order systems

Computer program performs transformations in the order S-to W-to Z to allow arithmetic to be completed in the W-plane. The method is based on a direct transformation from the S-plane to the W-plane. The W-plane poles and zeros are transformed into Z-plane poles and zeros using the bilinear transformation algorithm.

Bunn, D. B.↗

Addition of higher order plate and shell elements into NASTRAN computer program

Two higher order plate elements, the linear strain triangular membrane element and the quintic bending element, along with a shallow shell element, suitable for inclusion into the NASTRAN (NASA Structural Analysis) program are described. Additions to the NASTRAN Theoretical Manual, Users' Manual, Programmers' Manual and the NASTRAN Demonstration Problem Manual, for inclusion of these elements into the NASTRAN program are also presented.

Narayanaswami, R.↗