Search NASA⌕ Search

SEARCH · Search NASA

Results for “multi-threaded”

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 145 records · Page 8

High-Performance, Multi-Node File Copies and Checksums for Clustered File Systems

Modern parallel file systems achieve high performance using a variety of techniques, such as striping files across multiple disks to increase aggregate I/O bandwidth and spreading disks across multiple servers to increase aggregate interconnect bandwidth. To achieve peak performance from such systems, it is typically necessary to utilize multiple concurrent readers/writers from multiple systems to overcome various singlesystem limitations, such as number of processors and network bandwidth. The standard cp and md5sum tools of GNU coreutils found on every modern Unix/Linux system, however, utilize a single execution thread on a single CPU core of a single system, and hence cannot take full advantage of the increased performance of clustered file systems. Mcp and msum are drop-in replacements for the standard cp and md5sum programs that utilize multiple types of parallelism and other optimizations to achieve maximum copy and checksum performance on clustered file systems. Multi-threading is used to ensure that nodes are kept as busy as possible. Read/write parallelism allows individual operations of a single copy to be overlapped using asynchronous I/O. Multinode cooperation allows different nodes to take part in the same copy/checksum. Split-file processing allows multiple threads to operate concurrently on the same file. Finally, hash trees allow inherently serial checksums to be performed in parallel. Mcp and msum provide significant performance improvements over standard cp and md5sum using multiple types of parallelism and other optimizations. The total speed-ups from all improvements are significant. Mcp improves cp performance over 27x, msum improves md5sum performance almost 19x, and the combination of mcp and msum improves verified copies via cp and md5sum by almost 22x. These improvements come in the form of drop-in replacements for cp and md5sum, so are easily used and are available for download as open source software at http://mutil.sourceforge.net.

Kolano, Paul Z.↗

2nd-Order CESE Results For C1.4: Vortex Transport by Uniform Flow

The Conservation Element and Solution Element (CESE) method was used as implemented in the NASA research code ez4d. The CESE method is a time accurate formulation with flux-conservation in both space and time. The method treats the discretized derivatives of space and time identically and while the 2nd-order accurate version was used, high-order versions exist, the 2nd-order accurate version was used. In regards to the ez4d code, it is an unstructured Navier-Stokes solver coded in C++ with serial and parallel versions available. As part of its architecture, ez4d has the capability to utilize multi-thread and Messaging Passage Interface (MPI) for parallel runs.

Space-time CE/SE method↗

AFRC Core Simulation Overview

Overview of the AFRC Core Simulation Framework and Software Engineering processes. This is a common technology used for advance programming of multi-threaded applications such as the core simulation.

applications↗

A Hybrid FPGA/Tilera Compute Element for Autonomous Hazard Detection and Navigation

To increase safety for future missions landing on other planetary or lunar bodies, the Autonomous Landing and Hazard Avoidance Technology (ALHAT) program is developing an integrated sensor for autonomous surface analysis and hazard determination. The ALHAT Hazard Detection System (HDS) consists of a Flash LIDAR for measuring the topography of the landing site, a gimbal to scan across the terrain, and an Inertial Measurement Unit (IMU), along with terrain analysis algorithms to identify the landing site and the local hazards. An FPGA and Manycore processor system was developed to interface all the devices in the HDS, to provide high-resolution timing to accurately measure system state, and to run the surface analysis algorithms quickly and efficiently. In this paper, we will describe how we integrated COTS components such as an FPGA evaluation board, a TILExpress64, and multi-threaded/multi-core aware software to build the HDS Compute Element (HDSCE). The ALHAT program is also working with the NASA Morpheus Project and has integrated the HDS as a sensor on the Morpheus Lander. This paper will also describe how the HDS is integrated with the Morpheus lander and the results of the initial test flights with the HDS installed. We will also describe future improvements to the HDSCE.

Multicore↗

A Tool for Intersecting Context-Free Grammars and Its Applications

This paper describes a tool for intersecting context-free grammars. Since this problem is undecidable the tool follows a refinement-based approach and implements a novel refinement which is complete for regularly separable grammars. We show its effectiveness for safety verification of recursive multi-threaded programs.

Context Free Grammar↗

A hybrid FPGA/Tilera compute element for autonomous hazard detection and navigation

To increase safety for future missions landing on other planetary or lunar bodies, the Autonomous Landing and Hazard Avoidance Technology (ALHAT) program is developing an integrated sensor for autonomous surface analysis and hazard determination. The ALHAT Hazard Detection System (HDS) consists of a Flash LIDAR for measuring the topography of the landing site, a gimbal to scan across the terrain, and an Inertial Measurement Unit (IMU), along with terrain analysis algorithms to identify the landing site and the local hazards. An FPGA and Manycore processor system was developed to interface all the devices in the HDS, to provide high-resolution timing to accurately measure system state, and to run the surface analysis algorithms quickly and efficiently. In this paper, we will describe how we integrated COTS components such as an FPGA evaluation board, a TILExpress64, and multi-threaded/multi-core aware software to build the HDS Compute Element (HDSCE). The ALHAT program is also working with the NASA Morpheus Project and has integrated the HDS as a sensor on the Morpheus Lander. This paper will also describe how the HDS is integrated with the Morpheus lander and the results of the initial test flights with the HDS installed. We will also describe future improvements to the HDSCE.

Trawny, Nikolas↗

Educational and Scientific Applications of Climate Model Diagnostic Analyzer

Climate Model Diagnostic Analyzer (CMDA) is a web-based information system designed for the climate modeling and model analysis community to analyze climate data from models and observations. CMDA provides tools to diagnostically analyze climate data for model validation and improvement, and to systematically manage analysis provenance for sharing results with other investigators. CMDA utilizes cloud computing resources, multi-threading computing, machine-learning algorithms, web service technologies, and provenance-supporting technologies to address technical challenges that the Earth science modeling and model analysis community faces in evaluating and diagnosing climate models. As CMDA technology and infrastructure have matured, we have developed the educational and scientific applications of CMDA. Educationally, CMDA supported the summer school of the JPL Center for Climate Sciences in 2014, 2015, and 2016. In the summer school, the students work on group research projects where CMDA provide datasets, analysis tools, and provenance support utility tools. Each student is assigned to a virtual machine with CMDA installed in Amazon Web Services. Scientifically, we have developed several science use cases of CMDA covering various topics, datasets, and analysis types. Each of the science use cases is described in terms of a scientific goal, datasets used, the analysis tools used, scientific results discovered, an analysis result such as output plots and data files, and a link to the corresponding analysis service call with all the input arguments filled.

Bao, Qihao↗

Test Facilities for SHERLOC Laser Development

The Scanning Habitable Environments with Raman and Luminescence for Organics and Chemicals (SHERLOC) instrument is a deep UV laser based spectrometer that is part of NASA’s Mars Perseverance rover. The laser is a pulsed 248.6 nm NeCu hollow cathode gas discharge laser. The design, development, and testing of lasers and laser power supplies (LPS) were performed by scientists and engineers at the Jet Propulsion Laboratory (JPL) and Photon Systems Inc. (PSI). While these lasers had been used previously in extreme terrestrial environments, before they had to be qualified for operation and functionality over the expected range of environmental situations (temperature cycling, vibration, mechanical shock, low pressure corona emission testing) over the course of mission life time. The SHERLOC laser/LPS testing facilities consisted of custom-tailored environmental test chambers with metrology/control electronics. A custom LabVIEW software package was developed to autonomously operate all test facilities using a multi-threaded, object-oriented programming architecture, tasked with interfacing with many instruments simultaneously for operation and data acquisition.

Houck, Andrew↗

Jali - Unstructured Mesh Infrastructure for Multi-Physics Applications

Jali is a parallel unstructured mesh infrastructure library designed for use by multi-physics simulations. It supports 2D and 3D arbitrary polyhedral meshes distributed over hundreds to thousands of nodes. Jali can read write Exodus II meshes along with fields and sets on the mesh and support for other formats is partially implemented or is (https://github.com/MeshToolkit/MSTK), an open source general purpose unstructured mesh infrastructure library from Los Alamos National Laboratory. While it has been made to work with other mesh frameworks such as MOAB and STKmesh in the past, support for maintaining the interface to these frameworks has been suspended for now. Jali supports distributed as well as on-node parallelism. Support of on-node parallelism is through direct use of the the mesh in multi-threaded constructs or through the use of "tiles" which are submeshes or sub-partitions of a partition destined for a compute node.

Garimella, Rao V↗

AutoBEMGen

Generating energy models from scratch is a costly and time consuming task. A detailed energy model can have thousands of input parameters that are necessary for a complete simulation of a building. A solution to this problem is the AutoBEMGen framework. This Python-based framework requires a user supplied data file, currently in comma separated variable format, that defines a subset of building properties and parameters to quickly and easily generate a building energy model. This building properties include building type, 2-D footprint, number of floors, window-to-wall ratio, and more. AutoBEMGen then uses OpenStudio and EnergyPlus, two of DOE's flagship energy modeling tools, to create and simulate an OpenStudio model and EnergyPlus input file. Additionally, the AutoBEMGen framework is scalable to any number of user supplied buildings in the data field by leveraging multi-threading built into the Python programming language. By leveraging a small subset of building inputs required from end users, AutoBEMGen is able to generate complete building enervy models in a fraction of the time compared to generating them from scratch.

Adams, Mark B↗

A Projective Phase Space Generator for Hadronic Vector Boson Plus One Jet Production

In this paper we use our previously developed projective phase space generator for the calculation of the hadronic production of a vector boson with one additional jet at Next-to-Leading Order. The projective phase space generator allows us to make physical predictions in novel ways, speeding up both evaluation time and attainable accuracy. For the numerical evaluation we explore a computational model which combines the use of both multi-threading and distributed resources through the use of grid or cloud computing without depending on local institutional computer availability. The projective phase space method is well suited for this approach and gives through the use of cloud computing instant access to a large pool of resources.

72 PHYSICS OF ELEMENTARY PARTICLES AND FIELDS↗

Concurrent conditions access across validity intervals in CMSSW

The CMS software system, known as CMSSW, has a generalized conditions, calibration, and geometry data products system called the EventSetup. The EventSetup caches results of reading or calculating data products based on the 'interval of validity', IOV, which is based on the time period for which that data product is appropriate. With the original single threaded CMSSW framework, updating only on an IOV boundary meant we only required memory for a single data product of a given type at any time during the program execution. In 2016 CMS transitioned to using a multi-threaded framework as away to save on memory during processing. This was accomplished by amortizing the memory cost of EventSetup data products across multiple concurrent events. To initially accomplish that goal required synchronizing event processing across IOV boundaries, thereby decreasing the scalability of the system. In this presentation we will explain how we used 'limited concurrent task queues' to allow concurrent IOVs while still being able to limit the memory utilized.

Dagenhart, David↗

Bringing OpenCL to Commodity RISC-V CPUs

The importance of open-source hardware has been increasing in recent years with the introduction of the RISC-V Open ISA. This has also accelerated the push for support of the open-source software stack from compiler tools to full-blown operating systems. Parallel computing with today’s Application Programming Interfaces such as OpenCL has proven to be effective at leveraging the parallelism in commodity multi-core processors and programmable parallel accelerators. However, to the best of our knowledge, there is currently no publicly available implementation of OpenCL targeting commodity RISC-V processors that is accessible to the open-source community. Besides opening RISC-V to the existing rich variety of scientific parallel applications, OpenCL also provides access to a unique genre of benchmarks useful in computer architecture research. In this work, we extended an Open-source implementation of OpenCL to target RISC-V CPUs. Our work not only cover commodity multi-core RISC-V processors, but also plethora of low- profile embedded RISC-V CPUs that often do not support atomic instructions or multi-threading.

Tine, Blaise↗

SimPoint++: Less Simulation Points

We propose SimPoint++, which replaces the BIC method by combining WCSS and Silhouette to find the optimal cluster. The new Python framework of SimPoint++ provides a dimension reduction pipeline for effective clustering and supports multi-thread application analysis. We evaluate SimPoint++ with Spec CPU 2017 benchmarks. SimPoint++ achieves comparable or higher accuracy with significantly fewer simulation points, resulting in a 5x speed-up in simulation time compared to state-of-the-art solutions.

Chen, Si↗

Exploring temporal community evolution: algorithmic approaches and parallel optimization for dynamic community detection

Abstract Dynamic (temporal) graphs are a convenient mathematical abstraction for many practical complex systems including social contacts, business transactions, and computer communications. Community discovery is an extensively used graph analysis kernel with rich literature for static graphs. However, community discovery in a dynamic setting is challenging for two specific reasons. Firstly, the notion of temporal community lacks a widely accepted formalization, and only limited work exists on understanding how communities emerge over time. Secondly, the added temporal dimension along with the sheer size of modern graph data necessitates new scalable algorithms. In this paper, we investigate how communities evolve over time based on several graph metrics under a temporal formalization. We compare six different algorithmic approaches for dynamic community detection for their quality and runtime. We identify that a vertex-centric (local) optimization method works as efficiently as the classical modularity-based methods. To its advantage, such local computation allows for the efficient design of parallel algorithms without incurring a significant parallel overhead. Based on this insight, we design a shared-memory parallel algorithm DyComPar , which demonstrates between 4 and 18 fold speed-up on a multi-core machine with 20 threads, for several real-world and synthetic graphs from different domains.

97 MATHEMATICS AND COMPUTING↗

An extension to V ORO ++ for multithreaded computation of Voronoi cells

V ORO ++ is a software library written in C++ for computing the Voronoi tessellation, a technique in computational geometry that is widely used for analyzing systems of particles. V ORO ++ was released in 2009 and is based on computing the Voronoi cell for each particle individually. Here, we take advantage of modern computer hardware, and extend the original serial version to allow for multithreaded computation of Voronoi cells via the OpenMP application programming interface. We test the performance of the code, and demonstrate that it can achieve parallel efficiencies greater than 95% in many cases. Further, the multithreaded extension follows standard OpenMP programming paradigms, allowing it to be incorporated into other programs. We provide an example of this using the VoroTop software library, performing a multithreaded Voronoi cell topology analysis of up to 102.4 million particles.

97 MATHEMATICS AND COMPUTING↗

The Entropic Braiding Index ( eBI ): A Robust Metric to Account for the Diversity of Channel Scales in Multi‐Thread Rivers

Abstract The Braiding Index ( BI ), defined as the average count of intercepted channels per cross‐section, is a widely used metric for characterizing multi‐thread river systems. However, it does not account for the diversity of channels (e.g., in terms of water discharge) within different cross‐sections, omitting important information related to system complexity. Here we present a modification of BI, the Entropic Braiding Index ( eBI ), which augments the information content in BI by using Shannon Entropy to encode the diversity of channels in each cross section. eBI is interpreted as the number of “effective channels” per cross‐section, allowing a direct comparison with the traditional BI . We demonstrate the potential of the ratio BI/eBI to quantify channel disparity, differentiate types of multi‐thread systems (braided vs. anastomosed), and assess the effect of discharge variability, such as seasonal flooding, on river cross‐section stability.

54 ENVIRONMENTAL SCIENCES↗