92 research outputs found
FooPar: A Functional Object Oriented Parallel Framework in Scala
We present FooPar, an extension for highly efficient Parallel Computing in
the multi-paradigm programming language Scala. Scala offers concise and clean
syntax and integrates functional programming features. Our framework FooPar
combines these features with parallel computing techniques. FooPar is designed
modular and supports easy access to different communication backends for
distributed memory architectures as well as high performance math libraries. In
this article we use it to parallelize matrix matrix multiplication and show its
scalability by a isoefficiency analysis. In addition, results based on a
empirical analysis on two supercomputers are given. We achieve close-to-optimal
performance wrt. theoretical peak performance. Based on this result we conclude
that FooPar allows to fully access Scala's design features without suffering
from performance drops when compared to implementations purely based on C and
MPI
Visualization of transcoronary ablation of septal hypertrophy in patients with hypertrophic obstructive cardiomyopathy: a comparison between cardiac MRI, invasive measurements and echocardiography
Towards Applying River Formation Dynamics in Continuous Optimization Problems
River Formation Dynamics (RFD) is a metaheuristic that has been successfully used by different research groups to deal with a wide variety of discrete combinatorial optimization problems. However, no attempt has been done to adapt it to continuous optimization domains. In this paper we propose a first approach to obtain such objective, and we evaluate its usefulness by comparing RFD results against those obtained by other more mature metaheuristics for continuous domains. In particular, we compare with the results obtained by Particle Swarm Optimization, Artificial Bee Colony, Firefly Algorithm, and Social Spider Optimization
Asynchronous Stream Processing with S-Net
© The Author(s) 2010. This article is published with open access at Springerlink.comWe present the rationale and design of S-Net, a coordination language for asynchronous stream processing. The language achieves a near-complete separation between the application code, written in any conventional programming language, and the coordination/communication code written in S-Net. Our approach supports a component technology with flexible software reuse. No extension of the conventional language is required. The interface between S-Net and the application code is in terms of one additional library function. The application code is componentised and presented to S-Net as a set of components, called boxes, each encapsulating a single tuple-to-tuple function. Apart from the boxes defined using an external compute language, S-Net features two built-in boxes: one for network housekeeping and one for data-flow style synchronisation. Streaming network composition under S-Net is based on four network combinators, which have both deterministic and nondeterministic versions. Flexible software reuse is comprehensive, with the box interfaces and even the network structure being subject to subtyping. We propose an inheritance mechanism, named flow inheritance, that is specifically geared towards stream processing. The paper summarises the essential language constructs and type concepts and gives a short application example.Peer reviewe
- …