Engineering Papers⌕ Search

SEARCH · Engineering Papers

Results for “THREADED PROGRAMMING”

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

Activate/Inhibit KGCS Gateway via Master Console EIC Pad-B Display

My internship consisted of two major projects for the Launch Control System.The purpose of the first project was to implement the Application Control Language (ACL) to Activate Data Acquisition (ADA) and to Inhibit Data Acquisition (IDA) the Kennedy Ground Control Sub-Systems (KGCS) Gateway, to update existing Pad-B End Item Control (EIC) Display to program the ADA and IDA buttons with new ACL, and to test and release the ACL Display.The second project consisted of unit testing all of the Application Services Framework (ASF) by March 21st. The XmlFileReader was unit tested and reached 100 coverage. The XmlFileReader class is used to grab information from XML files and use them to initialize elements in the other framework elements by using the Xerces C++ XML Parser; which is open source commercial off the shelf software. The ScriptThread was also tested. ScriptThread manages the creation and activation of script threads. A large amount of the time was used in initializing the environment and learning how to set up unit tests and getting familiar with the specific segments of the project that were assigned to us.

Computer Programming↗

Massively Parallel Dantzig-Wolfe Decomposition Applied to Traffic Flow Scheduling

Optimal scheduling of air traffic over the entire National Airspace System is a computationally difficult task. To speed computation, Dantzig-Wolfe decomposition is applied to a known linear integer programming approach for assigning delays to flights. The optimization model is proven to have the block-angular structure necessary for Dantzig-Wolfe decomposition. The subproblems for this decomposition are solved in parallel via independent computation threads. Experimental evidence suggests that as the number of subproblems/threads increases (and their respective sizes decrease), the solution quality, convergence, and runtime improve. A demonstration of this is provided by using one flight per subproblem, which is the finest possible decomposition. This results in thousands of subproblems and associated computation threads. This massively parallel approach is compared to one with few threads and to standard (non-decomposed) approaches in terms of solution quality and runtime. Since this method generally provides a non-integral (relaxed) solution to the original optimization problem, two heuristics are developed to generate an integral solution. Dantzig-Wolfe followed by these heuristics can provide a near-optimal (sometimes optimal) solution to the original problem hundreds of times faster than standard (non-decomposed) approaches. In addition, when massive decomposition is employed, the solution is shown to be more likely integral, which obviates the need for an integerization step. These results indicate that nationwide, real-time, high fidelity, optimal traffic flow scheduling is achievable for (at least) 3 hour planning horizons.

Rios, Joseph Lucio↗

Final Report of the Goddard Summer Workshop Program in Measurement and Simulation of the Space Environments , 15 Jun. - 15 Sep. 1964

The titles of the papers in this section of the 1964 Summer Workshop Report might give the impression that there is little in common between them, that they represent endeavors in widely scattered areas by men working in isolation. But there is a strong thread of unity; none of the work was done in isolation without some cooperation at least from others of Team A or of the Goddard permanent staff. And some of the work was fully a team effort, the joint achievement of many participants. The purpose of this introduction is to show how each of these projects came to be started, and how these separate tasks fit into the long-range objectives of Goddard Space Flight Center and the National Aeronautics and Space Administration.

ENVIRONMENT SIMULATION↗

Commercial Orbital Transportation Services (COTS) Program Lessons Learned

This report has been developed by the National Aeronautics and Space Administration (NASA) Human Exploration and Operations Mission Directorate (HEOMD) Risk Management team in close coordination with the COTS Program. This document provides a point-in-time, cumulative, summary of actionable key lessons learned derived from the design project. Lessons learned invariably address challenges and risks and the way in which these areas have been addressed. Accordingly the risk management thread is woven throughout the document.

COTS↗

Elastic-plastic analysis using a triangular ring element in NASTRAN

An elastic plastic triangular ring element is implemented in NASTRAN computer program. The plane strain problem of partially plastic thick walled cylinder under internal pressure is solved and compared with the earlier finite difference solution. A very good agreement has been reached. In order to demonstrate its application to more general problems, an overloaded thread problem for the British Standard Buttress is examined. The maximum axial and principal stresses are located and their values are determined as functions of loadings.

Chen, P. C. T.↗

Efficient Parallelization of a Dynamic Unstructured Application on the Tera MTA

The success of parallel computing in solving real-life computationally-intensive problems relies on their efficient mapping and execution on large-scale multiprocessor architectures. Many important applications are both unstructured and dynamic in nature, making their efficient parallel implementation a daunting task. This paper presents the parallelization of a dynamic unstructured mesh adaptation algorithm using three popular programming paradigms on three leading supercomputers. We examine an MPI message-passing implementation on the Cray T3E and the SGI Origin2OOO, a shared-memory implementation using cache coherent nonuniform memory access (CC-NUMA) of the Origin2OOO, and a multi-threaded version on the newly-released Tera Multi-threaded Architecture (MTA). We compare several critical factors of this parallel code development, including runtime, scalability, programmability, and memory overhead. Our overall results demonstrate that multi-threaded systems offer tremendous potential for quickly and efficiently solving some of the most challenging real-life problems on parallel computers.

Oliker, Leonid↗

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.↗

Lessons Learned in Architecting Human Spaceflight Programs

This paper discusses the fundamentals of architecting a major human spaceflight program and the lessons that can be learned from Constellation. Constellation is/was NASA's program to implement a new generation of human exploration missions to the moon and beyond. It is/was a tightly-coupled program where a unique set of architectural challenges can be seen and evaluated to better understand how architecting of such systems can be improved upon in the future. While the specific issues discussed in this paper derive from the current Constellation architecture they share threads with previously-crewed systems including Apollo and Shuttle and are likely to be common to any human exploration system or system of significant technical and programmatic complexity.

Muirhead, Brian↗

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↗

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↗

Aspects, Wrappers and Events

This viewgraph presentation provides information on Object Infrastructure Framework (OIF), an Aspect-Oriented Programming (AOP) system. The presentation begins with an introduction to the difficulties and requirements of distributed computing, including functional and non-functional requirements (ilities). The architecture of Distributed Object Technology includes stubs, proxies for implementation objects, and skeletons, proxies for client applications. The key OIF ideas (injecting behavior, annotated communications, thread contexts, and pragma) are discussed. OIF is an AOP mechanism; AOP is centered on: 1) Separate expression of crosscutting concerns; 2) Mechanisms to weave the separate expressions into a unified system. AOP is software engineering technology for separately expressing systematic properties while nevertheless producing running systems that embody these properties.

Filman, Robert E.↗

Development of stitching reinforcement for transport wing panels

The NASA Advanced Composites Technology (ACT) program has the objective of providing the technology required to obtain the full benefit of weight savings and performance improvements offered by composite primary aircraft structures. Achieving the objective is dependent upon developing composite materials and structures which are damage tolerant and economical to manufacture. Researchers are investigating stitching reinforcement combined with resin transfer molding to produce materials meeting the ACT program objective. Research is aimed at materials, processes, and structural concepts for application in both transport wings and fuselages, but the emphasis to date has been on wing panels. Empirical guidelines are being established for stitching reinforcement in structures designed for heavy loads. Results are presented from evaluation tests investigating stitching types, threads, and density (penetrations per square inch). Tension strength, compression strength, and compression after impact data are reported.

Palmer, Raymond J.↗

Clearance Analysis of Node 3 Aft CBM to the Stowed FGB Solar Array

In early 2011, the ISS Vehicle Configuration Office began considering the relocation of the Permanent Multipurpose Module (PMM) to the aft facing Common Berthing Mechanism (CBM) on Node 3 to open a berthing location for visiting vehicles on the Node 1 nadir CBM. In this position, computer-aided design (CAD) models indicated that the aft end of the PMM would be only a few inches from the stowed Functional Cargo Block (FGB) port solar array. To validate the CAD model clearance analysis, in the late summer of 2011 the Image Science and Analysis Group (ISAG) was asked to determine the true geometric relationship between the on-orbit aft facing Node 3 CBM and the FGB port solar array. The desired measurements could be computed easily by photogrammetric analysis if current imagery of the ISS hardware were obtained. Beginning in the fall of 2011, ISAG used the Dynamic Onboard Ubiquitous Graphics (DOUG) program to design a way to acquire imagery of the aft face of Node 3, the aft end-cone of Node 1, the port side of pressurized mating adapter 1 (PMA1), and the port side of the FGB out to the tip of the port solar array using cameras on the Space Station Remote Manipulator System (SSRMS). This was complicated by the need to thread the SSRMS under the truss, past Node 3 and the Cupola, and into the space between the aft side of Node 3 and the FGB solar array to acquire more than 100 images from multiple positions. To minimize the number of SSRMS movements, the Special Purpose Dexterous Manipulator (SPDM) would be attached to the SSRMS. This would make it possible to park the SPDM in one position and acquire multiple images by changing the viewing orientation of the SPDM body cameras using the pan/tilt units on which the cameras are mounted. Using this implementation concept, ISAG identified four SSRMS/SPDM positions from which all of the needed imagery could be acquired. Based on a photogrammetric simulation, it was estimated that the location of the FGB solar array could be measured within an accuracy of about 1 in. in each axis relative to the ISS Analysis Coordinate System (ISSACS). In October 2011, a proposed image-acquisition plan was drafted by ISAG and released for review. The ISS Robotics flight control team (ROBO) proposed minor changes to SPDM positions 1 and 4 to meet ISS proximity requirements. The updated image acquisition plan and draft chit were presented to and approved by the Systems Working Group (SWG) November 18 and were sent to the Vehicle Configuration Board (VCB) in early December 2011. Working with ROBO on 3 successive days (February 21, 22, and 23), ISAG collected 161 images of the ISS. Approximately 40 images were collected from each of the four different SSRMS/SPDM positions, with each set mapping the region from the Node 3 end cone, across Node 1, along the forward port side portion of the FGB, and out the port side FGB solar arrays. From this imagery, the best 80 images were selected for use in the analysis. The images were radiometrically enhanced to improve color and contrast and loaded into the FotoG analysis software along with the camera parameters and control data, which consisted of the coordinates for 54 handrail attachment bolts on the aft face of Node 3, in the ISSACS coordinate system. The results of this analysis produced the measured coordinates of 116 points distributed across the face of the FGB solar array panels (see figure 3) along with propagated uncertainty estimates in each coordinate axis. These results were sent to the ISS Vehicle Configuration Office, which sent them to the Configuration Analysis Modeling and Mass Properties (CAMMP) team for comparison with the Russian-provided CAD model for the retracted FGB solar arrays. The CAMMP analysis unexpectedly showed that the measured location of the port FGB solar array was up to 41-in. further outboard than the design and was slightly twisted about its rotational axis. The unexpected comparison results produced some initial concern regarding the accuracy of the photogrammetric measurements. To verify the measured results, ISAG personnel conducted a second analysis using just the imagery of the solar arrays in an arbitrary coordinate system defined by the three corner points of the inboard-most panel, with the design distance between points A1 and A10 as the only scale. The new measurements agreed with the original results to within less than 1 in. RMS in each axis, confirming the original solar array measurements. ISAG produced a final report for the ISS Vehicle Configuration Office documenting an apparent anomaly in the retracted configuration of the port FGB solar arrays. A copy of the measurement report was translated and sent to the Russian Space Agency. During a Vehicle Integrated Performance and Resources (VIPeR) teleconference September 24, 2012, the Russians acknowledged receipt of a translated copy of the ISAG report. The Russian representative stated that the head of the solar array design team claimed that the measured configuration was impossible unless the structure was physically broken. The Russians acknowledged that they had no expertise in photogrammetry, so the analysis technique employed was a "black box" to them, and they did not know how to use the ISAG results. They asked for a single image in which the overextension of the port solar array could be obviously seen. On November 10, 2012, during a face-to-face meeting with their Russian counterparts at JSC, ISAG presented nadir-view imagery of the FGB acquired during Space Shuttle rendezvous. Using the known width of the pressurized portion of the FGB as a scale, this analysis clearly showed that the port FGB solar array was extended outboard further than the Russian design for the retracted solar array.

Liddle, Donn↗

Nonspace technology resulting from the NASA FLUID connector programs

Leakage at static seals is a problem common to both NASA and industry. The subject of an intensive investigation has been the establishing of design criteria for reliable, low-weight, leak-tight fluid connectors. The problem has been broken into areas of investigation: the structure which supports the actual seal and the seal itself. A Separable Connector Design Handbook has been written to direct designers' efforts toward the optimum connector design for a given purpose. Included in this paper is a brief discussion of the topics covered in the Handbook, notable flanged connector design, threaded connector design, pressure energized seal design, leakage measurement techniques, and a catalog of current satisfactory seal configurations. Also included in this paper is a discussion of the principles of sealing, including the uses and characteristics of elastomers, plastics, and metals. The load-leakage characteristics of seals, the effect of internal pressure, the effect of surface finish on the leakage rate, the mode of material deformation under load, and the advantages of various seal configurations are discussed.

Sealing↗

Heterogeneous concurrent computing with exportable services

Heterogeneous concurrent computing, based on the traditional process-oriented model, is approaching its functionality and performance limits. An alternative paradigm, based on the concept of services, supporting data driven computation, and built on a lightweight process infrastructure, is proposed to enhance the functional capabilities and the operational efficiency of heterogeneous network-based concurrent computing. TPVM is an experimental prototype system supporting exportable services, thread-based computation, and remote memory operations that is built as an extension of and an enhancement to the PVM concurrent computing system. TPVM offers a significantly different computing paradigm for network-based computing, while maintaining a close resemblance to the conventional PVM model in the interest of compatibility and ease of transition Preliminary experiences have demonstrated that the TPVM framework presents a natural yet powerful concurrent programming interface, while being capable of delivering performance improvements of upto thirty percent.

Sunderam, Vaidy↗

Benchmark and Framework for Encouraging Research on Multi-Threaded Testing Tools

A problem that has been getting prominence in testing is that of looking for intermittent bugs. Multi-threaded code is becoming very common, mostly on the server side. As there is no silver bullet solution, research focuses on a variety of partial solutions. In this paper (invited by PADTAD 2003) we outline a proposed project to facilitate research. The project goals are as follows. The first goal is to create a benchmark that can be used to evaluate different solutions. The benchmark, apart from containing programs with documented bugs, will include other artifacts, such as traces, that are useful for evaluating some of the technologies. The second goal is to create a set of tools with open API s that can be used to check ideas without building a large system. For example an instrumentor will be available, that could be used to test temporal noise making heuristics. The third goal is to create a focus for the research in this area around which a community of people who try to solve similar problems with different techniques, could congregate.

Havelund, Klaus↗

Spectral Analysis Tool 6.2 for Windows

Spectral Analysis Tool 6.2 is the latest version of a computer program that assists in analysis of interference between radio signals of the types most commonly used in Earth/spacecraft radio communications. [An earlier version was reported in Software for Analyzing Earth/Spacecraft Radio Interference (NPO-20422), NASA Tech Briefs, Vol. 25, No. 4 (April 2001), page 52.] SAT 6.2 calculates signal spectra, bandwidths, and interference effects for several families of modulation schemes. Several types of filters can be modeled, and the program calculates and displays signal spectra after filtering by any of the modeled filters. The program accommodates two simultaneous signals: a desired signal and an interferer. The interference-to-signal power ratio can be calculated for the filtered desired and interfering signals. Bandwidth-occupancy and link-budget calculators are included for the user s convenience. SAT 6.2 has a new software structure and provides a new user interface that is both intuitive and convenient. SAT 6.2 incorporates multi-tasking, multi-threaded execution, virtual memory management, and a dynamic link library. SAT 6.2 is designed for use on 32- bit computers employing Microsoft Windows operating systems.

Morgan, Feiming↗

BSM Delta Qualification 2, volume 3, book 2

This report, presented in three volumes, provides the results of a two-motor Delta Qualification 2 program conducted in 1993 to certify the following enhancements for incorporation into booster separation motor (BSM0 flight hardware: vulcanized-in-place nozzle aft closure insulation; new iso-static ATJ bulk graphite throat insert material, adhesive EA9394 for bonding the nozzle throat, igniter grain rod/centering insert/igniter case; deletion of the igniter adapter insulator ring; deletion of the igniter adapter/igniter case interface RTV; and deletion of loctite from igniter retainer plate threads. The enhancements above directly resulted from (1) the BSM total quality management (TQM) team initiatives to enhance the BSM producibility, and (2) the necessity to qualify new throat insert and adhesive systems to replace existing materials that will not be available. Testing was completed at both the component and motor levels. Component testing was accomplished to screen candidate materials (e.g., throat materials, adhesive systems) and to optimize processes (e.g., aft closure insulator vulcanization approach) prior to their incorporation into the test motors. Motor testing--consisting of two motors, randomly selected by USBI's on-site quality personnel from production lot AAY, which were modified to accept the enhancements -- was completed to provide the final qualification of the enhancements for incorporation into flight hardware. Volume 3, Book 2 provides various supporting documentation to the previous volumes with regards to the testing of the two Delta qualification units: data acceptance records, thermal conditioning analysis, igniter adapter thermal flake analysis, laboratory adhesive (EA-9394) qualification report, throat insert thermal/structural analysis, Delta Qualification Nonconformance Reports (NCR's), O-ring seating tests, and interim test report for vulcanization process qualification.

Source record↗