3 research outputs found

    A Generic Model Driven Methodology for Extending Component Models

    Get PDF
    Software components have interesting properties for the development of scientific applications such as easing code reuse and code coupling. In classical component models, component assemblies are however still tightly coupled with the execution resources they are targeted to. Dedicated concepts to abstract assemblies from resources and to enable high performance component implementations have thus been proposed. These concepts have not achieved widespread use, mainly because of the lack of suitable approach to extend component models. Existing approaches -- based on ad-hoc modifications of component run-times or compilation chains -- are complex, difficult to port from one implementation to another and prevent mixing of distinct extensions in a single model. An interesting trend to separate application logic from the underlying execution resources exists; it is based on meta-modeling and on the manipulation of the resulting models. This report studies how a model driven approach could be applied to implement abstract concepts in component models. The proposed approach is based on a two step transformation from an abstract model to a concrete one. In the first step, all abstract concepts of the source model are rewritten using the limited set of abstract concepts of an intermediate model. In the second step, resources are taken into account to transform these intermediate concepts into concrete ones. A prototype implementation is described to evaluate the feasibility of this approach

    Autonomic behavioural framework for structural parallelism over heterogeneous multi-core systems.

    Get PDF
    With the continuous advancement in hardware technologies, significant research has been devoted to design and develop high-level parallel programming models that allow programmers to exploit the latest developments in heterogeneous multi-core/many-core architectures. Structural programming paradigms propose a viable solution for e ciently programming modern heterogeneous multi-core architectures equipped with one or more programmable Graphics Processing Units (GPUs). Applying structured programming paradigms, it is possible to subdivide a system into building blocks (modules, skids or components) that can be independently created and then used in di erent systems to derive multiple functionalities. Exploiting such systematic divisions, it is possible to address extra-functional features such as application performance, portability and resource utilisations from the component level in heterogeneous multi-core architecture. While the computing function of a building block can vary for di erent applications, the behaviour (semantic) of the block remains intact. Therefore, by understanding the behaviour of building blocks and their structural compositions in parallel patterns, the process of constructing and coordinating a structured application can be automated. In this thesis we have proposed Structural Composition and Interaction Protocol (SKIP) as a systematic methodology to exploit the structural programming paradigm (Building block approach in this case) for constructing a structured application and extracting/injecting information from/to the structured application. Using SKIP methodology, we have designed and developed Performance Enhancement Infrastructure (PEI) as a SKIP compliant autonomic behavioural framework to automatically coordinate structured parallel applications based on the extracted extra-functional properties related to the parallel computation patterns. We have used 15 di erent PEI-based applications (from large scale applications with heavy input workload that take hours to execute to small-scale applications which take seconds to execute) to evaluate PEI in terms of overhead and performance improvements. The experiments have been carried out on 3 di erent Heterogeneous (CPU/GPU) multi-core architectures (including one cluster machine with 4 symmetric nodes with one GPU per node and 2 single machines with one GPU per machine). Our results demonstrate that with less than 3% overhead, we can achieve up to one order of magnitude speed-up when using PEI for enhancing application performance

    Behavioural skeletons meeting Services

    No full text
    ehavioural skeletons have been introduced as a suitable way to model autonomic management of parallel, distributed (grid) applications. A behavioural skeleton is basically a skeleton with an associated autonomic manager taking care of non-functional issues related to skeleton implementation. Here we discuss an implementation of a task farm behavioural skeleton exploiting SCA, the Service Component Architecture recently introduced by IBM. This implementation is meant to provide plain service/SCA users some efficient skeleton modelling common parallel application pattern and also to investigate the advantages and the problems relative to skeletons in the service world. Experimental results are eventually discussed
    corecore