4 research outputs found

    Aspect oriented pluggable support for parallel computing

    Get PDF
    In this paper, we present an approach to develop parallel applications based on aspect oriented programming. We propose a collection of aspects to implement group communication mechanisms on parallel applications. In our approach, parallelisation code is developed by composing the collection into the application core functionality. The approach requires fewer changes to sequential applications to parallelise the core functionality than current alternatives and yields more modular code. The paper presents the collection and shows how the aspects can be used to develop efficient parallel applicationsFundaĆ§Ć£o para a CiĆŖncia e a Tecnologia (FCT) - PPC-VM (Portable Parallel Computing based on Virtual Machines) Project POSI/CHS/47158/2002; SOFTAS (POSI/EIA/60189/2004).Fundo Europeu de Desenvolvimento Regional (FEDER)

    A domain-specific language for parallel and grid computing

    Get PDF
    This paper overviews a Domain-Specific Language (DSL) for parallel and grid computing, layered on top of AspectJ. This DSL aims to bridge the gap between sequential code and parallel/grid applications, by avoiding invasive source code changes in scientific applications. Moreover, it aims to promote the localization of parallelization and gridification issues into well defined modules that can be (un)plugged (from)to existing scientific applications. This paper builds on previous work based on AspectJ and presents the main motivations for implementing a DSL in preference to a pure-AspectJ solution. The paper presents the DSL's design rationale, overviews current implementation and open research issues.(undefined)info:eu-repo/semantics/publishedVersio

    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

    ExploraĆ§Ć£o da linguagem Scala para suporte a aplicaƧƵes paralelas

    Get PDF
    Nos anos mais recentes tem sido feita investigaĆ§Ć£o no uso da ProgramaĆ§Ć£o Orientada a Aspectos no suporte a computaĆ§Ć£o paralela, nomeadamente para conseguir guardar as funcionalidades da mesma em mĆ³dulos, algo que nĆ£o Ć© possĆ­vel quando se utiliza ProgramaĆ§Ć£o Orientada a Objectos. Um resultado desta investigaĆ§Ć£o foi o desenvolvimento de uma aplicaĆ§Ć£o, o ParJECoLi, desenvolvida usando a linguagem Java e recorrendo ao AspectJ para paralelizar a mesma. No entanto, durante essa mesma investigaĆ§Ć£o, chegou-se Ć  conclusĆ£o que o AspectJ apresenta algumas limitaƧƵes na reutilizaĆ§Ć£o de mĆ³dulos. Tendo em conta isso, surgiu a ideia de estudar uma outra linguagem de programaĆ§Ć£o, conceptualmente diferente da usada na investigaĆ§Ć£o. A linguagem Scala Ć© conhecida por ter uma capacidade de composiĆ§Ć£o modular flexĆ­vel. Como tal parece interessante entender atĆ© que ponto Ć© capaz de substituir AspectJ no suporte modular Ć  computaĆ§Ć£o paralela. Este projecto pretende aferir essa capacidade. Neste contexto, pretende-se usar o ParJECoLi como caso de estudo para dirigir comparaƧƵes entre Scala e AspectJ
    corecore