Engineering Papers⌕ Search

SEARCH · Engineering Papers

Results for “Multithreading”

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.

86 records · Page 5

Activity-Centric Approach to Distributed Programming

The first phase of an effort to develop a NASA version of the Cybele software system has been completed. To give meaning to even a highly abbreviated summary of the modifications to be embodied in the NASA version, it is necessary to present the following background information on Cybele: Cybele is a proprietary software infrastructure for use by programmers in developing agent-based application programs [complex application programs that contain autonomous, interacting components (agents)]. Cybele provides support for event handling from multiple sources, multithreading, concurrency control, migration, and load balancing. A Cybele agent follows a programming paradigm, called activity-centric programming, that enables an abstraction over system-level thread mechanisms. Activity centric programming relieves application programmers of the complex tasks of thread management, concurrency control, and event management. In order to provide such functionality, activity-centric programming demands support of other layers of software. This concludes the background information. In the first phase of the present development, a new architecture for Cybele was defined. In this architecture, Cybele follows a modular service-based approach to coupling of the programming and service layers of software architecture. In a service-based approach, the functionalities supported by activity-centric programming are apportioned, according to their characteristics, among several groups called services. A well-defined interface among all such services serves as a path that facilitates the maintenance and enhancement of such services without adverse effect on the whole software framework. The activity-centric application-program interface (API) is part of a kernel. The kernel API calls the services by use of their published interface. This approach makes it possible for any application code written exclusively under the API to be portable for any configuration of Cybele.

Levy, Renato↗

SequenceL: Automated Parallel Algorithms Derived from CSP-NT Computational Laws

With the introduction of new parallel architectures like the cell and multicore chips from IBM, Intel, AMD, and ARM, as well as the petascale processing available for highend computing, a larger number of programmers will need to write parallel codes. Adding the parallel control structure to the sequence, selection, and iterative control constructs increases the complexity of code development, which often results in increased development costs and decreased reliability. SequenceL is a high-level programming language that is, a programming language that is closer to a human s way of thinking than to a machine s. Historically, high-level languages have resulted in decreased development costs and increased reliability, at the expense of performance. In recent applications at JSC and in industry, SequenceL has demonstrated the usual advantages of high-level programming in terms of low cost and high reliability. SequenceL programs, however, have run at speeds typically comparable with, and in many cases faster than, their counterparts written in C and C++ when run on single-core processors. Moreover, SequenceL is able to generate parallel executables automatically for multicore hardware, gaining parallel speedups without any extra effort from the programmer beyond what is required to write the sequen tial/singlecore code. A SequenceL-to-C++ translator has been developed that automatically renders readable multithreaded C++ from a combination of a SequenceL program and sample data input. The SequenceL language is based on two fundamental computational laws, Consume-Simplify- Produce (CSP) and Normalize-Trans - pose (NT), which enable it to automate the creation of parallel algorithms from high-level code that has no annotations of parallelism whatsoever. In our anecdotal experience, SequenceL development has been in every case less costly than development of the same algorithm in sequential (that is, single-core, single process) C or C++, and an order of magnitude less costly than development of comparable parallel code. Moreover, SequenceL not only automatically parallelizes the code, but since it is based on CSP-NT, it is provably race free, thus eliminating the largest quality challenge the parallelized software developer faces.

Cooke, Daniel↗

Optimizing Integrated Terminal Airspace Operations Under Uncertainty

In the terminal airspace, integrated departures and arrivals have the potential to increase operations efficiency. Recent research has developed geneticalgorithm- based schedulers for integrated arrival and departure operations under uncertainty. This paper presents an alternate method using a machine jobshop scheduling formulation to model the integrated airspace operations. A multistage stochastic programming approach is chosen to formulate the problem and candidate solutions are obtained by solving sample average approximation problems with finite sample size. Because approximate solutions are computed, the proposed algorithm incorporates the computation of statistical bounds to estimate the optimality of the candidate solutions. A proof-ofconcept study is conducted on a baseline implementation of a simple problem considering a fleet mix of 14 aircraft evolving in a model of the Los Angeles terminal airspace. A more thorough statistical analysis is also performed to evaluate the impact of the number of scenarios considered in the sampled problem. To handle extensive sampling computations, a multithreading technique is introduced.

air traffic optimization↗

Exact and Approximate Probabilistic Symbolic Execution

Probabilistic software analysis seeks to quantify the likelihood of reaching a target event under uncertain environments. Recent approaches compute probabilities of execution paths using symbolic execution, but do not support nondeterminism. Nondeterminism arises naturally when no suitable probabilistic model can capture a program behavior, e.g., for multithreading or distributed systems. In this work, we propose a technique, based on symbolic execution, to synthesize schedulers that resolve nondeterminism to maximize the probability of reaching a target event. To scale to large systems, we also introduce approximate algorithms to search for good schedulers, speeding up established random sampling and reinforcement learning results through the quantification of path probabilities based on symbolic execution. We implemented the techniques in Symbolic PathFinder and evaluated them on nondeterministic Java programs. We show that our algorithms significantly improve upon a state-of- the-art statistical model checking algorithm, originally developed for Markov Decision Processes.

Symbolic Execution↗

DAQ: Software Architecture for Data Acquisition in Sounding Rockets

A multithreaded software application was developed by Jet Propulsion Lab (JPL) to collect a set of correlated imagery, Inertial Measurement Unit (IMU) and GPS data for a Wallops Flight Facility (WFF) sounding rocket flight. The data set will be used to advance Terrain Relative Navigation (TRN) technology algorithms being researched at JPL. This paper describes the software architecture and the tests used to meet the timing and data rate requirements for the software used to collect the dataset. Also discussed are the challenges of using commercial off the shelf (COTS) flight hardware and open source software. This includes multiple Camera Link (C-link) based cameras, a Pentium-M based computer, and Linux Fedora 11 operating system. Additionally, the paper talks about the history of the software architecture's usage in other JPL projects and its applicability for future missions, such as cubesats, UAVs, and research planes/balloons. Also talked about will be the human aspect of project especially JPL's Phaeton program and the results of the launch.

Ahmad, Mohammad↗

Data-Driven Radiative Hydrodynamic Modeling of the 2014 March 29 X1.0 Solar Flare

Spectroscopic observations of solar flares provide critical diagnostics of the physical conditions in the flaring atmosphere. Some key features in observed spectra have not yet been accounted for in existing flare models. Here we report a data-driven simulation of the well-observed X1.0 flare on 2014 March 29 that can reconcile some well-known spectral discrepancies. We analyzed spectra of the flaring region from the Interface Region Imaging Spectrograph (IRIS) in Mg II hk, the Interferometric BIdimensional Spectropolarimeter at the Dunn Solar Telescope (DSTIBIS) in H(alpha) 6563A and Ca II 8542A, and the Reuven Ramaty High Energy Solar Spectroscope Imager (RHESSI) in hard X-rays. We constructed a multithreaded flare loop model and used the electron flux inferred from RHESSI data as the input to the radiative hydrodynamic code RADYN to simulate the atmospheric response. We then synthesized various chromospheric emission lines and compared them with the IRIS and IBIS observations. In general, the synthetic intensities agree with the observed ones, especially near the northern footpoint of the flare. The simulated Mg II line profile has narrower wings than the observed one. This discrepancy can be reduced by using a higher microturbulent velocity (27 km/s) in a narrow chromospheric layer. In addition, we found that an increase of electron density in the upper chromosphere within a narrow height range of approx. 800 km below the transition region can turn the simulated Mg II line core into emission and thus reproduce the single peaked profile, which is a common feature in all IRIS flares.

Da Costa, Fatima Rubio↗

A Single Thread to Fortran Coarray Transition Process for the Control Algorithm in the Space Radiation Code HZETRN

Exa-scale computing is the direction by industry and government are going to generate solutions to problems they deem necessary. Computing hardware is being developed to achieve the transition from Peta-scale to Exa-scale with more CPUs (Central Processing Units) that have more cores per CPU and more accelerators (GPGPUs (General Purpose Graphics Processing Units) and MICs (Many Integrated Cores)) per node. To fully utilize the hardware available now and in the future, algorithms must become multi-threaded. There are a few methods to generate multi-threaded software such as MPI (Message Passing Interface) and OpenMP (Multi-Processing) / OpenACC (ACCelerator). This paper concentrates on using Coarray Fortran to convert the Fortran 95 based HZETRN (High Z and Energy TRaNsport) code's control algorithm from a single threaded code to a multithreaded code. The resultant Coarray code was 32.5 times faster (with a theoretical speed-up of 74.5 times) than the single threaded version on the hardware tested, as reliable as the Fortran 95 version, and, as it uses native Fortran, was as maintainable as the Fortran 95 version. The Coarray code can be maintained by the same project engineers and scientists who created the original single threaded code. This transition process can be utilized on a C language based code with a compiler that has the UPC (Universal Parallel C) extensions to C.

Singleterry, Robert C., Jr.↗

Software Development for SonicSonde Instrumentation Suite

The SonicSonde is an innovative weather instrumentation suite for boundary layer sampling. Software development included creating a graphical user interface (GUI) to receive, process, archive, and display data in real-time. Targeted at the Windows operating system but with multi-platform extensibility in mind, the GUI was developed using Qt 5.14 in C++. A key design consideration was to allow for tailored displays and analysis while also permitting additional sensors to be added to the platform. As such, the application relies heavily on flexible interfaces and multithreading processing for capturing, modelling, and plotting data. The object-oriented nature of Qt made it ideal for this purpose. The application supports input through live serial streams and static .csv or .dat files, custom meteorological graphs, and user-dictated panel views and output intervals. Additionally, the GUI displays real-time information about the state of the instrument. The versatility of the SonicSonde will allow meteorologists and researchers to perform or better support a variety of aeronautic and atmospheric missions.

meterology↗

The Harmonic Linearized Navier-Stokes Equations for Transition Prediction in Three-Dimensional Flows

The conventional method to predict the onset of laminar-turbulent transition in convectively unstable boundary-layer flows is based on the logarithmic amplification ratio, the so-called N-factor, of the linear instability waves. To calculate the N-factor, the flow variables are decomposed into a laminar basic state solution and the linear disturbances, which are assumed to be harmonic in time. The most commonly used linear stability analysis approaches include the locally parallel linear stability theory (LST) and the nonlocal, weakly nonparallel parabolized stability equations (PSE). However, these methods do not account for strong streamwise gradients that are encountered in several configurations of interest, such as those in the vicinity of roughness elements, steps, gaps, or corners. To compute the linear evolution of disturbances along such strongly nonparallel regions, the harmonic linearized Navier-Stokes equations (HLNSE) need to be solved. The discretization of the HLNSE for spanwise/azimuthally inhomogeneous laminar basic states yields a linear system of complex arithmetic with a leading dimension of the order of 10^(7) to 10^(8) even in relatively simple flows. A combined multithread and multiprocessor algorithm is implemented for the direct solution of such linear systems. Results for a supersonic boundary layer over a three-dimensional roughness patch show good agreement with experimental measurements when the evolution of the instability waves over the roughness patch is included via the HLNSE. Additionally, inflow-resolvent analysis based on the HLNSE for discrete-roughness-induced disturbances in the nose tip of a blunt cone at Mach 6 demonstrates the importance of including the disturbance amplification along the near vicinity of the roughness element and separation region.

Boundary Layer Stability↗

The Harmonic Linearized Navier-Stokes Equations for Transition Prediction in Three-Dimensional Flows

The conventional method to predict the onset of laminar-turbulent transition in convectively unstable boundary-layer flows is based on the logarithmic amplification ratio, the so-called N-factor, of the linear instability waves. To calculate the N-factor, the flow variables are decomposed into a laminar basic state solution and the linear disturbances, which are assumed to be harmonic in time. The most commonly used linear stability analysis approaches include the locally parallel linear stability theory (LST) and the non-local, weakly nonparallel parabolized stability equations (PSE). However, these methods do not account for strong streamwise gradients that are encountered in several configurations of interest, as roughness elements, steps, gaps, or corners. To solve the linear evolution of disturbances along such strongly nonparallel regions, the harmonic linearized Navier-Stokes equations (HLNSE) need to be solved. The discretization of the HLNSE for spanwise/azimuthally inhomogeneous laminar basic states yields a linear system of complex arithmetic with a leading dimension of the order of 107 to 108. A combined multithread and multiprocessor algorithm is implemented for the direct solution of such linear system. Results for a supersonic boundary layer over a three-dimensional roughness patch show good agreement with experimental measurements when the evolution of the instability waves over the roughness patch is included via the HLNSE.

Boundary Layer Stability↗

CMSSW Scaling Limits on Many-Core Machines

Today the LHC offline computing relies heavily on CPU resources, despite the interest in compute accelerators, such as GPUs, for the longer term future. The number of cores per CPU socket has continued to increase steadily, reaching the levels of 64 cores (128 threads) with recent AMD EPYC processors, and 128 cores on Ampere Altra Max ARM processors. Over the course of the past decade, the CMS data processing framework, CMSSW, has been transformed from a single-threaded framework into a highly concurrent one. The first multithreaded version was brought into production by the start of the LHC Run 2 in 2015. Since then, the framework's threading efficiency has gradually been improved by adding more levels of concurrency and reducing the amount of serial code paths. The latest addition was support for concurrent Runs. In this work we review the concurrency model of the CMSSW, and measure its scalability with real CMS applications, such as simulation and reconstruction, on mode rn many-core machines. We show metrics such as event processing throughput and application memory usage with and without the contribution of I/O, as I/O has been the major scaling limitation for the CMS applications.

72 PHYSICS OF ELEMENTARY PARTICLES AND FIELDS↗

EXCLUSIVE NEUTRAL PION ELECTROPRODUCTION CROSS SECTION MEASUREMENTSWITHANEUTRALPARTICLE SPECTROMETER

Deep Virtual Compton Scattering (DVCS), the exclusive electron-proton scattering process ep ¿e'p'¿, provides access to generalized parton distributions (GPDs), which correlate information about the longitudinal momentum and transverse spatial structure of quarks inside the nucleon. Experiment E12-13-010 in Hall C at Jefferson Lab was designed to take high-precision measurements of the DVCS cross section over an extended kinematic range using the newly commissioned Neutral Particle Spectrometer (NPS). The NPS features a high-resolution electromagnetic calorimeter and a streaming data acquisition system optimized for operation at high luminosities. This thesis presents the detector and analysis work carried out to support the NPS DVCS program. In particular, it focuses on the hardware design, calibration, and performance of the calorimeter. A development of a waveform reconstruction analysis of the calorimeter signals enabled improved extraction of pulse amplitudes and times. The waveform analysis was also extended to operate in a multithreaded environment, substantially reducing processing time for large datasets. Analysis of exclusive neutral pion electroproduction events in the calorimeter gives a strong validation of the calorimeter’s performance and resolution. Together these developments establish a foundation for future analyses and extraction of the DVCS cross section and its use in constraining the GPDs.

Kerver, Mitchell [Old Dominion Univ., Norfolk, VA ↗

Performance of Julia for High Energy Physics Analyses

We argue that the Julia programming language is a compelling alternative to currently more common implementations in Python and C++ for common data analysis workflows in high energy physics. We compare the speed of implementations of different workflows in Julia with those in Python and C++. Furthermore, our studies show that the Julia implementations are competitive for tasks that are dominated by computational load rather than data access. For work that is dominated by data access, we demonstrate an application with concurrent file reading and parallel data processing.

97 MATHEMATICS AND COMPUTING↗

Analyzing the Performance Trade-Off in Implementing User-Level Threads

User-level threads have been widely adopted as a means of achieving lightweight concurrent execution without the costs of OS-level threads. Nevertheless, the costs of managing user-level threads represent a performance barrier that dictates how fine grained the concurrency exposed by an application can be without incurring significant overheads; this in turn may translate into insufficient parallelism to exploit highly parallel systems. This article is a deep dive into the fundamental costs in implementing user-level threads. We first identify that one of the highest sources of fork-join overheads stems from deviations, events that incur context switching during the execution of a thread and disrupt a run-to-completion execution. We then conduct an in-depth investigation of a wide spectrum of methods with respect to how they handle deviations while covering both parent- and child-first scheduling policies. Our methodology involves a comprehensive instruction- and cache-level analysis of all methods on several modern CPU architectures. Finally, the primary finding of our evaluation is that dynamic promotion methods that assume the absence of deviation and dynamically provide context-switching support offer the best trade-off between performance and capability when the likelihood of deviation is low.

97 MATHEMATICS AND COMPUTING↗