8,540 research outputs found
Recursive Algorithms for Distributed Forests of Octrees
The forest-of-octrees approach to parallel adaptive mesh refinement and
coarsening (AMR) has recently been demonstrated in the context of a number of
large-scale PDE-based applications. Although linear octrees, which store only
leaf octants, have an underlying tree structure by definition, it is not often
exploited in previously published mesh-related algorithms. This is because the
branches are not explicitly stored, and because the topological relationships
in meshes, such as the adjacency between cells, introduce dependencies that do
not respect the octree hierarchy. In this work we combine hierarchical and
topological relationships between octree branches to design efficient recursive
algorithms.
We present three important algorithms with recursive implementations. The
first is a parallel search for leaves matching any of a set of multiple search
criteria. The second is a ghost layer construction algorithm that handles
arbitrarily refined octrees that are not covered by previous algorithms, which
require a 2:1 condition between neighboring leaves. The third is a universal
mesh topology iterator. This iterator visits every cell in a domain partition,
as well as every interface (face, edge and corner) between these cells. The
iterator calculates the local topological information for every interface that
it visits, taking into account the nonconforming interfaces that increase the
complexity of describing the local topology. To demonstrate the utility of the
topology iterator, we use it to compute the numbering and encoding of
higher-order nodal basis functions.
We analyze the complexity of the new recursive algorithms theoretically, and
assess their performance, both in terms of single-processor efficiency and in
terms of parallel scalability, demonstrating good weak and strong scaling up to
458k cores of the JUQUEEN supercomputer.Comment: 35 pages, 15 figures, 3 table
Soft Contract Verification
Behavioral software contracts are a widely used mechanism for governing the
flow of values between components. However, run-time monitoring and enforcement
of contracts imposes significant overhead and delays discovery of faulty
components to run-time.
To overcome these issues, we present soft contract verification, which aims
to statically prove either complete or partial contract correctness of
components, written in an untyped, higher-order language with first-class
contracts. Our approach uses higher-order symbolic execution, leveraging
contracts as a source of symbolic values including unknown behavioral values,
and employs an updatable heap of contract invariants to reason about
flow-sensitive facts. We prove the symbolic execution soundly approximates the
dynamic semantics and that verified programs can't be blamed.
The approach is able to analyze first-class contracts, recursive data
structures, unknown functions, and control-flow-sensitive refinements of
values, which are all idiomatic in dynamic languages. It makes effective use of
an off-the-shelf solver to decide problems without heavy encodings. The
approach is competitive with a wide range of existing tools---including type
systems, flow analyzers, and model checkers---on their own benchmarks.Comment: ICFP '14, September 1-6, 2014, Gothenburg, Swede
Recommended from our members
Nascent polypeptide chains exit the ribosome in the same relative position in both eucaryotes and procaryotes.
We located the polypeptide nascent chain as it leaves cytoplasmic ribosomes from the plant Lemna gibba by immune electron microscopy using antibodies against the small subunit of the enzyme ribulose-1,5-bisphosphate carboxylase. Similar studies with Escherichia coli ribosomes, using antibodies directed against the enzyme beta-galactosidase, show that the polypeptide nascent chain emerges in the same relative position in plants and bacteria. The eucaryotic ribosomal exit site is on the large subunit, approximately 75 A from the interface between subunits and nearly 160 A from the central protuberance, the presumed site for peptidyl transfer. This is the first functional site on both the eucaryotic and procaryotic ribosomes to be determined
Size-Change Termination as a Contract
Termination is an important but undecidable program property, which has led
to a large body of work on static methods for conservatively predicting or
enforcing termination. One such method is the size-change termination approach
of Lee, Jones, and Ben-Amram, which operates in two phases: (1) abstract
programs into "size-change graphs," and (2) check these graphs for the
size-change property: the existence of paths that lead to infinite decreasing
sequences.
We transpose these two phases with an operational semantics that accounts for
the run-time enforcement of the size-change property, postponing (or entirely
avoiding) program abstraction. This choice has two key consequences: (1)
size-change termination can be checked at run-time and (2) termination can be
rephrased as a safety property analyzed using existing methods for systematic
abstraction.
We formulate run-time size-change checks as contracts in the style of Findler
and Felleisen. The result compliments existing contracts that enforce partial
correctness specifications to obtain contracts for total correctness. Our
approach combines the robustness of the size-change principle for termination
with the precise information available at run-time. It has tunable overhead and
can check for nontermination without the conservativeness necessary in static
checking. To obtain a sound and computable termination analysis, we apply
existing abstract interpretation techniques directly to the operational
semantics, avoiding the need for custom abstractions for termination. The
resulting analyzer is competitive with with existing, purpose-built analyzers
Data and donuts
Multiple sessions held on: 3/8/17, 5/16/17.So you've taken the R basics session and you're ready to make publication quality graphs using R. This month's Data and Donuts will show you how to use the ggplot package in R. After this session, you will be able to create a variety of plot types, alter their aesthetics, and use facets to automate the creation of several graphs at once. Some experience with R is recommended but not required
Data and donuts
Multiple sessions held on: 5/10/17, 7/25/17, 5/15/18.This month's Data and Donuts will cover best practices for preparing your data for archiving. We will discuss how to properly describe your data so that others, or you from 5 years from now, will know what it is and how to use it, as well as appropriate places to store it. We'll also discuss options for repositories that will allow others to access your research data, including CSU's digital repository
Alien Registration- Tobin, Loren C. (Ashland, Aroostook County)
https://digitalmaine.com/alien_docs/27294/thumbnail.jp
- …