Engineering Papers⌕ Search

SEARCH · Engineering Papers

Results for “parallel programming patterns”

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

Ordering Traces Logically to Identify Lateness in Parallel Programs

Event traces are a valuable tool for understanding the behavior of parallel programs. Automatically analyzing a large trace, however, especially without a specific objective, is difficult. We aid this process by extracting a trace’s logical structure, an ordering of events derived from their happened before relationships. From this perspective, we can calculate delays relative to peers rather than duration and determine where they begin and how they propagate. The logical structure also acts as a platform for comparing and clustering processes as well as showing communication patterns in a trace visualization. We present an algorithm for determining this idealized logical structure from a trace and develop metrics to quantify delays and differences among processes. We implement this in our novel trace visualizer, Ravel, and apply our approach to several applications, demonstrating the accuracy of our extracted structure and its utility in analyzing these codes.

97 MATHEMATICS AND COMPUTING↗

Analyzing the Energy and Power Consumption of Remote Memory Accesses in the OpenSHMEM Model

PGAS models like OpenSHMEM provide interfaces to explicitly initiate one-sided remote memory accesses among processes. In addition, the model also provides synchronizing barriers to ensure a consistent view of the distributed memory at different phases of an application. The incorrect use of such interfaces affects the scalability achievable while using a parallel programming model. This study aims at understanding the effects of these constructs on the energy and power consumption behavior of OpenSHMEM applications. Our experiments show that cost incurred in terms of the total energy and power consumed depends on multiple factors across the software and hardware stack. We conclude that there is a significant impact on the power consumed by the CPU and DRAM due to multiple factors including the design of the data transfer patterns within an application, the design of the communication protocols within a middleware, the architectural constraints laid by the interconnect solutions, and also the levels of memory hierarchy within a compute node. This work motivates treating energy and power consumption as important factors while designing compute solutions for current and future distributed systems.

Jana, Siddhartha↗

SDS: A Framework for Scientific Data Services

Large-scale scientific applications typically write their data to parallel file systems with organizations designed to achieve fast write speeds. Analysis tasks frequently read the data in a pattern that is different from the write pattern, and therefore experience poor I/O performance. In this paper, we introduce a prototype framework for bridging the performance gap between write and read stages of data access from parallel file systems. We call this framework Scientific Data Services, or SDS for short. This initial implementation of SDS focuses on reorganizing previously written files into data layouts that benefit read patterns, and transparently directs read calls to the reorganized data. SDS follows a client-server architecture. The SDS Server manages partial or full replicas of reorganized datasets and serves SDS Clients' requests for data. The current version of the SDS client library supports HDF5 programming interface for reading data. The client library intercepts HDF5 calls and transparently redirects them to the reorganized data. The SDS client library also provides a querying interface for reading part of the data based on user-specified selective criteria. We describe the design and implementation of the SDS client-server architecture, and evaluate the response time of the SDS Server and the performance benefits of SDS.

59 BASIC BIOLOGICAL SCIENCES↗

Simulation of an array-based neural net model

Research in cognitive science suggests that much of cognition involves the rapid manipulation of complex data structures. However, it is very unclear how this could be realized in neural networks or connectionist systems. A core question is: how could the interconnectivity of items in an abstract-level data structure be neurally encoded? The answer appeals mainly to positional relationships between activity patterns within neural arrays, rather than directly to neural connections in the traditional way. The new method was initially devised to account for abstract symbolic data structures, but it also supports cognitively useful spatial analogue, image-like representations. As the neural model is based on massive, uniform, parallel computations over 2D arrays, the massively parallel processor is a convenient tool for simulation work, although there are complications in using the machine to the fullest advantage. An MPP Pascal simulation program for a small pilot version of the model is running.

Barnden, John A.↗

Automated Performance Prediction of Message-Passing Parallel Programs

The increasing use of massively parallel supercomputers to solve large-scale scientific problems has generated a need for tools that can predict scalability trends of applications written for these machines. Much work has been done to create simple models that represent important characteristics of parallel programs, such as latency, network contention, and communication volume. But many of these methods still require substantial manual effort to represent an application in the model's format. The NIK toolkit described in this paper is the result of an on-going effort to automate the formation of analytic expressions of program execution time, with a minimum of programmer assistance. In this paper we demonstrate the feasibility of our approach, by extending previous work to detect and model communication patterns automatically, with and without overlapped computations. The predictions derived from these models agree, within reasonable limits, with execution times of programs measured on the Intel iPSC/860 and Paragon. Further, we demonstrate the use of MK in selecting optimal computational grain size and studying various scalability metrics.

Block, Robert J.↗

Optoelectronic analogs of self-programming neural nets - Architecture and methodologies for implementing fast stochastic learning by simulated annealing

Self-organization and learning is a distinctive feature of neural nets and processors that sets them apart from conventional approaches to signal processing. It leads to self-programmability which alleviates the problem of programming complexity in artificial neural nets. In this paper architectures for partitioning an optoelectronic analog of a neural net into distinct layers with prescribed interconnectivity pattern to enable stochastic learning by simulated annealing in the context of a Boltzmann machine are presented. Stochastic learning is of interest because of its relevance to the role of noise in biological neural nets. Practical considerations and methodologies for appreciably accelerating stochastic learning in such a multilayered net are described. These include the use of parallel optical computing of the global energy of the net, the use of fast nonvolatile programmable spatial light modulators to realize fast plasticity, optical generation of random number arrays, and an adaptive noisy thresholding scheme that also makes stochastic learning more biologically plausible. The findings reported predict optoelectronic chips that can be used in the realization of optical learning machines.

Farhat, Nabil H.↗

Execution time support for scientific programs on distributed memory machines

Optimizations are considered that are required for efficient execution of code segments that consists of loops over distributed data structures. The PARTI (Parallel Automated Runtime Toolkit at ICASE) execution time primitives are designed to carry out these optimizations and can be used to implement a wide range of scientific algorithms on distributed memory machines. These primitives allow the user to control array mappings in a way that gives an appearance of shared memory. Computations can be based on a global index set. Primitives are used to carry out gather and scatter operations on distributed arrays. Communications patterns are derived at runtime, and the appropriate send and receive messages are automatically generated.

Berryman, Harry↗

Experiences in extending parallware to support OpenACC. In: WACCPD '15 Proceedings of the Second Workshop on Accelerator Programming using Directives, Article No. 4

Porting scientific codes to accelerator-based computers using OpenACC and OpenMP is an important topic for the HPC community. Programmability, performance portability and developer productivity are key issues for the widespread use of these systems. In the scope of general-purpose parallel computing, Parallware is a new commercial OpenMP-enabling source-to-source compiler that automatically adds OpenMP capabilities in scientific programs. Thus, extending Parallware with OpenACC or OpenMP 4.x support would contribute to improve programmability and developer productivity. In contrast, the performance portability of such approach needs to be demonstrated in practice. This paper presents a preliminary study to extend Parallware with OpenACC support for GPU devices. A simple benchmark suite has been designed to mimic important features and computational patterns of real scientific applications. Handcoded OpenACC versions are compared to OpenMP versions automatically generated by Parallware. Performance is evaluated with the PGI OpenACC compiler on systems accelerated with NVIDIA GPUs.

Lobeiras, Jacobo↗

Photonic processing at NASA Ames Research Center

The Photonic Processing group is engaged in applied research on optical processors in support of the Ames vision to lead the development of autonomous intelligent systems. Optical processors, in conjunction with numeric and symbolic processors, are needed to provide the powerful processing capability that is required for many future agency missions. The research program emphasizes application of analog optical processing, where free-space propagation between components allows natural implementations of algorithms requiring a large degree of parallel computation. Special consideration is given in the Ames program to the integration of optical processors into larger, heterogeneous computational systems. Demonstration of the effective integration of optical processors within a broader knowledge-based system is essential to evaluate their potential for dependable operation in an autonomous environment such as space. The Ames Photonics program is currently addressing several areas of interest. One of the efforts is to develop an optical correlator system with two programmable spatial light modulators (SLMs) to perform distortion invariant pattern recognition. Another area of research is optical neural networks, also for use in distortion-invariant pattern recognition.

Ochoa, Ellen↗

A Multiwavenumber Theory for Eddy Diffusivities and Its Application to the Southeast Pacific (DIMES) Region

A multiwavenumber theory is formulated to represent eddy diffusivities. It expands on earlier single-wavenumber theories and includes the wide range of wavenumbers encompassed in eddy motions. In the limiting case in which ocean eddies are only composed of a single wavenumber, the multiwavenumber theory is equivalent to the single-wavenumber theory and both show mixing suppression by the eddy propagation relative to the mean flow. The multiwavenumber theory was tested in a region of the Southern Ocean (70°–45°S, 110°–20°W) that covers the Drake Passage and includes the tracer/float release locations during the Diapycnal and Isopycnal Mixing Experiment in the Southern Ocean (DIMES). Cross-stream eddy diffusivities and mixing lengths were estimated in this region from the single-wavenumber theory, from the multiwavenumber theory, and from floats deployed in a global K 0 ° Parallel Ocean Program (POP) simulation. Compared to the single-wavenumber theory, the horizontal structures of cross-stream mixing lengths from the multiwavenumber theory agree better with the simulated float-based estimates at almost all depth levels. The multiwavenumber theory better represents the vertical structure of cross-stream mixing lengths both inside and outside the Antarctica Circumpolar Current (ACC). Finally, both the single-wavenumber and multiwavenumber theories represent the horizontal structures of cross-stream diffusivities, which resemble the eddy kinetic energy patterns.

54 ENVIRONMENTAL SCIENCES↗

Hgi2 Sub 2 Crystal Growth for Nuclear Detectors

The objectives of this program are to obtain a benchmark quality sample grown at low-g conditions and to study vapor growth phenomena under space conditions. Ground-based crystals show a defect structure which impairs their performance as nuclear radiation detectors. These defects may be caused by the gravitational force acting on the crystal in its weakended state at the elevated growth temperature and by irregular convection patterns in the vapor during growth. Mechanical strength measurements have been performed (uniaxial compression tests) which show that the crystals exhibit slip parallel to the c-planes at stresses as low as 1/2 psi. Preliminary calculations using a simple linearized model indicate the oscillating instabilities in the convection part of the vapor transport system are unlikely, even at 1-g, provided that the utmost care is taken in the preparation of the crystal growth source material.

Schnepple, W. F.↗

Blade row dynamic digital compressor program. Volume 1: J85 clean inlet flow and parallel compressor models

The results are presented of a one-dimensional dynamic digital blade row compressor model study of a J85-13 engine operating with uniform and with circumferentially distorted inlet flow. Details of the geometry and the derived blade row characteristics used to simulate the clean inlet performance are given. A stability criterion based upon the self developing unsteady internal flows near surge provided an accurate determination of the clean inlet surge line. The basic model was modified to include an arbitrary extent multi-sector parallel compressor configuration for investigating 180 deg 1/rev total pressure, total temperature, and combined total pressure and total temperature distortions. The combined distortions included opposed, coincident, and 90 deg overlapped patterns. The predicted losses in surge pressure ratio matched the measured data trends at all speeds and gave accurate predictions at high corrected speeds where the slope of the speed lines approached the vertical.

Tesch, W. A.↗

Mechanisms of heat flux across the Southern Greenland continental shelf in 1/10° and 1/12° ocean/sea ice simulations

The increased presence of warm Atlantic water on the Greenland continental shelf has been connected to the accelerated melting of the Greenland Ice Sheet, particularly in the southwest and southeast shelf regions. Results from two high-resolution coupled ocean-sea ice simulations that utilized either the 1/10-degree Parallel Ocean Program (POP) or the 1/12-degree HYbrid Coordinate Ocean Model (HYCOM) are used to understand the flux of heat on and off the southern Greenland shelf. The analysis reveals that the region of greatest heat flux onto the shelf is southeast Greenland. On the southwestern shelf, heat is mainly exported from the shelf to the interior basins. We identify differences in the shelf break current structure and on-shelf heat content between the two simulations. Just south of the Denmark strait, there is a seasonally persistent pattern of multi-day variability in the cross-shelf heat flux in both simulations. In the POP simulation, this high-frequency signal results in net on-shore heat flux. In the HYCOM simulation, the signal is weaker and results in net off-shelf heat flux. This variability is consistent with Denmark Strait Overflow eddies traveling along the shelf break.

58 GEOSCIENCES↗

PVM Wrapper

PVM Wrapper is a software library that makes it possible for code that utilizes the Parallel Virtual Machine (PVM) software library to run using the message-passing interface (MPI) software library, without needing to rewrite the entire code. PVM and MPI are the two most common software libraries used for applications that involve passing of messages among parallel computers. Since about 1996, MPI has been the de facto standard. Codes written when PVM was popular often feature patterns of {"initsend," "pack," "send"} and {"receive," "unpack"} calls. In many cases, these calls are not contiguous and one set of calls may even exist over multiple subroutines. These characteristics make it difficult to obtain equivalent functionality via a single MPI "send" call. Because PVM Wrapper is written to run with MPI- 1.2, some PVM functions are not permitted and must be replaced - a task that requires some programming expertise. The "pvm_spawn" and "pvm_parent" function calls are not replaced, but a programmer can use "mpirun" and knowledge of the ranks of parent and child tasks with supplied macroinstructions to enable execution of codes that use "pvm_spawn" and "pvm_parent."

Katz, Daniel↗

Portable Parallel Programming for the Dynamic Load Balancing of Unstructured Grid Applications

The ability to dynamically adapt an unstructured -rid (or mesh) is a powerful tool for solving computational problems with evolving physical features; however, an efficient parallel implementation is rather difficult, particularly from the view point of portability on various multiprocessor platforms We address this problem by developing PLUM, tin automatic anti architecture-independent framework for adaptive numerical computations in a message-passing environment. Portability is demonstrated by comparing performance on an SP2, an Origin2000, and a T3E, without any code modifications. We also present a general-purpose load balancer that utilizes symmetric broadcast networks (SBN) as the underlying communication pattern, with a goal to providing a global view of system loads across processors. Experiments on, an SP2 and an Origin2000 demonstrate the portability of our approach which achieves superb load balance at the cost of minimal extra overhead.

Biswas, Rupak↗

Design and testing of the first 2D Prototype Vertically Integrated Pattern Recognition Associative Memory

An associative memory-based track finding approach has been proposed for a Level 1 tracking trigger to cope with increasing luminosities at the LHC. The associative memory uses a massively parallel architecture to tackle the intrinsically complex combinatorics of track finding algorithms, thus avoiding the typical power law dependence of execution time on occupancy and solving the pattern recognition in times roughly proportional to the number of hits. This is of crucial importance given the large occupancies typical of hadronic collisions. The design of an associative memory system capable of dealing with the complexity of HL-LHC collisions and with the short latency required by Level 1 triggering poses significant, as yet unsolved, technical challenges. For this reason, an aggressive R&D program has been launched at Fermilab to advance state of-the-art associative memory technology, the so called VIPRAM (Vertically Integrated Pattern Recognition Associative Memory) project. The VIPRAM leverages emerging 3D vertical integration technology to build faster and denser Associative Memory devices. The first step is to implement in conventional VLSI the associative memory building blocks that can be used in 3D stacking, in other words, the building blocks are laid out as if it is a 3D design. In this paper, we report on the first successful implementation of a 2D VIPRAM demonstrator chip (protoVIPRAM00). The results show that these building blocks are ready for 3D stacking.

46 INSTRUMENTATION RELATED TO NUCLEAR SCIENCE AND ↗

Determining Compression Characteristics of Honeycomb Material - 19674

The objective is to determine compression test characteristics of stainless steel honeycomb material to be able to represent honeycomb structures accurately in analytical models used to simulate hypothetical accident scenarios of shipping packages. Honeycomb is a material used primary in the aerospace industry due to its high strength-to-weight ratio. Because it doesn't have a shelf life and can withstand high heats, it is an excellent candidate for a structural material in package designs. Honeycomb has orthotropic material properties. The honeycomb currently being evaluated is made of metal ribbons spot welded together to form hexagon pattern between metal plates. The hexagon ribbons are brazed to the metal plates. The complexity of the honeycomb significantly lengthens the simulation time, which is further complicated when the brazing, welding, and imperfections of the material is considered. This means to affectively represent the honeycomb in simulation programs, such as Abaqus, the material needs to be approximated as a uniform orthotropic material. This requires material properties in each of the three directions, T, W, and L. The T direction is defined as the 'strong' direction, perpendicular to the honeycomb sheet. The L direction is parallel the ribbon and the W direction is perpendicular to the ribbon. Honeycomb has 3 different compression stages. Stage 1 is the initial compression where the honeycomb maintains its structural integrity and does not permanently deform from loads from normal operations. Stage 2 is when the initial buckling causes irreversible damage to the honeycomb. Stage 2 is the one we are most interested in because it absorbs the most energy from a hypothetical accident scenario. During Stage 2, the honeycomb fails layer-by-layer, indicating that the more layers, the longer material crushing is sustained, and thus the more energy that is absorbed. Stage 3 is final compression, similar to compressing solid metal. During stage 3 the stress increases with a diminishing rate of elongation and the honeycomb is completely failed where the plates between the honeycomb core sandwich the crushed honeycomb ribbon. The stress-strain graph bellow shows compression test of 3 different samples in the T direction. The red lines divide the three stages. The far left is Stage 1, the middle stage 2, and the right stage 3. The data collected is displayed in the table below. The expressions in the table represent the regression formula that represents each stage of the compression on a stress-strain graph. Stage 1 is assumed to intersect with the origin; data for stage 3 for the crush in W and L directions where unable to be gathered due to the nature of failure for those directions. Stage 1 and 2 are linear regressions while stage 3 is a degree 2, to best match the curve. Linear regression is used on stage 2 because ultimately that represents the energy absorbed. With more data, a degree n x 2 regression would be a more appropriate regression for stage 2, where n is the number of layers. The table below is the approximation of each scenario and stage. Each stage starts and ends at the intersection of the next stage. There where two main objectives for these tests: firstly to understand how honeycomb performs under extreme compression, and secondly to be able to numerically represent the honeycomb structure. Both of these where completed to varying degrees. It is important understood how the honeycomb fails. If it is crushed in the T direction it retains its integrity even after being crushed, however when crushed in the L and W crush direction, if it fails, it disintegrates, and loses all integrity. Also, the more layers the more time the material spends in stage 2. Failure is started by buckling, thus if there is any imperfection, the stress will not spike but transition straight into stage 2. The data collected and aggregated can be used for initial simulation of honeycomb used in packages. The initial testing has set the ground work for more data to be collected in order to verify results and to allow more confidence in the simulation results. This is only the initial data collected. The next steps is to continue to collect more data to verify results and to test more variants of honeycomb, with different brazing, layers, and shape.

36 MATERIALS SCIENCE↗

Boosting RDataFrame performance with transparent bulk event processing

RDataFrame is ROOT’s high-level interface for Python and C++ data analysis. Since it first became available, RDataFrame adoption has grown steadily and it is now poised to be a major component of analysis software pipelines for LHC Run 3 and beyond. Thanks to its design inspired by declarative programming principles, RDataFrame enables the development of highperformance, highly parallel analyses without requiring expert knowledge of multi-threading and I/O: user logic is expressed in terms of self-contained, small computation kernels tied together by a high-level API. This design completely decouples analysis logic from its actual execution, and opens several interesting avenues for workflow optimization. In particular, in this work we explore the benefits of moving internal data processing from an event-by-event to a bulkby-bulk loop. This refactoring dramatically reduces the framework’s runtime overheads; in collaboration with the I/O layer it improves data access patterns; it exposes information that optimizing compilers might use to auto-vectorize the invocation of user-defined computations; finally, while existing user-facing interfaces remain unaffected, it becomes possible to additionally offer interfaces that explicitly expose bulks of events, useful e.g. for the injection of GPU kernels into the analysis workflow. In order to inform similar future R&D, design challenges will be presented, as well as an investigation of the relevant timememory trade-off backed by novel performance benchmarks.

Guiraud, Enrico↗