840 research outputs found
State-of-the-Art in Parallel Computing with R
R is a mature open-source programming language for statistical computing and graphics. Many areas of statistical research are experiencing rapid growth in the size of data sets. Methodological advances drive increased use of simulations. A common approach is to use parallel computing. This paper presents an overview of techniques for parallel computing with R on computer clusters, on multi-core systems, and in grid computing. It reviews sixteen different packages, comparing them on their state of development, the parallel technology used, as well as on usability, acceptance, and performance. Two packages (snow, Rmpi) stand out as particularly useful for general use on computer clusters. Packages for grid computing are still in development, with only one package currently available to the end user. For multi-core systems four different packages exist, but a number of issues pose challenges to early adopters. The paper concludes with ideas for further developments in high performance computing with R. Example code is available in the appendix
A statistical approach to the inverse problem in magnetoencephalography
Magnetoencephalography (MEG) is an imaging technique used to measure the
magnetic field outside the human head produced by the electrical activity
inside the brain. The MEG inverse problem, identifying the location of the
electrical sources from the magnetic signal measurements, is ill-posed, that
is, there are an infinite number of mathematically correct solutions. Common
source localization methods assume the source does not vary with time and do
not provide estimates of the variability of the fitted model. Here, we
reformulate the MEG inverse problem by considering time-varying locations for
the sources and their electrical moments and we model their time evolution
using a state space model. Based on our predictive model, we investigate the
inverse problem by finding the posterior source distribution given the multiple
channels of observations at each time rather than fitting fixed source
parameters. Our new model is more realistic than common models and allows us to
estimate the variation of the strength, orientation and position. We propose
two new Monte Carlo methods based on sequential importance sampling. Unlike the
usual MCMC sampling scheme, our new methods work in this situation without
needing to tune a high-dimensional transition kernel which has a very high
cost. The dimensionality of the unknown parameters is extremely large and the
size of the data is even larger. We use Parallel Virtual Machine (PVM) to speed
up the computation.Comment: Published in at http://dx.doi.org/10.1214/14-AOAS716 the Annals of
Applied Statistics (http://www.imstat.org/aoas/) by the Institute of
Mathematical Statistics (http://www.imstat.org
High performance computing of explicit schemes for electrofusion jointing process based on message-passing paradigm
The research focused on heterogeneous cluster workstations comprising of a number of CPUs in single and shared architecture platform. The problem statements under consideration involved one dimensional parabolic equations. The thermal process of electrofusion jointing was also discussed. Numerical schemes of explicit type such as AGE, Brian, and Charlies Methods were employed. The parallelization of these methods were based on the domain decomposition technique. Some parallel performance measurement for these methods were also addressed. Temperature profile of the one dimensional radial model of the electrofusion process were also given
State of the Art in Parallel Computing with R
R is a mature open-source programming language for statistical computing and graphics. Many areas of statistical research are experiencing rapid growth in the size of data sets. Methodological advances drive increased use of simulations. A common approach is to use parallel computing. This paper presents an overview of techniques for parallel computing with R on computer clusters, on multi-core systems, and in grid computing. It reviews sixteen different packages, comparing them on their state of development, the parallel technology used, as well as on usability, acceptance, and performance. Two packages (snow, Rmpi) stand out as particularly suited to general use on computer clusters. Packages for grid computing are still in development, with only one package currently available to the end user. For multi-core systems five different packages exist, but a number of issues pose challenges to early adopters. The paper concludes with ideas for further developments in high performance computing with R. Example code is available in the appendix.
A HIERARCHICAL DISTRIBUTED SHARED MEMORY PARALLEL BRANCH & BOUND APPLICATION WITH PVM AND OPENMP FOR MULTIPROCESSOR CLUSTERS
Branch&Bound (B&B) is a technique widely used to solve combinatorial optimization
problems in physics and engineering science. In this paper we show how the combined use
of PVM and OpenMP libraries can be a promising approach to exploit the intrinsic parallel
nature of this class of application and to obtain efficient code for hybrid computational
architectures. We described how both the shared memory and the distributed memory programming
models can be applied to implement the same algorithm for the inter-nodes and
intra-node parallelization. Some experimental tests on a local area network (LAN) of workstations
are finally discussed
Decomposition Algorithms for Stochastic Programming on a Computational Grid
We describe algorithms for two-stage stochastic linear programming with
recourse and their implementation on a grid computing platform. In particular,
we examine serial and asynchronous versions of the L-shaped method and a
trust-region method. The parallel platform of choice is the dynamic,
heterogeneous, opportunistic platform provided by the Condor system. The
algorithms are of master-worker type (with the workers being used to solve
second-stage problems, and the MW runtime support library (which supports
master-worker computations) is key to the implementation. Computational results
are presented on large sample average approximations of problems from the
literature.Comment: 44 page
PVM algorithms for some problems in bioinformatics
We design and analyze implementation aspects of a PVM
version of the well known Smith-Waterman algorithm, and then we consider
other problems important for bioinformatics, such as finding longest
common substring, finding repeated substrings and finding palindromes
Distributed multi-threading in GNU prolog
Embora a computação paralela já tenha sido alvo de inúmeros estudos, o processo de a tornar acessível as massas ainda mal começou. Através da combinação com o Prolog de um ambiente de programação distribuída e multithreaded, como o PM2, torna-se possível ter computações paralelas e concorrentes usando programação em logica. Com este objetivo foi desenvolvido o PM2-Prolog, um interface Prolog para o sistema PM2. Tal sistema permite correr aplicações Prolog multithreaded em múltiplas instâncias do GNU Prolog num ambiente distribuído, tirando, assim, partido dos recursos disponíveis nos computadores ligados numa rede. Em problemas computacionalmente pesados, onde o tempo de execução é crucial, existe particular vantagem em usar este sistema. A API do sistema oferece primitivas para gestão de threads e para comunicação explícita entre threads. Testes preliminares mostram um ganho de desempenho quase linear, em comparação com uma versão sequencial. /ABSTRACT - Although parallel computing has been widely researched, the process of bringing concurrency and parallel programming to the mainstream has just begun. Combining a distributed multi-threading environment like PM2 with Prolog, opens the way to exploit concurrency and parallel computing using logic programming. To achieve such a purpose, we developed PM2-Prolog, a Prolog interface to the PM2 system. It allows multithreaded Prolog applications to run in multiple GNU Prolog engines in a distributed environment, thus taking advantage of the resources available on a computer network. This is especially useful for computationally intensive problems, where performance is an important factor. The system API offers thread management primitives, as well as explicit communication between threads. Preliminary test results show an almost linear speedup, when compared to a sequential version
- …