1,634 research outputs found
A Complexity O(1) Priority Queue for Event Driven Molecular Dynamics Simulations
We propose and implement a priority queue suitable for use in event driven
molecular dynamics simulations. All operations on the queue take on average
O(1) time per collision. In comparison, previously studied queues for event
driven molecular dynamics simulations require O(log ) time per collision for
systems of particles.Comment: Accepted for publication in Journal of Computational Physic
DynamO: A free O(N) general event-driven molecular-dynamics simulator
Molecular-dynamics algorithms for systems of particles interacting through
discrete or "hard" potentials are fundamentally different to the methods for
continuous or "soft" potential systems. Although many software packages have
been developed for continuous potential systems, software for discrete
potential systems based on event-driven algorithms are relatively scarce and
specialized. We present DynamO, a general event-driven simulation package which
displays the optimal O(N) asymptotic scaling of the computational cost with the
number of particles N, rather than the O(N log(N)) scaling found in most
standard algorithms. DynamO provides reference implementations of the best
available event-driven algorithms. These techniques allow the rapid simulation
of both complex and large (>10^6 particles) systems for long times. The
performance of the program is benchmarked for elastic hard sphere systems,
homogeneous cooling and sheared inelastic hard spheres, and equilibrium
Lennard-Jones fluids. This software and its documentation are distributed under
the GNU General Public license and can be freely downloaded from
http://marcusbannerman.co.uk/dynamo
Optimizing Event-Driven Simulations
Event-driven molecular dynamics is a valuable tool in condensed and soft
matter physics when particles can be modeled as hard objects or more generally
if their interaction potential can be modeled in a stepwise fashion. Hard
spheres model has been indeed widely used both for computational and
theoretical description of physical systems. Recently further developments of
computational techniques allow simulations of hard rigid objects of generic
shape. In present paper we will present some optimizations for event-driven
simulations that offered significant speedup over previous methods. In
particular we will describe a generalization of well known linked list method
and an improvement on nearest neighbor lists method recently proposed by us.Comment: Submitted to Comp. Phys. Comm. Special Issue for CCP201
An Efficient Implementation of the Robust Tabu Search Heuristic for Sparse Quadratic Assignment Problems
We propose and develop an efficient implementation of the robust tabu search
heuristic for sparse quadratic assignment problems. The traditional
implementation of the heuristic applicable to all quadratic assignment problems
is of O(N^2) complexity per iteration for problems of size N. Using multiple
priority queues to determine the next best move instead of scanning all
possible moves, and using adjacency lists to minimize the operations needed to
determine the cost of moves, we reduce the asymptotic complexity per iteration
to O(N log N ). For practical sized problems, the complexity is O(N)
Parallel Discrete Event Simulation with Erlang
Discrete Event Simulation (DES) is a widely used technique in which the state
of the simulator is updated by events happening at discrete points in time
(hence the name). DES is used to model and analyze many kinds of systems,
including computer architectures, communication networks, street traffic, and
others. Parallel and Distributed Simulation (PADS) aims at improving the
efficiency of DES by partitioning the simulation model across multiple
processing elements, in order to enabling larger and/or more detailed studies
to be carried out. The interest on PADS is increasing since the widespread
availability of multicore processors and affordable high performance computing
clusters. However, designing parallel simulation models requires considerable
expertise, the result being that PADS techniques are not as widespread as they
could be. In this paper we describe ErlangTW, a parallel simulation middleware
based on the Time Warp synchronization protocol. ErlangTW is entirely written
in Erlang, a concurrent, functional programming language specifically targeted
at building distributed systems. We argue that writing parallel simulation
models in Erlang is considerably easier than using conventional programming
languages. Moreover, ErlangTW allows simulation models to be executed either on
single-core, multicore and distributed computing architectures. We describe the
design and prototype implementation of ErlangTW, and report some preliminary
performance results on multicore and distributed architectures using the well
known PHOLD benchmark.Comment: Proceedings of ACM SIGPLAN Workshop on Functional High-Performance
Computing (FHPC 2012) in conjunction with ICFP 2012. ISBN: 978-1-4503-1577-
Extreme scale parallel NBody algorithm with event driven constraint based execution model
Traditional scientific applications such as Computational Fluid Dynamics, Partial Differential Equations based numerical methods (like Finite Difference Methods, Finite Element Methods) achieve sufficient efficiency on state of the art high performance computing systems and have been widely studied / implemented using conventional programming models. For emerging application domains such as Graph applications scalability and efficiency is significantly constrained by the conventional systems and their supporting programming models. Furthermore technology trends like multicore, manycore, heterogeneous system architectures are introducing new challenges and possibilities. Emerging technologies are requiring a rethinking of approaches to more effectively expose the underlying parallelism to the applications and the end-users. This thesis explores the space of effective parallel execution of ephemeral graphs that are dynamically generated. The standard particle based simulation, solved using the Barnes-Hut algorithm is chosen to exemplify the dynamic workloads. In this thesis the workloads are expressed using sequential execution semantics, a conventional parallel programming model - shared memory semantics and semantics of an innovative execution model designed for efficient scalable performance towards Exascale computing called ParalleX. The main outcomes of this research are parallel processing of dynamic ephemeral workloads, enabling dynamic load balancing during runtime, and using advanced semantics for exposing parallelism in scaling constrained applications
BioSimulator.jl: Stochastic simulation in Julia
Biological systems with intertwined feedback loops pose a challenge to
mathematical modeling efforts. Moreover, rare events, such as mutation and
extinction, complicate system dynamics. Stochastic simulation algorithms are
useful in generating time-evolution trajectories for these systems because they
can adequately capture the influence of random fluctuations and quantify rare
events. We present a simple and flexible package, BioSimulator.jl, for
implementing the Gillespie algorithm, -leaping, and related stochastic
simulation algorithms. The objective of this work is to provide scientists
across domains with fast, user-friendly simulation tools. We used the
high-performance programming language Julia because of its emphasis on
scientific computing. Our software package implements a suite of stochastic
simulation algorithms based on Markov chain theory. We provide the ability to
(a) diagram Petri Nets describing interactions, (b) plot average trajectories
and attached standard deviations of each participating species over time, and
(c) generate frequency distributions of each species at a specified time.
BioSimulator.jl's interface allows users to build models programmatically
within Julia. A model is then passed to the simulate routine to generate
simulation data. The built-in tools allow one to visualize results and compute
summary statistics. Our examples highlight the broad applicability of our
software to systems of varying complexity from ecology, systems biology,
chemistry, and genetics. The user-friendly nature of BioSimulator.jl encourages
the use of stochastic simulation, minimizes tedious programming efforts, and
reduces errors during model specification.Comment: 27 pages, 5 figures, 3 table
- …