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 73 records · Page 4

A Scalable Graph Analytics Framework for Programming with Big Data in R (pbdR)

Many disciplines such as biology, economics, engineering, physics, and the social sciences represent their data as graphs to capture patterns, trends, and associations. There are are many commercially available graph libraries in different programming languages to analyze these complex graphs. But there is no distributed graph library package in R - the popular statistical programming language to analyze graphs that bigger than a single machine's memory. Many domain experts prefer R over the numerous other alternatives. Towards this, we present a distributed graph analytics framework for R called programming with big graph using R (pBGR.) Our proposed framework leverages the Programming with Big Data in R (pbdR) ecosystem that provides scalable R packages for distributed computing in data science. We present an early prototype implementation of this framework using the distributed-memory parallel graph library CombBLAS and evaluate the framework's performance on leadership class computing platforms. Our experimental results demonstrate that the proposed framework is capable of performing large-scale parallel graph mining through the easyto-use R language. This enhanced graph processing capability coupled with other statistical tools already available in R, should be valuable to many domain experts.

Hasan, S M Shamimul↗

A Medipix quantum area detector allows rotation electron diffraction data collection from submicrometre three-dimensional protein crystals

An ultrasensitive Medipix2 detector allowed the collection of rotation electron-diffraction data from single three-dimensional protein nanocrystals for the first time. The data could be analysed using the standard X-ray crystallography programs MOSFLM and SCALA. When protein crystals are submicrometre-sized, X-ray radiation damage precludes conventional diffraction data collection. For crystals that are of the order of 100 nm in size, at best only single-shot diffraction patterns can be collected and rotation data collection has not been possible, irrespective of the diffraction technique used. Here, it is shown that at a very low electron dose (at most 0.1 e{sup −} Å{sup −2}), a Medipix2 quantum area detector is sufficiently sensitive to allow the collection of a 30-frame rotation series of 200 keV electron-diffraction data from a single ∼100 nm thick protein crystal. A highly parallel 200 keV electron beam (λ = 0.025 Å) allowed observation of the curvature of the Ewald sphere at low resolution, indicating a combined mosaic spread/beam divergence of at most 0.4°. This result shows that volumes of crystal with low mosaicity can be pinpointed in electron diffraction. It is also shown that strategies and data-analysis software (MOSFLM and SCALA) from X-ray protein crystallography can be used in principle for analysing electron-diffraction data from three-dimensional nanocrystals of proteins.

75 CONDENSED MATTER PHYSICS, SUPERCONDUCTIVITY AND↗

XPRESS: eXascale PRogramming Environment and System Software

The XPRESS project is the research and development of a complete software architecture for Exascale computing. The four major R&D thrusts include: 1) an Exascale lightweight kernel operating system (LXK), based on the Kitten operating system (OS), to manage billion way hardware parallelism, management of faults and power, management of global virtual name space, and other features of future system architectures; 2) a runtime system (HPX-5), co-designed with LXK, based on the ParalleX execution model that supports dynamic resource management and task scheduling; 3) system interfaces for interoperability between the runtime system and both the OS and the runtime system (RIOS); 4) compilation strategies and systems to translate MPI and OpenMP legacy codes to a form that can be run with performance at least as good as a native code implementation. The software architecture development has been driven by performance evaluation of mini-applications developed at Department of Energy Co-Design Centers as well as ancillary in-house developed applications and benchmarks. Research on the ParalleX execution model has been driven by the development of formal semantics and model checkers for the execution model. The major components of the software architecture are: ParalleX execution model – guiding principles for co-design of components of the system stack with advances in locality management and task prioritization through introspection; HPX runtime system – support of application dynamic adaptive resource management, task scheduling, and introspective control policies; LXK operating system – lightweight kernel operating system for order-constant scalability and low/no noise to manage resources; RIOS – a realm of Exascale system operation unique in the XPRESS project that includes the relationship between the new generation of lightweight kernel operating systems and runtime system software; XPI advanced programming model – intermediate form and low-level (readable) programming interface reflecting the ParalleX model, providing a target for source-to- source high level parallel language translation, and supporting early direct programming experimentation and measurement; Performance models & metrics – providing parameters and their mutual sensitivities to guide co-design and quantify operational behavior; Legacy migration – ensuring seamless transition of legacy codes and programming methods to the future generation of ParalleX-based Exascale systems; . Experiments and evaluation – critical to determining degree of effectiveness and likelihood of ultimate success as well as guiding corrective design changes to achieve DOE objectives; and Applications – collaborations with Co-Design Centers and other mission critical codes. The exemplar implementation of the ParalleX execution model, HPX-5, has been released along with five fully ported applications (LULESH, HPCG, SSSP, WAMR, and DASHMM) and multiple microbenchmarks. Using these applications, the system architecture demonstrated dynamic load balancing through active migration, legacy code migration, and data-driven approaches to for graph-like applications. Crucially for Exascale and billion way parallelism, the needs and patterns of irregular applications in HPX-5 were addressed using local flow control rather than relying on globally synchronized data structures.

97 MATHEMATICS AND COMPUTING↗

Template Interfaces for Agile Parallel Data-Intensive Science

Tigres provides a programming library to compose and execute large-scale data-intensive scientific workflows from desktops to supercomputers. DOE User Facilities and large science collaborations are increasingly generating large enough data sets that it is no longer practical to download them to a desktop to operate on them. They are instead stored at centralized compute and storage resources such as high performance computing (HPC) centers. Analysis of this data requires an ability to run on these facilities, but with current technologies, scaling an analysis to an HPC center and to a large data set is difficult even for experts. Tigres is addressing the challenge of enabling collaborative analysis of DOE Science data through a new concept of reusable "templates" that enable scientists to easily compose, run and manage collaborative computational tasks. These templates define common computation patterns used in analyzing a data set.

Ramakrishnan, Lavanya↗

OPTICAL PROPER MOTION MEASUREMENTS OF THE M87 JET: NEW RESULTS FROM THE HUBBLE SPACE TELESCOPE

We report new results from a Hubble Space Telescope archival program to study proper motions in the optical jet of the nearby radio galaxy M87. Using over 13 yr of archival imaging, we reach accuracies below 0.1c in measuring the apparent velocities of individual knots in the jet. We confirm previous findings of speeds up to 4.5c in the inner 6'' of the jet, and report new speeds for optical components in the outer part of the jet. We find evidence of significant motion transverse to the jet axis on the order of 0.6c in the inner jet features, and superluminal velocities parallel and transverse to the jet in the outer knot components, with an apparent ordering of velocity vectors possibly consistent with a helical jet pattern. Previous results suggested a global deceleration over the length of the jet in the form of decreasing maximum speeds of knot components from HST-1 outward, but our results suggest that superluminal speeds persist out to knot C, with large differentials in very nearby features all along the jet. We find significant apparent accelerations in directions parallel and transverse to the jet axis, along with evidence for stationary features in knots D, E, and I. These results are expected to place important constraints on detailed models of kiloparsec-scale relativistic jets.

79 ASTRONOMY AND ASTROPHYSICS↗

Epigenetic effects associated with salmonid supplementation and domestication

Abstract Several studies have demonstrated lower fitness of salmonids born and reared in a hatchery setting compared to those born in nature, yet broad-scale genome-wide genetic differences between hatchery-origin and natural-origin fish have remained largely undetected. Recent research efforts have focused on using epigenetic tools to explore the role of heritable changes outside of genetic variation in response to hatchery rearing. We synthesized the results from salmonid studies that have directly compared methylation differences between hatchery-origin and natural-origin fish. Overall, the majority of studies found substantial differences in methylation patterns and overlap in functional genomic regions between hatchery-origin and natural-origin fish which have been replicated in parallel across geographical locations. Epigenetic differences were consistently found in the sperm of hatchery-origin versus natural-origin fish along with evidence for maternal effects, providing a potential source of multigenerational transmission. While there were clear epigenetic differences in gametic lines between hatchery-origin and natural-origin fish, only a limited number explored the potential mechanisms explaining these differences. We outline opportunities for epigenetics to inform salmonid breeding and rearing practices and to mitigate for fitness differences between hatchery-origin and natural-origin fish. We then provide possible explanations and avenues of future epigenetics research in salmonid supplementation programs, including: 1) further exploration of the factors in early development shaping epigenetic differences, 2) understanding the functional genomic changes that are occurring in response to epigenetic changes, 3) elucidating the relationship between epigenetics, phenotypic variation, and fitness, and 4) determining heritability of epigenetic marks along with persistence of marks across generations.

Koch, Ilana J. (ORCID:0000000335943108)↗

Overview of development and design of MPACT: Michigan parallel characteristics transport code

MPACT (Michigan Parallel Characteristics Transport Code) is a new reactor analysis tool. It is being developed by students and research staff at the University of Michigan to be used for an advanced pin-resolved transport capability within VERA (Virtual Environment for Reactor Analysis). VERA is the end-user reactor simulation tool being produced by the Consortium for the Advanced Simulation of Light Water Reactors (CASL). The MPACT development project is itself unique for the way it is changing how students do research to achieve the instructional and research goals of an academic institution, while providing immediate value to industry. The MPACT code makes use of modern lean/agile software processes and extensive testing to maintain a level of productivity and quality required by CASL. MPACT's design relies heavily on object-oriented programming concepts and design patterns and is programmed in Fortran 2003. These designs are explained and illustrated as to how they can be readily extended to incorporate new capabilities and research ideas in support of academic research objectives. The transport methods currently implemented in MPACT include the 2-D and 3-D method of characteristics (MOC) and 2-D and 3-D method of collision direction probabilities (CDP). For the cross section resonance treatment, presently the subgroup method and the new embedded self-shielding method (ESSM) are implemented within MPACT. (authors)

22 GENERAL STUDIES OF NUCLEAR REACTORS↗

A transcriptome software comparison for the analyses of treatments expected to give subtle gene expression responses

Background: In this comparative study we evaluate the performance of four software tools: DNAstar-D (DESeq2), DNAstar-E (edgeR), CLC Genomics and Partek Flow for identification of differentially expressed genes (DEGs) using a transcriptome of E. coli. The RNA-seq data are from the effect of below-background radiation 5.5 nGy total dose (0.2nGy/hr) on E. coli grown shielded from natural radiation 655 m below ground in a pre-World War II steel vault. The gene expression response to three supplemented sources of radiation designed to mimic natural background, 1952 – 5720 nGy in total dose (71–208 nGy/hr), are compared to this “radiation-deprived” treatment. In addition, RNA-seq data of Caenorhabditis elegans nematode from similar radiation treatments was analyzed by three of the software packages. Results: In E. coli, the four software programs identified one of the supplementary sources of radiation (KCl) to evoke about 5 times more transcribed genes than the minus-radiation treatment (69–114 differentially expressed genes, DEGs), and so the rest of the analyses used this KCl vs “Minus” comparison. After imposing a 30-read minimum cutoff, one of the DNAStar options shared two of the three steps (mapping, normalization, and statistic) with Partek Flow (they both used median of ratios to normalize and the DESeq2 statistical package), and these two programs identified the highest number of DEGs in common with each other (53). In contrast, when the programs used different approaches in each of the three steps, between 31 and 40 DEGs were found in common. Regarding the extent of expression differences, three of the four programs gave high fold-change results (15–178 fold), but one (DNAstar’s DESeq2) resulted in more conservative fold-changes (1.5–3.5). In a parallel study comparing three qPCR commercial validation software programs, these programs also gave variable results as to which genes were significantly regulated. Similarly, the C. elegans analysis showed exaggerated fold-changes in CLC and DNAstar’s edgeR while DNAstar-D was more conservative. Conclusions: Regarding the extent of expression (fold-change), and considering the subtlety of the very low level radiation treatments, in E. coli three of the four programs gave what we consider exaggerated fold-change results (15 – 178 fold), but one (DNAstar’s DESeq2) gave more realistic fold-changes (1.5–3.5). When RT-qPCR validation comparisons to transcriptome results were carried out, they supported the more conservative DNAstar-D’s expression results. When another model organism’s (nematode) response to these radiation differences was similarly analyzed, DNAstar-D also resulted in the most conservative expression patterns. Therefore, we would propose DESeq2 (“DNAstar-D”) as an appropriate software tool for differential gene expression studies for treatments expected to give subtle transcriptome responses.

59 BASIC BIOLOGICAL SCIENCES↗

TH-EF-BRA-11: Feasibility of Super-Resolution Time-Resolved 4DMRI for Multi-Breath Volumetric Motion Simulation in Radiotherapy Planning

Purpose: To develop a novel super-resolution time-resolved 4DMRI technique to evaluate multi-breath, irregular and complex organ motion without respiratory surrogate for radiotherapy planning. Methods: The super-resolution time-resolved (TR) 4DMRI approach combines a series of low-resolution 3D cine MRI images acquired during free breathing (FB) with a high-resolution breath-hold (BH) 3DMRI via deformable image registration (DIR). Five volunteers participated in the study under an IRB-approved protocol. The 3D cine images with voxel size of 5×5×5 mm{sup 3} at two volumes per second (2Hz) were acquired coronally using a T1 fast field echo sequence, half-scan (0.8) acceleration, and SENSE (3) parallel imaging. Phase-encoding was set in the lateral direction to minimize motion artifacts. The BH image with voxel size of 2×2×2 mm{sup 3} was acquired using the same sequence within 10 seconds. A demons-based DIR program was employed to produce super-resolution 2Hz 4DMRI. Registration quality was visually assessed using difference images between TR 4DMRI and 3D cine and quantitatively assessed using average voxel correlation. The fidelity of the 3D cine images was assessed using a gel phantom and a 1D motion platform by comparing mobile and static images. Results: Owing to voxel intensity similarity using the same MRI scanning sequence, accurate DIR between FB and BH images is achieved. The voxel correlations between 3D cine and TR 4DMRI are greater than 0.92 in all cases and the difference images illustrate minimal residual error with little systematic patterns. The 3D cine images of the mobile gel phantom preserve object geometry with minimal scanning artifacts. Conclusion: The super-resolution time-resolved 4DMRI technique has been achieved via DIR, providing a potential solution for multi-breath motion assessment. Accurate DIR mapping has been achieved to map high-resolution BH images to low-resolution FB images, producing 2Hz volumetric high-resolution 4DMRI. Further validation and improvement are still required prior to clinical applications. This study is in part supported by the NIH (U54CA137788/U54CA132378).

60 APPLIED LIFE SCIENCES↗

Position Papers for the ASCR Workshop on the Management and Storage of Scientific Data

The purpose of this workshop is to identify priority research directions in the area of data management for high-performance and scientific computing above and beyond HPC’s traditional "the parallel file system is the data-management system" model. Supporting the breadth of the DOE mission, including the explosion of AI uses and the growing needs of experimental and observational science, motivates revisiting our assumptions about data management. There are many facets of this topic to explore including: (1) Interfaces for accessing data that resides on traditional persistent storage as well as memory devices; (2) Storage-system architecture design that supports scientific workflows on varied hierarchical storage and networking devices; (3) Devising metadata management infrastructure to support FAIR principles (Findability, Accessibility, Interoperability, and Reusability); (4) Capturing provenance information about scientific data; (5) Utilizing AI to learn I/O patterns of emerging workloads for efficient data management; (6) Providing data management support for AI and complex workflows; and (7) Understanding the overlap between traditional storage systems and I/O (SSIO) efforts and data management. While the program committee has identified these topics as important areas for discussion, we welcome position papers from the community that propose additional topics of interest for discussion at the workshop. The workshop agenda will include breakout sessions for discussing these and selected topic areas to inform priority research directions for data management for high-performance and scientific computing.

97 MATHEMATICS AND COMPUTING↗

Report for the ASCR Workshop on the Management and Storage of Scientific Data

The purpose of this workshop is to identify priority research directions in the area of data management for high-performance and scientific computing above and beyond HPC’s traditional "the parallel file system is the data-management system" model. Supporting the breadth of the DOE mission, including the explosion of AI uses and the growing needs of experimental and observational science, motivates revisiting our assumptions about data management. There are many facets of this topic to explore including: (1) Interfaces for accessing data that resides on traditional persistent storage as well as memory devices; (2) Storage-system architecture design that supports scientific workflows on varied hierarchical storage and networking devices; (3) Devising metadata management infrastructure to support FAIR principles (Findability, Accessibility, Interoperability, and Reusability); (4) Capturing provenance information about scientific data; (5) Utilizing AI to learn I/O patterns of emerging workloads for efficient data management; (6) Providing data management support for AI and complex workflows; and (7) Understanding the overlap between traditional storage systems and I/O (SSIO) efforts and data management. While the program committee has identified these topics as important areas for discussion, we welcome position papers from the community that propose additional topics of interest for discussion at the workshop. The workshop agenda will include breakout sessions for discussing these and selected topic areas to inform priority research directions for data management for high-performance and scientific computing.

97 MATHEMATICS AND COMPUTING↗

MTUQ: a framework for estimating moment tensors, point forces, and their uncertainties

SUMMARY We introduce MTUQ, an open-source Python package for seismic source estimation and uncertainty quantification, emphasizing flexibility and operational scalability. MTUQ provides MPI-parallelized grid search and global optimization capabilities, compatibility with 1-D and 3-D Green’s function database formats, customizable data processing, C-accelerated waveform and first-motion polarity misfit functions, and utilities for plotting seismic waveforms and visualizing misfit and likelihood surfaces. Applicability to a range of full- and constrained-moment tensor, point force, and centroid inversion problems is possible via a documented application programming interface, accompanied by example scripts and integration tests. We demonstrate the software using three different types of seismic events: (1) a 2009 intraslab earthquake near Anchorage, Alaska; (2) an episode of the 2021 Barry Arm landslide in Alaska; and (3) the 2017 Democratic People’s Republic of Korea underground nuclear test. With these events, we illustrate the well-known complementary character of body waves, surface waves, and polarities for constraining source parameters. We also convey the distinct misfit patterns that arise from each individual data type, the importance of uncertainty quantification for detecting multimodal or otherwise poorly constrained solutions, and the software’s flexible, modular design.

58 GEOSCIENCES↗

Status of DUNE Offline Computing

We summarize the status of Deep Underground Neutrino Experiment (DUNE) Offline Software and Computing program. We describe plans for the computing infrastructure needed to acquire, catalog, reconstruct, simulate and analyze the data from the DUNE experiment and its prototypes in pursuit of the experiment's physics goals of precision measurements of neutrino oscillation parameters, detection of astrophysical neutrinos, measurement of neutrino interaction properties and searches for physics beyond the Standard Model. In contrast to traditional HEP computational problems, DUNE's Liquid Argon Time Projection Chamber data consist of simple but very large (many GB) data objects which share many characteristics with astrophysical images. We have successfully reconstructed and simulated data from 4% prototype detector runs at CERN. The data volume from the full DUNE detector, when it starts commissioning late in this decade will present memory management challenges in conventional processing but significant opportunities to use advances in machine learning and pattern recognition as a frontier user of High Performance Computing facilities capable of massively parallel processing. Our goal is to develop infrastructure resources that are flexible and accessible enough to support creative software solutions as HEP computing evolves.

43 PARTICLE ACCELERATORS↗

Evaluating the Performance Envelope of Axial Flow HEPA Filter Designs - 17466

Nuclear grade high efficiency particulate air (HEPA) filters are routinely employed as the final control element in confinement ventilation systems. Approximately 6000 nuclear grade HEPA filters are purchased each year for use in the Department of Energy National Nuclear Security Administration (DOE/NNSA) complex. The traditional HEPA filter utilizes a pleated filter medium of fibrous glass that has been produced in a manner analogous to manufacturing paper. Containment ventilation systems are designed to condition the air-stream (temperature, relative humidity, moisture, particle size distribution of aerosols, and aerosol concentration) to levels and conditions that fibrous glass HEPA filters can handle. Axial Flow filters can be purchased with physical separators or embossed medium to maintain proper pleat geometry. Separator-less designs use media embossed with a corrugation pattern to retain pleat geometry. At least some versions of the separator-less filter packs have demonstrated unexpected and rapid failure under slightly elevated temperature and humidity conditions. The effects of age on HEPA filter performance have been a concern for at least two decades. A combination of physical evaluation of aged filter media and a review of filter failure records resulted in Appendix C of the Nuclear Air Cleaning Handbook (NACH), Determination of HEPA Filter Life. Mississippi State University is conducting studies to more clearly identify the operating envelope of separator and separator-less designs of ASME AG-1 Section FC axial flow HEPA filters under a set of generic design basis conditions. A parallel study is also being conducted to evaluate the effects of age on fibrous glass HEPA filters. Activities described in this paper have been conducted under Institute for Clean Energy Technology (ICET's) NQA-1 nuclear quality assurance program approved by DOE-EM. Testing meets the requirements of EM Quality Assurance Program (QAP) EM-QA-001, Rev. 1, June 11, 2012 that includes the applicable requirements of NQA-1-2008/2009a and DOE Order 414.1D. (authors)

07 ISOTOPE AND RADIATION SOURCES↗

Hydration Mechanisms in Nanoparticle Interaction and Surface Energetics

Work on the project advanced molecular level understanding, prediction and control of nanoscale hydration in salt solutions under electric stimuli or ionic patterning. Permeation of nanoporous electrodes at preset voltage underlies the function of ultracapacitors. Transitory regulation of wetting in nanoporous media by electric field spans an array of applications in materials, energy storage, and separation sciences. The physically related modulation of nanoparticle solubility by surface charges can significantly extend the range of the nanomaterial applications, improve processing techniques, and potentially alleviate environmental concerns. Pore/solution equilibria, and activated kinetics of liquid gating by nanoconfined electrolytes are challenging problems at the forefront of experimental and theoretical research. Addressing these problems from a molecular perspective required the development of state-of-the-art simulation algorithms in statistical mechanics to capture complex processes in open systems under electric control. Parallel studies of wetting and dispersibility of polar and ionizing particles aim to uncover predictive relations between electrowetting, chemical functionalization, and geometry of nanomaterial particles. By nonequilibrium dynamic modeling, we elucidated electrolyte flow in nanochanels and associated electrokinetic energy conversion. Research on the program provided training opportunities for the next generation of scientists in computational chemistry. Insights, and methods from the project implicate broad segment of researchers in energy and nanosciences, materials and surface chemistry.

74 ATOMIC AND MOLECULAR PHYSICS↗

Automatic Differentiation for Adjoint Stencil Loops

Stencil loops are a common motif in computations including convolutional neural networks, structured-mesh solvers for partial differential equations, and image processing. Stencil loops are easy to parallelise, and their fast execution is aided by compilers, libraries, and domain-specific languages. Reverse-mode automatic differentiation, also known as algorithmic differentiation, autodiff, adjoint differentiation, or back-propagation, is sometimes used to obtain gradients of programs that contain stencil loops. Unfortunately, conventional automatic differentiation results in a memory access pattern that is not stencil-like and not easily parallelisable. In this paper we present a novel combination of automatic differentiation and loop transformations that preserves the structure and memory access pattern of stencil loops, while computing fully consistent derivatives. The generated loops can be parallelised and optimised for performance in the same way and using the same tools as the original computation. We have implemented this new technique in the Python tool PerforAD, which we release with this paper along with test cases derived from seismic imaging and computational fluid dynamics applications.

Automatic Differentiation↗

Data Locality Enhancement of Dynamic Simulations for Exascale Computing (Final Report)

The development of modern processors exhibits two trends that complicate the optimizations of modern software. The first is the increasing sensitivity of processors' throughput to irregularities in computation. With more processors produced through a massive integration of simple cores, future systems will increasingly favor regular data-level parallel computations, but deviate from the needs of applications with complex patterns. Some evidences are already shown on Graphic Processing Units (GPU): Irregular data accesses (e.g., indirect references A[D[i]]) and conditional branches are limiting many GPU applications' performance at a level an order of magnitude lower than the peak of GPU. The second hardware trend is the growing gap between memory bandwidth and the aggregate speed—that is, the sum of all cores' computing power—of a Chip Multiprocessor (CMP). Despite the capped growth of the peak CPU speed, the aggregate speed of a CMP keeps increasing as more cores get into a single chip. It is expected that by 2018, node concurrency in an exascale system will increase by hundreds of times, whereas, memory bandwidth will expand by only 10 to 20 times. Consequently, data movement and storage is expected to consume more than 70% of the total system power. Bridging this gap is difficult; the complexities of modern CMP memory hierarchy make it even harder: Data cache becomes shared among computing units, and the sharing is often non-uniform—whether two computing units share a cache depends on their proximity and the level of the cache. On the recent IBM Power7 architecture, for instance, four hardware contexts (or SMT threads) in a core share the entire memory hierarchy, all cores in one chip share an on-chip L3 cache, and cores across chips share L3 and main memory through off-chip connections. These two trends complicate the translation of computing power into performance, especially for a program with either intensive data accesses or complex patterns in data accesses or control flow paths. Unfortunately, both attributes present and will persist in a class of important applications. For instance, many scientific simulations deal with a large volume of data. And meanwhile, as most real-world processes are non-uniform and evolving (e.g., the evolution of a galaxy or the process of a drug injection), both the computations and data accesses of these programs tend to be irregular and dynamically changing. Currently, the lack of support to these applications on modern CMP severely limits their performance. On GPU, as our recent study shows and other studies echo, performance enhancement of a factor of integers is possible when memory accesses or control flows are streamlined for a set of GPU applications. On multicore CPU, our studies show that traditional locality enhancement, for being oblivious to the new features of multicore memory hierarchy, may even cause large slowdown to data-intensive dynamic applications. The severity of the issues is expected to worsen as the two hardware trends continue. Some recent studies try to match software with the trends, but in a limited scope or manner. For irregularities on GPU, most studies focus on irregularities analyzable through static analysis (e.g., data accesses in regular loops). Dynamic irregularities are harder to address because the needed analysis and transformations typically have to happen at run time. Some other research resorts to hardware extensions, an actual adoption of which is unclear for the entailed space cost and complexity. For data locality, recent years have seen some exploitations of the new memory hierarchy on multicore for performance, but most of them are on process or thread scheduling, rather than program transformations. Our recent study reveals that program-level transformations may magnify the scheduling benefits by a factor of seven, concluding that program-level transformation should play a central role for data locality enhancement on modern CMP. But research in this direction has been sparse, and most have focused on data layout or cache performance modeling, rather than program transformations to match with the new memory hierarchy features. Overall, it is still an open question how to bridge the gap between dynamic computations and the two prominent properties of modern processors. The goal of this project is to develop a set of techniques and software tools to enhance the matching between memory accesses in dynamic simulations and the prominent features of modern and future CMP, alleviating the memory performance issues for petascale and exascale computing. This report summarizes the discoveries and products produced throughout this project. It includes free launch, a new software approach to overcoming the shortcomings of both methods; coherence-free multiview, an approach that allows multiple views of a single data object to co-exist on GPU memory during a GPU kernel execution; algorithmic optimizations to data analytics problems, especially those that involve lots of distance calculations. Supporting dynamic parallelism is important for GPU to benefit a broad range of applications. There are currently two fundamental ways for programs to exploit dynamic parallelism on GPU: a software-based approach with software-managed worklists, and a hardware-based approach through dynamic subkernel launches. Neither is satisfactory. The former is complicated to program and is often subject to some load imbalance; the latter suffers large runtime overhead. In this work, we propose free launch, a new software approach to overcoming the shortcomings of both methods. It allows programmers to use subkernel launches to express dynamic parallelism. It employs a novel compiler-based code transformation named subkernel launch removal to replace the subkernel launches with the reuse of parent threads. Coupled with an adaptive task assignment mechanism, the transformation reassigns the tasks in the subkernels to the parent threads with a good load balance. The technique requires no hardware extensions, immediately deployable on existing GPUs. It keeps the programming convenience of the subkernel launch-based approach while avoiding its large runtime overhead. Meanwhile, its superior load balancing makes it outperform manual worklist-based techniques by 3X on average. The work was published at the 48th Annual IEEE/ACM International Symposium on Microarchitecture (Micro'2015). A Graphic Processing Unit (GPU) system is typically equipped with many types of memory (e.g., global, constant, texture, shared, cache). Data placement determines what data are placed on which type of memory, essential for GPU memory performance. Prior optimizations of data placement always require a single view of a data object on memory, which limits the optimization effectiveness. In this work, we propose coherence-free multiview, an approach that allows multiple views of a single data object to co-exist on GPU memory during a GPU kernel execution. We demonstrate that under certain conditions, the multiple views can remain incoherent while facilitating enhanced data placement. We present a theorem and some compiler support to ensure the soundness of the usage of coherence-free multiview. We further develop reference-discerning data placement, a new way to enhance data placements on GPU. It enables more flexible data placements by using coherence-free multiview to leverage the slack in coherence requirement of some GPU programs. Experiments on three types of GPU systems show that, with less than 200KB space cost, the new data placement technique can provide a 1.6X average (up to 4.27X) speedup. In addition, we have examined algorithmic optimizations to data analytics problems, especially those that involve lots of distance calculations. Computing distances among data points is an essential part of many important algorithms in data analytics, graph analysis, and other domains. In each of these domains, developers have spent significant manual effort optimizing algorithms, often through novel applications of the triangle equality, in order to minimize the number of distance computations in the algorithms. In this work, we observe that many algorithms across these domains can be generalized as an instance of a generic distance-related abstraction. Based on this abstraction, we derive seven principles for correctly applying the triangular inequality to optimize distance-related algorithms. Guided by the findings, we develop Triangular OPtimizer (TOP), the first software framework that is able to automatically produce optimized algorithms that either matches or outperforms manually designed algorithms for solving distance-related problems. TOP achieves up to 237x speedups and 2.5X on average. The work has been published at the 32nd International Conference on Machine Learning (ICML'15) and the 41st International Conference on Very Large Data Bases (VLDB'15).

42 ENGINEERING↗

GPU-Based Static Data-Flow Analysis for Fast and Scalable Android App Vetting

Many popular vetting tools for Android applications use static code analysis techniques. In particular, Interprocedural Data-Flow Graph (IDFG) construction is the computation at the core of Android static data-flow analysis and consumes most of the analysis time. Many analysis tools use a worklist algorithm, an iterative fixed-point approach, to construct the IDFG. In this paper, we observe that a straightforward GPU parallelization of the worklist algorithm leads to significant underutilization of the GPU resources. We identify four performance bottlenecks, namely, frequent dynamic memory allocations, high branch divergence, workload imbalance, and irregular memory access patterns. Accordingly, we propose GDroid, a GPU-based worklist algorithm implementation with multiple fine-grained optimizations tailored to common characteristics of Android applications. The optimizations considered are: matrix-based data structure, memory access-based node grouping, and worklist merging. Our experimental evaluation, performed on 1000 Android applications, shows that the proposed optimizations are beneficial to performance, and GDroid can achieve up to 128X speedups against a plain GPU implementation.

Android security↗