44 research outputs found
A software platform for evolutionary computation with pluggable parallelism and quality assurance
This paper proposes the Java Evolutionary Computation Library
(JECoLi), an adaptable, flexible, extensible and reliable software
framework implementing metaheuristic optimization algorithms, using
the Java programming language. JECoLi aims to offer a solution suited
for the integration of Evolutionary Computation (EC)-based approaches
in larger applications, and for the rapid and efficient benchmarking of
EC algorithms in specific problems. Its main contributions are (i) the implementation
of pluggable parallelization modules, independent from the
EC algorithms, allowing the programs to adapt to the available hardware
resources in a transparent way, without changing the base code; (ii) a
flexible platform for software quality assurance that allows creating tests
for the implemented features and for user-defined extensions. The library
is freely available as an open-source project.Fundação para a Ciência e a Tecnologia (FCT) - PTDC/EIA-EIA/115176/2009, Programa COMPET
Checkpoint and run-time adaptation with pluggable parallelisation
Enabling applications for computational Grids requires new approaches to develop applications that can effectively cope with resource volatility. Applications must be resilient to resource faults, adapting the behaviour to available resources. This paper describes an approach to application-level adaptation that efficiently supports application-level checkpointing. The key of this work is the concept of pluggable parallelisation, which localises parallelisation issues into multiple modules that can be (un)plugged to match resource availability. This paper shows how pluggable parallelisation can be extended to effectively support checkpointing and run-time adaptation. We present the developed pluggable mechanism that helps the programmer to include checkpointing in the base (sequential). Based on these mechanisms and on previous work on pluggable parallelisation, our approach is able to automatically add support for checkpointing in parallel execution environments. Moreover, applications can adapt from a sequential execution to a multi-cluster configuration. Adaptation can be performed by checkpointing the application and restarting on a different mode or can be performed during run-time. Pluggable parallelisation intrinsically promotes the separation of software functionality from fault-tolerance and adaptation issues facilitating their analysis and evolution. The work presented in this paper reinforces this idea by showing the feasibility of the approach and performance benefits that can be achieved.(undefined
A Review of Platforms for the Development of Agent Systems
Agent-based computing is an active field of research with the goal of
building autonomous software of hardware entities. This task is often
facilitated by the use of dedicated, specialized frameworks. For almost thirty
years, many such agent platforms have been developed. Meanwhile, some of them
have been abandoned, others continue their development and new platforms are
released. This paper presents a up-to-date review of the existing agent
platforms and also a historical perspective of this domain. It aims to serve as
a reference point for people interested in developing agent systems. This work
details the main characteristics of the included agent platforms, together with
links to specific projects where they have been used. It distinguishes between
the active platforms and those no longer under development or with unclear
status. It also classifies the agent platforms as general purpose ones, free or
commercial, and specialized ones, which can be used for particular types of
applications.Comment: 40 pages, 2 figures, 9 tables, 83 reference
Recommended from our members
High performance latent dirichlet allocation for text mining
This thesis was submitted for the degree of Doctor of Philosophy and awarded by Brunel University.Latent Dirichlet Allocation (LDA), a total probability generative model, is a three-tier Bayesian model. LDA computes the latent topic structure of the data and obtains the significant information of documents. However, traditional LDA has several limitations in practical applications. LDA cannot be directly used in classification because it is a non-supervised learning model. It needs to be embedded into appropriate classification algorithms. LDA is a generative model as it normally generates the latent topics in the categories where the target documents do not belong to, producing the deviation in computation and reducing the classification accuracy. The number of topics in LDA influences the learning process of model parameters greatly. Noise samples in the training data also affect the final text classification result. And, the quality of LDA based classifiers depends on the quality of the training samples to a great extent. Although parallel LDA algorithms are proposed to deal with huge amounts of data, balancing computing loads in a computer cluster poses another challenge. This thesis presents a text classification method which combines the LDA model and Support Vector Machine (SVM) classification algorithm for an improved accuracy in classification when reducing the dimension of datasets. Based on Density-Based Spatial Clustering of Applications with Noise (DBSCAN), the algorithm automatically optimizes the number of topics to be selected which reduces the number of iterations in computation. Furthermore, this thesis presents a noise data reduction scheme to process noise data. When the noise ratio is large in the training data set, the noise reduction scheme can always produce a high level of accuracy in classification. Finally, the thesis parallelizes LDA using the MapReduce model which is the de facto computing standard in supporting data intensive applications. A genetic algorithm based load balancing algorithm is designed to balance the workloads among computers in a heterogeneous MapReduce cluster where the computers have a variety of computing resources in terms of CPU speed, memory space and hard disk space
Design, development and application of an automated framework for cell growth and laboratory evolution
Precise control over microbial cell growth conditions could enable detection of minute phenotypic changes, which would improve our understanding of how genotypes are shaped by adaptive selection. Although automated cell- culture systems such as bioreactors offer strict control over liquid culture conditions, they often do not scale to high-throughput or require cumbersome redesign to alter growth conditions. I report the design and validation of eVOLVER, a scalable DIY framework that can be configured to carry out high- throughput growth experiments in molecular evolution, systems biology, and microbiology. I perform high-throughput evolution of yeast across systematically varied population density niches to show how eVOLVER can precisely characterize adaptive niches. I describe growth selection using time-varying temperature programs on a genome-wide yeast knockout library to identify strains with altered sensitivity to changes in temperature magnitude or frequency. Inspired by large-scale integration of electronics and microfluidics, I also demonstrate millifluidic multiplexing modules that enable multiplexed media routing, cleaning, vial-to-vial transfers and automated yeast mating
On improving the performance of optimistic distributed simulations
This report investigates means of improving the performance of optimistic distributed simulations
without affecting the simulation accuracy. We argue that existing clustering algorithms
are not adequate for application in distributed simulations, and outline some characteristics
of an ideal algorithm that could be applied in this field. This report is structured as follows.
We start by introducing the area of distributed simulation. Following a comparison of the
dominant protocols used in distributed simulation, we elaborate on the current approaches
of improving the simulation performance, using computation efficient techniques, exploiting
the hardware configuration of processors, optimizations that can be derived from the
simulation scenario, etc. We introduce the core characteristics of clustering approaches and
argue that these cannot be applied in real-life distributed simulation problems. We present
a typical distributed simulation setting and elaborate on the reasons that existing clustering
approaches are not expected to improve the performance of a distributed simulation. We
introduce a prototype distributed simulation platform that has been developed in the scope
of this research, focusing on the area of emergency response and specifically building evacuation.
We continue by outlining our current work on this issue, and finally, we end this
report by outlining next actions which could be made in this field
Exploração de paralelismo massivo em algoritmos evolucionários
Dissertação de mestrado em Engenharia InformáticaEsta dissertação está centrada na paralelização massiva da biblioteca Java Evolutionary Cornputation Library), JECoLi, que se foca no desenvolvimento de meta-heurísticas de
otimização(e.g. Algoritmos Evolucionários (AEs)) na linguagem Java. Os AEs são um
paradigma da Computação Evolucionária (CE) utilizados para resolver problemas complexos
através de um método iterativo que evolui um conjunto de soluções (população) tendo em
conta os princípios da teoria de evolução por seleção natural apresentada por Charles Darwin.
Estes algoritmos estão divididos em duas categorias, AEs não estruturados e AEs estruturados. Os AEs não estruturados são caracterizados por uma população centralizada onde existe apenas um conjunto de soluções ao qual é aplicado o processo evolutivo. Por outro lado, os AEs estruturados contêm várias populações onde os processos evolutivos são conduzidos de forma independente, embora existindo troca de informação.
Os algoritmos de ambas as categorias podem ser paralelizados de diferentes maneiras.
Nesta dissertação, foram implementadas quatro versões paralelas da plataforma JECoLi de
forma o menos invasiva possível, tendo em conta modelos paralelos já formulados: um modelo
de paralelismo global; um modelo de ilhas em ambiente de memória partilhada; um modelo
de ilhas em ambiente de memória distribuída; e um modelo híbrido.
Estas implementações paralelas foram executadas no cluster Services and Advanced Research Cornputing with HTC/HPC clusters (SeARCH) utilizando o máximo de recursos computacionais possíveis de modo a realizar uma posterior análise dos resultados obtidos. Foram utilizados dois casos de estudo reais para validar as implementações paralelas, um problema de otimização de um bioprocesso de fermentação fed-batch e outro de otimização dos pesos de um protocolo de encaminhamento (OSP F).
Cada uma das implementações paralelas foi testada nos dois casos de estudo, aplicando
o máximo de paralelismo possível tendo em conta as limitações de cada caso de estudo, dos
modelos paralelos e dos recursos disponíveis.
Com estes testes concluí-se uma boa escalabilidade destes algoritmos, onde se destacam
as implementações relativas ao modelo de ilhas em memória distribuída e ao modelo híbrido.
Contudo, algumas configurações que originam maiores ganhos foram descartadas pois não
produzem valores de aptidão aceitáveis.This dissertation is centered in the massive parallelization of the Java Evolutionary Computation Library, JECoLi, which focuses on the development of meta-heuristics optimizations
(e.g. Evolutionary Algorithms (EAs)) in the Java programming language. The EAs are a
paradigm of Evolutionary Computation (EC) used to solve complex problems through an iterative method that evolves a set of solutions (population) taking into account the principles
of the theory of evolution by natural selection by Charles Darwin.
These algorithms are divided into two categories, unstructured EAs and structured EAs.
The unstructured AEs are characterized by a centralized population where there is only one
set of solutions for which the iterative method is applied. On the other hand, structured AEs
contain several independent populations where evolutionary processes are applied, although
there exchange information.
The algorithms of both categories can be parallelized in different ways. ln this dissertation, it was implemented four parallel versions of the platform JECoLi in a less invasive way,
taking into account parallel models already formulated: a global parallelism model; a island
model in shared memory environment; a island mo del in distributed memory environment;
and a hybrid model.
These parallel implementations were executed in the cluster SeARCH using the maximum computing resources in order to perform a further analysis of the results obtained.
Two case studies were used to validate the parallel implementations, a bioprocess optirnization problem of fed-batch fermentation and other weights optimization problem of a routing protocol (OSPF).
Each of the parallel implementations were tested in the two case studies, applying the
maximum parallelism taking into account the limitations of each case studies, parallel models
and available resources.
With these tests can be concluded a good scalability of these algorithms, which highlights
the implementations on the island model in distributed memory and hybrid model. However,
some settings that give greater gains were discarded because they produce no acceptable
fitness values
3rd EGEE User Forum
We have organized this book in a sequence of chapters, each chapter associated with an application or technical theme introduced by an overview of the contents, and a summary of the main conclusions coming from the Forum for the chapter topic. The first chapter gathers all the plenary session keynote addresses, and following this there is a sequence of chapters covering the application flavoured sessions. These are followed by chapters with the flavour of Computer Science and Grid Technology. The final chapter covers the important number of practical demonstrations and posters exhibited at the Forum. Much of the work presented has a direct link to specific areas of Science, and so we have created a Science Index, presented below. In addition, at the end of this book, we provide a complete list of the institutes and countries involved in the User Forum