622 research outputs found
Recommended from our members
UPC++ v1.0 Specification, Revision 2020.3.0
UPC++ is a C++11 library providing classes and functions that support Partitioned Global Address Space (PGAS) programming. The key communication facilities in UPC++ are one-sided Remote Memory Access (RMA) and Remote Procedure Call (RPC). All communication operations are syntactically explicit and default to non-blocking; asynchrony is managed through the use of futures, promises and continuation callbacks, enabling the programmer to construct a graph of operations to execute asynchronously as high-latency dependencies are satisfied. A global pointer abstraction provides system-wide addressability of shared memory, including host and accelerator memories. The parallelism model is primarily process-based, but the interface is thread-safe and designed to allow efficient and expressive use in multi-threaded applications. The interface is designed for extreme scalability throughout, and deliberately avoids design features that could inhibit scalability
Recommended from our members
Efficient Active Message RMA in GASNet Using a Target-Side Reassembly Protocol (Extended Abstract)
GASNet is a portable, open-source, high-performance communication library designed to efficiently support the networking requirements of PGAS runtime systems and other alternative models on future exascale machines. This paper investigates strategies for efficient implementation of GASNet’s “AM Long” API that couples an RMA (Remote Memory Access) transfer with an Active Message (AM) delivery.
We discuss several network-level protocols for AM Long and propose a new target-side reassembly protocol. We present a microbenchmark evaluation on the Cray XC Aries network hardware. The target-side reassembly protocol on this network improves AM Long end-to-end latency by up to 33%, and the effective bandwidth by up to 49%, while also enabling asynchronous source completion that drastically reduces injection overheads.
The improved AM Long implementation for Aries is available in GASNet-EX release v2019.9.0 and later
Study of flood hazard in the Castelfranco Emilia area (Modena Province, Northern Italy)
The Castelfranco Emilia area is located in the Po Plain. The Panaro River have periodically caused flooding in the studyarea. The more recent floods took place between 1966 and 1973 (3 events).In order to reduce flood hazards, several meander cuts were carried out along the river. As these interventions resultedto be ineffective, a flow-regulation system was constructed west of Castelfranco Emilia. It consists of a regulating dambuilt across the riverbed and a storage basin bordered by embankments. This structure is operating since 1985 but wasfinished in 1999: no flooding events have occurred since it is in operation.The paper illustrates some aspects of flood hazard induced by the Panaro River, related to the construction of a highvelocity railway in the study area, a tract of the connection between Milano and Bologna.The relationship between precipitation data and the occurrence of a number of flooding events is studied, in order toestablish whether or not a significant relationship between the two can be identified. Furthermore, a distributed dynamichydrological model is constructed for simulation of the spatial and temporal proceedings of a flood event.On the basis of merely precipitation no predictions can be made with respect to the occurrence of a flood event. Theinclusion of alternative routes for the proposed railway allows for the evaluation and comparison of the spatial effects ofa flood event. Critical points in the model are calibration and the calculation of soil saturation prior to the event
Recommended from our members
UPC++ v1.0 Programmer’s Guide, Revision 2020.3.0
UPC++ is a C++11 library that provides Partitioned Global Address Space (PGAS) programming. It is designed for writing parallel programs that run efficiently and scale well on distributed-memory parallel computers. The PGAS model is single program, multiple-data (SPMD), with each separate constituent process having access to local memory as it would in C++. However, PGAS also provides access to a global address space, which is allocated in shared segments that are distributed over the processes. UPC++ provides numerous methods for accessing and using global memory. In UPC++, all operations that access remote memory are explicit, which encourages programmers to be aware of the cost of communication and data movement. Moreover, all remote-memory access operations are by default asynchronous, to enable programmers to write code that scales well even on hundreds of thousands of cores
Improving the scalability of parallel N-body applications with an event driven constraint based execution model
The scalability and efficiency of graph applications are significantly
constrained by conventional systems and their supporting programming models.
Technology trends like multicore, manycore, and heterogeneous system
architectures are introducing further challenges and possibilities for emerging
application domains such as graph applications. This paper explores the space
of effective parallel execution of ephemeral graphs that are dynamically
generated using the Barnes-Hut algorithm to exemplify dynamic workloads. The
workloads are expressed using the semantics of an Exascale computing execution
model called ParalleX. For comparison, results using conventional execution
model semantics are also presented. We find improved load balancing during
runtime and automatic parallelism discovery improving efficiency using the
advanced semantics for Exascale computing.Comment: 11 figure
UPC++: A high-performance communication framework for asynchronous computation
UPC++ is a C++ library that supports high-performance computation via an asynchronous communication framework. This paper describes a new incarnation that differs substantially from its predecessor, and we discuss the reasons for our design decisions. We present new design features, including future-based asynchrony management, distributed objects, and generalized Remote Procedure Call (RPC). We show microbenchmark performance results demonstrating that one-sided Remote Memory Access (RMA) in UPC++ is competitive with MPI-3 RMA; on a Cray XC40 UPC++ delivers up to a 25% improvement in the latency of blocking RMA put, and up to a 33% bandwidth improvement in an RMA throughput test. We showcase the benefits of UPC++ with irregular applications through a pair of application motifs, a distributed hash table and a sparse solver component. Our distributed hash table in UPC++ delivers near-linear weak scaling up to 34816 cores of a Cray XC40. Our UPC++ implementation of the sparse solver component shows robust strong scaling up to 2048 cores, where it outperforms variants communicating using MPI by up to 3.1x. UPC++ encourages the use of aggressive asynchrony in low-overhead RMA and RPC, improving programmer productivity and delivering high performance in irregular applications
Recommended from our members
UPC++ v1.0 Programmer’s Guide, Revision 2019.9.0
UPC++ is a C++11 library that provides Partitioned Global Address Space (PGAS) programming. It is designed for writing parallel programs that run efficiently and scale well on distributed-memory parallel computers. The PGAS model is single program, multiple-data (SPMD), with each separate constituent process having access to local memory as it would in C++. However, PGAS also provides access to a global address space, which is allocated in shared segments that are distributed over the processes. UPC++ provides numerous methods for accessing and using global memory. In UPC++, all operations that access remote memory are explicit, which encourages programmers to be aware of the cost of communication and data movement. Moreover, all remote-memory access operations are by default asynchronous, to enable programmers to write code that scales well even on hundreds of thousands of cores
Recommended from our members
UPC++ v1.0 Specification, Revision 2019.9.0
UPC++ is a C++11 library providing classes and functions that support Partitioned Global Address Space (PGAS) programming. We are revising the library under the auspices of the DOE’s Exascale Computing Project, to meet the needs of applications requiring PGAS support. UPC++ is intended for implementing elaborate distributed data structures where communication is irregular or fine-grained. The UPC++ interfaces for moving non-contiguous data and handling memories with different optimal access methods are composable and similar to those used in conventional C++. The UPC++ programmer can expect communication to run at close to hardware speeds. The key facilities in UPC++ are global pointers, that enable the programmer to express ownership information for improving locality, one-sided communication, both put/get and RPC, futures and continuations. Futures capture data readiness state, which is useful in making scheduling decisions, and continuations provide for completion handling via callbacks. Together, these enable the programmer to chain together a DAG of operations to execute asynchronously as high-latency dependencies become satisfied
Use of a targeted, combinatorial next-generation sequencing approach for the study of bicuspid aortic valve
BACKGROUND: Bicuspid aortic valve (BAV) is the most common type of congenital heart disease with a population prevalence of 1-2%. While BAV is known to be highly heritable, mutations in single genes (such as GATA5 and NOTCH1) have been reported in few human BAV cases. Traditional gene sequencing methods are time and labor intensive, while next-generation high throughput sequencing remains costly for large patient cohorts and requires extensive bioinformatics processing. Here we describe an approach to targeted multi-gene sequencing with combinatorial pooling of samples from BAV patients. METHODS: We studied a previously described cohort of 78 unrelated subjects with echocardiogram-identified BAV. Subjects were identified as having isolated BAV or BAV associated with coarctation of aorta (BAV-CoA). BAV cusp fusion morphology was defined as right-left cusp fusion, right non-coronary cusp fusion, or left non-coronary cusp fusion. Samples were combined into 19 pools using a uniquely overlapping combinatorial design; a given mutation could be attributed to a single individual on the basis of which pools contained the mutation. A custom gene capture of 97 candidate genes was sequenced on the Illumina HiSeq 2000. Multistep bioinformatics processing was performed for base calling, variant identification, and in-silico analysis of putative disease-causing variants. RESULTS: Targeted capture identified 42 rare, non-synonymous, exonic variants involving 35 of the 97 candidate genes. Among these variants, in-silico analysis classified 33 of these variants as putative disease-causing changes. Sanger sequencing confirmed thirty-one of these variants, found among 16 individuals. There were no significant differences in variant burden among BAV fusion phenotypes or isolated BAV versus BAV-CoA. Pathway analysis suggests a role for the WNT signaling pathway in human BAV. CONCLUSION: We successfully developed a pooling and targeted capture strategy that enabled rapid and cost effective next generation sequencing of target genes in a large patient cohort. This approach identified a large number of putative disease-causing variants in a cohort of patients with BAV, including variants in 26 genes not previously associated with human BAV. The data suggest that BAV heritability is complex and polygenic. Our pooling approach saved over $39,350 compared to an unpooled, targeted capture sequencing strategy
Ecological consequences of the physiological responses of gray treefrogs, Hyla versicolor to acid mine damage
Due to the historical prevalence of coal mining in the region, soil and water contamination from acid mine drainage (AMD) is one of the most pressing environmental issues affecting wildlife in southwestern Pennsylvania. Amphibians in particular are strongly impacted by AMD as they are physiologically more susceptible to the effects of environmental pollutants than other terrestrial species. In addition, their complex life cycle exposes populations to both aquatic and terrestrial threats. As such, amphibians are often a focal point of research on environmental contaminants and a bellwether for impacts on the entire ecosystem. Previous research on the effects of acid mine drainage on amphibians have focused on three key areas, mostly in isolation: 1) toxicity tolerance limits, 2) sublethal effects, particularly on larval development, and 3) relationships between contamination levels and overall population dynamics. The existing literature then has two major weaknesses. First, few studies have attempted to bridge across these areas within a single system. Second, even the more ecologically focused studies overlook community level effects. Just as their dual life cycle exposes most amphibians to both terrestrial and aquatic contaminants, the population level effects of those pollutants are then felt by both the terrestrial and aquatic communities that amphibians interact with. The purpose of the requested funds is to establish a laboratory to house gray treefrogs, Hyla versicolor, and establish them as a system from broadly focused, integrated studies of the effects of acid mine drainage on their development, metabolism, stress physiology, and ecological interactions
- …
