44 research outputs found

    A software platform for evolutionary computation with pluggable parallelism and quality assurance

    Get PDF
    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

    Get PDF
    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

    Full text link
    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

    Design, development and application of an automated framework for cell growth and laboratory evolution

    Get PDF
    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

    No full text
    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

    Get PDF
    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

    Get PDF
    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
    corecore