3,594 research outputs found
Tackling Exascale Software Challenges in Molecular Dynamics Simulations with GROMACS
GROMACS is a widely used package for biomolecular simulation, and over the
last two decades it has evolved from small-scale efficiency to advanced
heterogeneous acceleration and multi-level parallelism targeting some of the
largest supercomputers in the world. Here, we describe some of the ways we have
been able to realize this through the use of parallelization on all levels,
combined with a constant focus on absolute performance. Release 4.6 of GROMACS
uses SIMD acceleration on a wide range of architectures, GPU offloading
acceleration, and both OpenMP and MPI parallelism within and between nodes,
respectively. The recent work on acceleration made it necessary to revisit the
fundamental algorithms of molecular simulation, including the concept of
neighborsearching, and we discuss the present and future challenges we see for
exascale simulation - in particular a very fine-grained task parallelism. We
also discuss the software management, code peer review and continuous
integration testing required for a project of this complexity.Comment: EASC 2014 conference proceedin
Evolutionary algorithm-based analysis of gravitational microlensing lightcurves
A new algorithm developed to perform autonomous fitting of gravitational
microlensing lightcurves is presented. The new algorithm is conceptually
simple, versatile and robust, and parallelises trivially; it combines features
of extant evolutionary algorithms with some novel ones, and fares well on the
problem of fitting binary-lens microlensing lightcurves, as well as on a number
of other difficult optimisation problems. Success rates in excess of 90% are
achieved when fitting synthetic though noisy binary-lens lightcurves, allowing
no more than 20 minutes per fit on a desktop computer; this success rate is
shown to compare very favourably with that of both a conventional (iterated
simplex) algorithm, and a more state-of-the-art, artificial neural
network-based approach. As such, this work provides proof of concept for the
use of an evolutionary algorithm as the basis for real-time, autonomous
modelling of microlensing events. Further work is required to investigate how
the algorithm will fare when faced with more complex and realistic microlensing
modelling problems; it is, however, argued here that the use of parallel
computing platforms, such as inexpensive graphics processing units, should
allow fitting times to be constrained to under an hour, even when dealing with
complicated microlensing models. In any event, it is hoped that this work might
stimulate some interest in evolutionary algorithms, and that the algorithm
described here might prove useful for solving microlensing and/or more general
model-fitting problems.Comment: 14 pages, 3 figures; accepted for publication in MNRA
Formal Derivation of Concurrent Garbage Collectors
Concurrent garbage collectors are notoriously difficult to implement
correctly. Previous approaches to the issue of producing correct collectors
have mainly been based on posit-and-prove verification or on the application of
domain-specific templates and transformations. We show how to derive the upper
reaches of a family of concurrent garbage collectors by refinement from a
formal specification, emphasizing the application of domain-independent design
theories and transformations. A key contribution is an extension to the
classical lattice-theoretic fixpoint theorems to account for the dynamics of
concurrent mutation and collection.Comment: 38 pages, 21 figures. The short version of this paper appeared in the
Proceedings of MPC 201
Efficient Sampling of Random Permutations
International audienceWe show how to uniformly distribute data at random (not to be confounded with permutation routing) in two settings that are able to deal with massive data: coarse grained parallelism and external memory. In contrast to previously known work for parallel setups, our method is able to fulfill the three criteria of uniformity, work-optimality and balance among the processors simultaneously. To guarantee the uniformity we investigate the matrix of communication requests between the processors. We show that its distribution is a generalization of the multivariate hypergeometric distribution and we give algorithms to sample it efficiently in the two settings
Parameter estimation in large-scale systems biology models: a parallel and self-adaptive cooperative strategy
[Abstract]
Background
The development of large-scale kinetic models is one of the current key issues in computational systems biology and bioinformatics. Here we consider the problem of parameter estimation in nonlinear dynamic models. Global optimization methods can be used to solve this type of problems but the associated computational cost is very large. Moreover, many of these methods need the tuning of a number of adjustable search parameters, requiring a number of initial exploratory runs and therefore further increasing the computation times.
Here we present a novel parallel method, self-adaptive cooperative enhanced scatter search (saCeSS), to accelerate the solution of this class of problems. The method is based on the scatter search optimization metaheuristic and incorporates several key new mechanisms: (i) asynchronous cooperation between parallel processes, (ii) coarse and fine-grained parallelism, and (iii) self-tuning strategies.
Results
The performance and robustness of saCeSS is illustrated by solving a set of challenging parameter estimation problems, including medium and large-scale kinetic models of the bacterium E. coli, bakerés yeast S. cerevisiae, the vinegar fly D. melanogaster, Chinese Hamster Ovary cells, and a generic signal transduction network.
The results consistently show that saCeSS is a robust and efficient method, allowing very significant reduction of computation times with respect to several previous state of the art methods (from days to minutes, in several cases) even when only a small number of processors is used.
Conclusions
The new parallel cooperative method presented here allows the solution of medium and large scale parameter estimation problems in reasonable computation times and with small hardware requirements. Further, the method includes self-tuning mechanisms which facilitate its use by non-experts. We believe that this new method can play a key role in the development of large-scale and even whole-cell dynamic models.Ministerio de EconomÃa y Competitividad; DPI2011-28112-C04-03Ministerio de EconomÃa y Competitividad; DPI2011-28112-C04-04Ministerio de EconomÃa y Competitividad; DPI2014-55276-C5-2-RMinisterio de EconomÃa y Competitividad; TIN2013-42148-PMinisterio de EconomÃa y Competitividad; TIN2016-75845-PGalicia. ConsellerÃa de Cultura, Educación e Ordenación Universitaria; R2014/041Galicia. ConsellerÃa de Cultura, Educación e Ordenación Universitaria; R2016/045Galicia. ConsellerÃa de Cultura, Educación e Ordenación Universitaria; GRC2013/05
Higher-Order Process Modeling: Product-Lining, Variability Modeling and Beyond
We present a graphical and dynamic framework for binding and execution of
business) process models. It is tailored to integrate 1) ad hoc processes
modeled graphically, 2) third party services discovered in the (Inter)net, and
3) (dynamically) synthesized process chains that solve situation-specific
tasks, with the synthesis taking place not only at design time, but also at
runtime. Key to our approach is the introduction of type-safe stacked
second-order execution contexts that allow for higher-order process modeling.
Tamed by our underlying strict service-oriented notion of abstraction, this
approach is tailored also to be used by application experts with little
technical knowledge: users can select, modify, construct and then pass
(component) processes during process execution as if they were data. We
illustrate the impact and essence of our framework along a concrete, realistic
(business) process modeling scenario: the development of Springer's
browser-based Online Conference Service (OCS). The most advanced feature of our
new framework allows one to combine online synthesis with the integration of
the synthesized process into the running application. This ability leads to a
particularly flexible way of implementing self-adaption, and to a particularly
concise and powerful way of achieving variability not only at design time, but
also at runtime.Comment: In Proceedings Festschrift for Dave Schmidt, arXiv:1309.455
- …