13,607 research outputs found
Answering Regular Path Queries on Workflow Provenance
This paper proposes a novel approach for efficiently evaluating regular path
queries over provenance graphs of workflows that may include recursion. The
approach assumes that an execution g of a workflow G is labeled with
query-agnostic reachability labels using an existing technique. At query time,
given g, G and a regular path query R, the approach decomposes R into a set of
subqueries R1, ..., Rk that are safe for G. For each safe subquery Ri, G is
rewritten so that, using the reachability labels of nodes in g, whether or not
there is a path which matches Ri between two nodes can be decided in constant
time. The results of each safe subquery are then composed, possibly with some
small unsafe remainder, to produce an answer to R. The approach results in an
algorithm that significantly reduces the number of subqueries k over existing
techniques by increasing their size and complexity, and that evaluates each
subquery in time bounded by its input and output size. Experimental results
demonstrate the benefit of this approach
A fast recursive coordinate bisection tree for neighbour search and gravity
We introduce our new binary tree code for neighbour search and gravitational
force calculations in an N-particle system. The tree is built in a "top-down"
fashion by "recursive coordinate bisection" where on each tree level we split
the longest side of a cell through its centre of mass. This procedure continues
until the average number of particles in the lowest tree level has dropped
below a prescribed value. To calculate the forces on the particles in each
lowest-level cell we split the gravitational interaction into a near- and a
far-field. Since our main intended applications are SPH simulations, we
calculate the near-field by a direct, kernel-smoothed summation, while the far
field is evaluated via a Cartesian Taylor expansion up to quadrupole order.
Instead of applying the far-field approach for each particle separately, we use
another Taylor expansion around the centre of mass of each lowest-level cell to
determine the forces at the particle positions. Due to this "cell-cell
interaction" the code performance is close to O(N) where N is the number of
used particles. We describe in detail various technicalities that ensure a low
memory footprint and an efficient cache use.
In a set of benchmark tests we scrutinize our new tree and compare it to the
"Press tree" that we have previously made ample use of. At a slightly higher
force accuracy than the Press tree, our tree turns out to be substantially
faster and increasingly more so for larger particle numbers. For four million
particles our tree build is faster by a factor of 25 and the time for neighbour
search and gravity is reduced by more than a factor of 6. In single processor
tests with up to 10^8 particles we confirm experimentally that the scaling
behaviour is close to O(N). The current Fortran 90 code version is
OpenMP-parallel and scales excellently with the processor number (=24) of our
test machine.Comment: 12 pages, 16 figures, 1 table, accepted for publication in MNRAS on
July 28, 201
- …