Search NASA⌕ Search

SEARCH · Search NASA

Results for “thread parallelism”

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.

90 records · Page 5

Shock interactions with magnetized interstellar clouds. 1: Steady shocks hitting nonradiative clouds

We study the interaction of a steady, planar shock with a nonradiative, spherical, interstellar cloud threaded by a uniform magnetic field. For strong shocks, the sonic Mach number scales out, so two parameters determine the evolution: the ratio of cloud to intercloud density, and the Alfven Mach number. We focus on the case with initial field parallel to the shock velocity, though we also present one model with field perpendicular to the velocity. Even with 100 zones per cloud radius, we find that the magnetic field structure converges only at early times. However, we can draw three conclusions from our work. First, our results suggest that the inclusion of a field in equipartition with the preshock medium can prevent the complete destruction of the cloud found in the field-free case recently considered by Klein, McKee, & Colella. Second, the interaction of the shock with the cloud can amplify the magnetic field in some regions up to equipartition with the post-shock thermal pressure. In the parallel-field case, the shock preferentially amplifies the parallel component of the field, creating a 'flux rope,' a linear structure of concentrated magnetic field. The flux rope dominates the volume of amplified field, so that laminar, rather than turbulent, amplification is dominant in this case. Third, the presence of the cloud enhances the production of X-ray and synchrotron emission. The X-ray emission peaks early, during the initial passage of the shock over the cloud, while the synchrotron emission peaks later, when the flow sweeps magnetic field onto the axis between the cloud and the main shock.

Low, Mordecai-Mark Mac↗

Modeling of outgassing and matrix decomposition in carbon-phenolic composites

Work done in the period Jan. - June 1994 is summarized. Two threads of research have been followed. First, the thermodynamics approach was used to model the chemical and mechanical responses of composites exposed to high temperatures. The thermodynamics approach lends itself easily to the usage of variational principles. This thermodynamic-variational approach has been applied to the transpiration cooling problem. The second thread is the development of a better algorithm to solve the governing equations resulting from the modeling. Explicit finite difference method is explored for solving the governing nonlinear, partial differential equations. The method allows detailed material models to be included and solution on massively parallel supercomputers. To demonstrate the feasibility of the explicit scheme in solving nonlinear partial differential equations, a transpiration cooling problem was solved. Some interesting transient behaviors were captured such as stress waves and small spatial oscillations of transient pressure distribution.

Mcmanus, Hugh L.↗

Improvements to a Batch Pentadiagonal Solver on NVIDIA GPUs

This poster presents the recent work in OVERFLOW to port the batched pentadiagonal solver to NVIDIA GPUs. There are five pentadiagonal systems for each pencil in the grid but three of these systems share the same LHS. Our first simple approach for porting the pentadiagonal solver to the GPUs was to take advantage of the shared LHS by assigning three threads to the three LHS of each pencil. We demonstrated that this custom solver was 92% faster than the NVIDIA batched pentadiagonal library implementation on a V100 GPU due to the lower memory bandwidth requirements. The second approach treated each pentadiagonal system as a 2x2 block tridiagonal system and used a variant of the parallel cyclic reduction algorithm to solve the problem. One benefit of this approach is that it does not require interleaving the data between each system. We demonstrated that this algorithm is 2.18x faster than the NVIDIA library implementation for the same amount of work. If we take advantage of our shared LHS, this approach is 2.58x faster than the library implementation on a V100 GPU.

GPU Programming↗

The heating of a thermally conducting stratified medium. I - Self-gravitating gas threaded by magnetic fields

Two theoretical problems are presented to illustrate the equilibrium structure of a gravitating gas threaded by magnetic fields. The gas is heated everywhere at a rate proportional to the local density and cooled by thermal conduction channeled along the magnetic field. Emphasis is placed on the influence of anisotropic thermal conduction on the distribution of the gas. In the first problem, the magnetic field has straight field lines that are nearly parallel. The simple field line geometry allows us to calculate, in closed form, the equilibria configurations of a gas slab which is cooled nonuniformly by thermal conduction along field lines which leave the gas slab at varying angles. The problem involves the gas having a free boundary, which is one of the unknowns to be determined. A discussion is given of the set of all possible equilibria so constructed. In the second problem there is no electric current flowing in the gas but there is a potential magnetic field having curved field lines. Exact solutions of equilibriums are presented to illustrate the heating of stellar and galactic coronas.

Lerche, I.↗

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↗

Particle signatures of magnetic topology at the magnetopause: AMPTE/CCE observations

Electron distributions at energies above 50 eV have been found to be a sensitive indicator of magnetic topology for magnetopause crossings of the AMPTE/CCE spacecraft. Progressing from the magnetosheath to the magnetosphere two abrupt transitions occur. First, the magnetosheath electron population directed either parallel or antiparallel to the magnetic field is replaced by a streaming, heated magnetosheath electron population. The other half of the distribution is unchanged. The region with unidirectional, heated magnetosheath electrons is identified as the magnetosheath boundary layer (MSBL). Second, the unheated magnetosheath electron population is replaced by a heated population nearly identical to the population encountered in the MSBL, resulting in a symmetric counterstreaming distribution. The region populated by the bidirectional heated magnetosheath electrons is identified as the low-latitude boundary layer (LLBL). The MSBL and LLBL identified by the electron transitions are the same as the regions identified using ion composition measurements. The magnetosheath-MSBL transition reflects a change in magnetic topology from a solar wind field line to one that threads the magnetopause, and the existence of a magnetosheath-MSBL transition implies that the magnetopause is open. When the current layer is easily identified, the MSBL-LLBL transition coincides with the magnetopause current layer, indicating that the magnetosheath electrons are heated in the current layer. Both magnetosheath-MSBL and MSBL-LLBL transitions are observed for low as well as high magnetic shears. Moreover, the transitions are particularly clear for low shear implying that magnetic topology boundaries are sharp even when abrupt changes in the field and other plasma parameters are absent. Furthermore, for low magnetic shear, solar wind ions with low parallel drift speeds make up the majority of the LLBL population indicating that the magnetosheath plasma has convected directly across the magnetosheath plasma has converted directly across the magnetopause. These observations are consistent with quasi-steady, high-latitude reconnection and indicate that the signatures of this reconnection geometry are commonly present in the subpolar region.

Fuselier, S. A.↗

Some calculations bearing on the heating and cooling of quiescent prominences

The evolution of heat along and perpendicular to magnetic fields threading quiescent prominences is discussed. It was shown that while heating of prominence material can occur on a time scale of the order of 1000's, individual flux tubes are effectively thermally insulated from neighboring tubes, since the transverse heat conduction time scale is of the order of 10000 per year. The exact solution to the one-dimensional parallel heat conduction problem is shown to differ significantly from the approximate solution of Ioshpa (1965). It was suggested that uneven heating of a quiescent prominence by the surrounding solar corona may contribute to surges and/or the 'winking' phenomenon recorded in many quiescent prominences. The signature of such a temperature pulse would be a sharp brightening of continuum radiation with a correlated decrease in the free-bound emission, followed by a slow recovery of both to their pre-heat pulse levels.

Lerche, I.↗

An overview of the Opus language and runtime system

We have recently introduced a new language, called Opus, which provides a set of Fortran language extensions that allow for integrated support of task and data parallelism. lt also provides shared data abstractions (SDA's) as a method for communication and synchronization among these tasks. In this paper, we first provide a brief description of the language features and then focus on both the language-dependent and language-independent parts of the runtime system that support the language. The language-independent portion of the runtime system supports lightweight threads across multiple address spaces, and is built upon existing lightweight thread and communication systems. The language-dependent portion of the runtime system supports conditional invocation of SDA methods and distributed SDA argument handling.

Mehrotra, Piyush↗

Integrating end-to-end threads of control into object-oriented analysis and design

Current object-oriented analysis and design methodologies fall short in their use of mechanisms for identifying threads of control for the system being developed. The scenarios which typically describe a system are more global than looking at the individual objects and representing their behavior. Unlike conventional methodologies that use data flow and process-dependency diagrams, object-oriented methodologies do not provide a model for representing these global threads end-to-end. Tracing through threads of control is key to ensuring that a system is complete and timing constraints are addressed. The existence of multiple threads of control in a system necessitates a partitioning of the system into processes. This paper describes the application and representation of end-to-end threads of control to the object-oriented analysis and design process using object-oriented constructs. The issue of representation is viewed as a grouping problem, that is, how to group classes/objects at a higher level of abstraction so that the system may be viewed as a whole with both classes/objects and their associated dynamic behavior. Existing object-oriented development methodology techniques are extended by adding design-level constructs termed logical composite classes and process composite classes. Logical composite classes are design-level classes which group classes/objects both logically and by thread of control information. Process composite classes further refine the logical composite class groupings by using process partitioning criteria to produce optimum concurrent execution results. The goal of these design-level constructs is to ultimately provide the basis for a mechanism that can support the creation of process composite classes in an automated way. Using an automated mechanism makes it easier to partition a system into concurrently executing elements that can be run in parallel on multiple processors.

Mccandlish, Janet E.↗

Porting Gravitational Wave Signal Extraction to Parallel Virtual Machine (PVM)

Laser Interferometer Space Antenna (LISA) is a planned NASA-ESA mission to be launched around 2012. The Gravitational Wave detection is fundamentally the determination of frequency, source parameters, and waveform amplitude derived in a specific order from the interferometric time-series of the rotating LISA spacecrafts. The LISA Science Team has developed a Mock LISA Data Challenge intended to promote the testing of complicated nested search algorithms to detect the 100-1 millihertz frequency signals at amplitudes of 10E-21. However, it has become clear that, sequential search of the parameters is very time consuming and ultra-sensitive; hence, a new strategy has been developed. Parallelization of existing sequential search algorithms of Gravitational Wave signal identification consists of decomposing sequential search loops, beginning with outermost loops and working inward. In this process, the main challenge is to detect interdependencies among loops and partitioning the loops so as to preserve concurrency. Existing parallel programs are based upon either shared memory or distributed memory paradigms. In PVM, master and node programs are used to execute parallelization and process spawning. The PVM can handle process management and process addressing schemes using a virtual machine configuration. The task scheduling and the messaging and signaling can be implemented efficiently for the LISA Gravitational Wave search process using a master and 6 nodes. This approach is accomplished using a server that is available at NASA Ames Research Center, and has been dedicated to the LISA Data Challenge Competition. Historically, gravitational wave and source identification parameters have taken around 7 days in this dedicated single thread Linux based server. Using PVM approach, the parameter extraction problem can be reduced to within a day. The low frequency computation and a proxy signal-to-noise ratio are calculated in separate nodes that are controlled by the master using message and vector of data passing. The message passing among nodes follows a pattern of synchronous and asynchronous send-and-receive protocols. The communication model and the message buffers are allocated dynamically to address rapid search of gravitational wave source information in the Mock LISA data sets.

Thirumalainambi, Rajkumar↗

A Survey of New Trends in Symbolic Execution for Software Testing and Analysis

Symbolic execution is a well-known program analysis technique which represents values of program inputs with symbolic values instead of concrete (initialized) data and executes the program by manipulating program expressions involving the symbolic values. Symbolic execution has been proposed over three decades ago but recently it has found renewed interest in the research community, due in part to the progress in decision procedures, availability of powerful computers and new algorithmic developments. We provide a survey of some of the new research trends in symbolic execution, with particular emphasis on applications to test generation and program analysis. We first describe an approach that handles complex programming constructs such as input data structures, arrays, as well as multi-threading. We follow with a discussion of abstraction techniques that can be used to limit the (possibly infinite) number of symbolic configurations that need to be analyzed for the symbolic execution of looping programs. Furthermore, we describe recent hybrid techniques that combine concrete and symbolic execution to overcome some of the inherent limitations of symbolic execution, such as handling native code or availability of decision procedures for the application domain. Finally, we give a short survey of interesting new applications, such as predictive testing, invariant inference, program repair, analysis of parallel numerical programs and differential symbolic execution.

Pasareanu, Corina S.↗

Thermal stability analysis of the fine structure of solar prominences

The linear thermal stability of a 2D periodic structure (alternatively hot and cold) in a uniform magnetic field is analyzed. The energy equation includes wave heating (assumed proportional to density), radiative cooling and both conduction parallel and orthogonal to magnetic lines. The equilibrium is perturbed at constant gas pressure. With parallel conduction only, it is found to be unstable when the length scale 1// is greater than 45 Mn. In that case, orthogonal conduction becomes important and stabilizes the structure when the length scale is smaller than 5 km. On the other hand, when the length scale is greater than 5 km, the thermal equilibrium is unstable, and the corresponding time scale is about 10,000 s: this result may be compared to observations showing that the lifetime of the fine structure of solar prominences is about one hour; consequently, our computations suggest that the size of the unresolved threads could be of the order of 10 km only.

Demoulin, Pascal↗

Three point lead screw positioning apparatus for a cavity tuning plate

Three lead screws are provided for adjusting the position of a traversing plate. Each of the three lead screws is threaded through a collar that is press fitted through the center of one of three pinion gears. A sun gear meshes with all three pinion gears and transversely moves the three lead screws upon actuation of a drive gear. The drive gear meshes with the sun gear and is driven by a handle or servomotor. When the handle or servomotor rotates the drive gear, the sun gear rotates causing the three pinion gears to rotate, thus, causing transverse movement of the three lead screws and, accordingly, transverse movement of the transversing plate. When the drive gear rotates, the traversing plate is driven in and out of a microwave cavity. Thus, the length or size of the cavity can be tuned while maintaining the traversing plate in an exact parallel relationship with an opposing plate on another end of the cavity.

Calco, Frank S.↗

The scheme machine: A case study in progress in design derivation at system levels

The Scheme Machine is one of several design projects of the Digital Design Derivation group at Indiana University. It differs from the other projects in its focus on issues of system design and its connection to surrounding research in programming language semantics, compiler construction, and programming methodology underway at Indiana and elsewhere. The genesis of the project dates to the early 1980's, when digital design derivation research branched from the surrounding research effort in programming languages. Both branches have continued to develop in parallel, with this particular project serving as a bridge. However, by 1990 there remained little real interaction between the branches and recently we have undertaken to reintegrate them. On the software side, researchers have refined a mathematically rigorous (but not mechanized) treatment starting with the fully abstract semantic definition of Scheme and resulting in an efficient implementation consisting of a compiler and virtual machine model, the latter typically realized with a general purpose microprocessor. The derivation includes a number of sophisticated factorizations and representations and is also deep example of the underlying engineering methodology. The hardware research has created a mechanized algebra supporting the tedious and massive transformations often seen at lower levels of design. This work has progressed to the point that large scale devices, such as processors, can be derived from first-order finite state machine specifications. This is roughly where the language oriented research stops; thus, together, the two efforts establish a thread from the highest levels of abstract specification to detailed digital implementation. The Scheme Machine project challenges hardware derivation research in several ways, although the individual components of the system are of a similar scale to those we have worked with before. The machine has a custom dual-ported memory to support garbage collection. It consists of four tightly coupled processes--processor, collector, allocator, memory--with a very non-trivial synchronization relationship. Finally, there are deep issues of representation for the run-time objects of a symbolic processing language. The research centers on verification through integrated formal reasoning systems, but is also involved with modeling and prototyping environments. Since the derivation algebra is basd on an executable modeling language, there is opportunity to incorporate design animation in the design process. We are looking for ways to move smoothly and incrementally from executable specifications into hardware realization. For example, we can run the garbage collector specification, a Scheme program, directly against the physical memory prototype, and similarly, the instruction processor model against the heap implementation.

Johnson, Steven D.↗

Virtual Machine Language 2.1

VML (Virtual Machine Language) is an advanced computing environment that allows spacecraft to operate using mechanisms ranging from simple, time-oriented sequencing to advanced, multicomponent reactive systems. VML has developed in four evolutionary stages. VML 0 is a core execution capability providing multi-threaded command execution, integer data types, and rudimentary branching. VML 1 added named parameterized procedures, extensive polymorphism, data typing, branching, looping issuance of commands using run-time parameters, and named global variables. VML 2 added for loops, data verification, telemetry reaction, and an open flight adaptation architecture. VML 2.1 contains major advances in control flow capabilities for executable state machines. On the resource requirements front, VML 2.1 features a reduced memory footprint in order to fit more capability into modestly sized flight processors, and endian-neutral data access for compatibility with Intel little-endian processors. Sequence packaging has been improved with object-oriented programming constructs and the use of implicit (rather than explicit) time tags on statements. Sequence event detection has been significantly enhanced with multi-variable waiting, which allows a sequence to detect and react to conditions defined by complex expressions with multiple global variables. This multi-variable waiting serves as the basis for implementing parallel rule checking, which in turn, makes possible executable state machines. The new state machine feature in VML 2.1 allows the creation of sophisticated autonomous reactive systems without the need to develop expensive flight software. Users specify named states and transitions, along with the truth conditions required, before taking transitions. Transitions with the same signal name allow separate state machines to coordinate actions: the conditions distributed across all state machines necessary to arm a particular signal are evaluated, and once found true, that signal is raised. The selected signal then causes all identically named transitions in all present state machines to be taken simultaneously. VML 2.1 has relevance to all potential space missions, both manned and unmanned. It was under consideration for use on Orion.

Riedel, Joseph E.↗

Magnetohydrodynamic simulations of outflows from accretion disks

Magnetohydrodynamic simulations have been made of the formation of outflows from a Keplerian disk threaded by a magnetic field. The disk is treated as a boundary condition, where matter is ejected with Keplerian azimuthal speed and poloidal speed less than the slow magnetosonic velocity, and where boundary conditions on the magnetic field correspond to a highly conducting disk. Initially, the space above the disk, the corona, is filled with high specific entropy plasma in thermal equilibrium in the gravitational potential of the central object. The initial magnetic field is poloidal and is represented by a superposition of monopoles located below the plane of the disk. The rotation of the disk twists the initial poloidal magnetic field, and this twist propagates into the corona pushing and collimating matter into jetlike outflow in a cylindrical region. Matter outflowing from the disk flows and accelerates in the z-direction owing to both the magnetic and pressure gradient forces. The flow accelerates through the slow magnetosonic and Alfven surfaces and at larger distances through the fast magnetosonic surface. The flow velocity of the jet is approximately parallel to the z-axis, and the collimation results from the pinching force of the toroidal magnetic field. For a nonrotating disk no collimation is observed.

Ustyugova, G. V.↗

Promoted-Combustion Chamber with Induction Heating Coil

An improved promoted-combustion system has been developed for studying the effects of elevated temperatures on the flammability of metals in pure oxygen. In prior promoted-combustion chambers, initial temperatures of metal specimens in experiments have been limited to the temperatures of gas supplies, usually near room temperature. Although limited elevated temperature promoted-combustion chambers have been developed using water-cooled induction coils for preheating specimens, these designs have been limited to low-pressure operation due to the hollow induction coil. In contrast, the improved promoted-combustion chamber can sustain a pressure up to 10 kpsi (69 MPa) and, through utilization of a solid induction coil, is capable of preheating a metal specimen up to its melting point [potentially in excess of 2,000 F (approximately equal to 1,100 C)]. Hence, the improved promoted combustion chamber makes a greater range of physical conditions and material properties accessible for experimentation. The chamber consists of a vertical cylindrical housing with an inner diameter of 8 in. (20.32 cm) and an inner height of 20.4 in. (51.81 cm). A threaded, sealing cover at one end of the housing can be unscrewed to gain access for installing a specimen. Inlet and outlet ports for gases are provided. Six openings arranged in a helical pattern in the chamber wall contain sealed sapphire windows for viewing an experiment in progress. The base of the chamber contains pressure-sealed electrical connectors for supplying power to the induction coil. The connectors feature a unique design that prevents induction heating of the housing and the pressure sealing surfaces; this is important because if such spurious induction heating were allowed to occur, chamber pressure could be lost. The induction coil is 10 in. (25.4 cm) long and is fitted with a specimen holder at its upper end. At its lower end, the induction coil is mounted on a ceramic base, which affords thermal insulation to prevent heating of the base of the chamber during use. A sapphire cylinder protects the coil against slag generated during an experiment. The induction coil is energized by a 6-kW water-cooled power supply operating at a frequency of 400 kHz. The induction coil is part of a parallel-tuned circuit, the tuning of which is used to adjust the coupling of power to the specimen. The chamber is mounted on a test stand along with pumps, valves, and plumbing for transferring pressurized gas into and out of the chamber. In addition to multiple video cameras aimed through the windows encircling the chamber, the chamber is instrumented with gauges for monitoring the progress of an experiment. One of the gauges is a dual-frequency infrared temperature transducer aimed at the specimen through one window. Chamber operation is achieved via a console that contains a computer running apparatus-specific software, a video recorder, and real-time video monitors. For safety, a blast wall separates the console from the test stand.

Richardson, Erin↗

Optimization of Elastodynamic Finite Integration Technique on Intel Xeon Phi Knights Landing Processors

This work describes the development and optimization of an implementation of an isotropic elastodynamic finite integration technique (EFIT) code for parallelized computation on Intel Knights Landing (KNL) hardware. EFIT is a numerical approach resulting in standard staggered-grid finite difference equations for the elastodynamic equations of motion to simulate bulk waves is solids. The computationally efficient simulation of elastodynamic wave propagation and interactions in aerospace materials is of high-interest in the fields of nondestructive evaluation (NDE) and structural health monitoring (SHM). Ultrasonic inspection uses an ultrasonic signal, generated at the surface of the material/structure via use of a piezoelectric transducer, to propagate sound waves into the material where it interacts with any existing defects, as well as with structural boundaries and any material inhomogeneity. Reflections from defects and boundaries are then measured by a transducer. Realistic ultrasound simulation tools can significantly aid the development and optimization of inspection techniques and can assist in the interpretation of experimental data. The optimization of an elastodynamics simulation code for the KNL Many Integrated Core processor was performed. The optimization focused on data locality and vectorization. Results show that tiling of the data to exploit the cache behavior and allow for significant utilization of the KNL hardware. The MPI implementation allows for a scalable implementation enabling large problems to be simulated. The model results were validated against theoretical dispersion curves to within 2% of the group velocity, and within 0.5% of the phase velocity of the A0 mode. Aggressive use of tiling, threading, and vectorization techniques allowed for dramatically improved time to solution.

William C. Schneck↗