38 research outputs found

    Developing Real-Time Emergency Management Applications: Methodology for a Novel Programming Model Approach

    Get PDF
    The last years have been characterized by the arising of highly distributed computing platforms composed of a heterogeneity of computing and communication resources including centralized high-performance computing architectures (e.g. clusters or large shared-memory machines), as well as multi-/many-core components also integrated into mobile nodes and network facilities. The emerging of computational paradigms such as Grid and Cloud Computing, provides potential solutions to integrate such platforms with data systems, natural phenomena simulations, knowledge discovery and decision support systems responding to a dynamic demand of remote computing and communication resources and services. In this context time-critical applications, notably emergency management systems, are composed of complex sets of application components specialized for executing specific computations, which are able to cooperate in such a way as to perform a global goal in a distributed manner. Since the last years the scientific community has been involved in facing with the programming issues of distributed systems, aimed at the definition of applications featuring an increasing complexity in the number of distributed components, in the spatial distribution and cooperation between interested parties and in their degree of heterogeneity. Over the last decade the research trend in distributed computing has been focused on a crucial objective. The wide-ranging composition of distributed platforms in terms of different classes of computing nodes and network technologies, the strong diffusion of applications that require real-time elaborations and online compute-intensive processing as in the case of emergency management systems, lead to a pronounced tendency of systems towards properties like self-managing, self-organization, self-controlling and strictly speaking adaptivity. Adaptivity implies the development, deployment, execution and management of applications that, in general, are dynamic in nature. Dynamicity concerns the number and the specific identification of cooperating components, the deployment and composition of the most suitable versions of software components on processing and networking resources and services, i.e., both the quantity and the quality of the application components to achieve the needed Quality of Service (QoS). In time-critical applications the QoS specification can dynamically vary during the execution, according to the user intentions and the Developing Real-Time Emergency Management Applications: Methodology for a Novel Programming Model Approach Gabriele Mencagli and Marco Vanneschi Department of Computer Science, University of Pisa, L. Bruno Pontecorvo, Pisa Italy 2 2 Will-be-set-by-IN-TECH information produced by sensors and services, as well as according to the monitored state and performance of networks and nodes. The general reference point for this kind of systems is the Grid paradigm which, by definition, aims to enable the access, selection and aggregation of a variety of distributed and heterogeneous resources and services. However, though notable advancements have been achieved in recent years, current Grid technology is not yet able to supply the needed software tools with the features of high adaptivity, ubiquity, proactivity, self-organization, scalability and performance, interoperability, as well as fault tolerance and security, of the emerging applications. For this reason in this chapter we will study a methodology for designing high-performance computations able to exploit the heterogeneity and dynamicity of distributed environments by expressing adaptivity and QoS-awareness directly at the application level. An effective approach needs to address issues like QoS predictability of different application configurations as well as the predictability of reconfiguration costs. Moreover adaptation strategies need to be developed assuring properties like the stability degree of a reconfiguration decision and the execution optimality (i.e. select reconfigurations accounting proper trade-offs among different QoS objectives). In this chapter we will present the basic points of a novel approach that lays the foundations for future programming model environments for time-critical applications such as emergency management systems. The organization of this chapter is the following. In Section 2 we will compare the existing research works for developing adaptive systems in critical environments, highlighting their drawbacks and inefficiencies. In Section 3, in order to clarify the application scenarios that we are considering, we will present an emergency management system in which the run-time selection of proper application configuration parameters is of great importance for meeting the desired QoS constraints. In Section 4we will describe the basic points of our approach in terms of how compute-intensive operations can be programmed, how they can be dynamically modified and how adaptation strategies can be expressed. In Section 5 our approach will be contextualize to the definition of an adaptive parallel module, which is a building block for composing complex and distributed adaptive computations. Finally in Section 6 we will describe a set of experimental results that show the viability of our approach and in Section 7 we will give the concluding remarks of this chapter

    Improving stability in Adaptive Distributed Parallel applications: a cooperative predictive approach

    Get PDF
    With this thesis we take a step further on improving reconfiguration decisions in adaptive distributed parallel computations. The concept of switching cost is introduced with the aim of reducing the amount of reconfigurations and of improving the reconfigurations stability in dynamic execution scenar- ios. Computation modules control is based on the Model-Based Predictive Control (MPC) approach. We study the effectiveness of this approach in parallel distributed computations, where each module cooperates to find global optimal reconfiguration trajectory. Experimental results are obtained by means of experiments performed in a simulation environment

    A Control-Theoretic Methodology for Adaptive Structured Parallel Computations

    Get PDF
    Adaptivity for distributed parallel applications is an essential feature whose impor- tance has been assessed in many research fields (e.g. scientific computations, large- scale real-time simulation systems and emergency management applications). Especially for high-performance computing, this feature is of special interest in order to properly and promptly respond to time-varying QoS requirements, to react to uncontrollable environ- mental effects influencing the underlying execution platform and to efficiently deal with highly irregular parallel problems. In this scenario the Structured Parallel Programming paradigm is a cornerstone for expressing adaptive parallel programs: the high-degree of composability of parallelization schemes, their QoS predictability formally expressed by performance models, are basic tools in order to introduce dynamic reconfiguration processes of adaptive applications. These reconfigurations are not only limited to imple- mentation aspects (e.g. parallelism degree modifications), but also parallel versions with different structures can be expressed for the same computation, featuring different levels of performance, memory utilization, energy consumption, and exploitation of the memory hierarchies. Over the last decade several programming models and research frameworks have been developed aimed at the definition of tools and strategies for expressing adaptive parallel applications. Notwithstanding this notable research effort, properties like the optimal- ity of the application execution and the stability of control decisions are not sufficiently studied in the existing work. For this reason this thesis exploits a pioneer research in the context of providing formal theoretical tools founded on Control Theory and Game Theory techniques. Based on these approaches, we introduce a formal model for control- ling distributed parallel applications represented by computational graphs of structured parallelism schemes (also called skeleton-based parallelism). Starting out from the performance predictability of structured parallelism schemes, in this thesis we provide a formalization of the concept of adaptive parallel module per- forming structured parallel computations. The module behavior is described in terms of a Hybrid System abstraction and reconfigurations are driven by a Predictive Control ap- proach. Experimental results show the effectiveness of this work, in terms of execution cost reduction as well as the stability degree of a system reconfiguration: i.e. how long a reconfiguration choice is useful for targeting the required QoS levels. This thesis also faces with the issue of controlling large-scale distributed applications composed of several interacting adaptive components. After a panoramic view of the existing control-theoretic approaches (e.g. based on decentralized, distributed or hierar- chical structures of controllers), we introduce a methodology for the distributed predictive control. For controlling computational graphs, the overall control problem consists in a set of coupled control sub-problems for each application module. The decomposition is- sue has a twofold nature: first of all we need to model the coupling relationships between control sub-problems, furthermore we need to introduce proper notions of negotiation and convergence in the control decisions collectively taken by the parallel modules of the application graph. This thesis provides a formalization through basic concepts of Non-cooperative Games and Cooperative Optimization. In the notable context of the dis- tributed control of performance and resource utilization, we exploit a formal description of the control problem providing results for equilibrium point existence and the compari- son of the control optimality with different adaptation strategies and interaction protocols. Discussions and a first validation of the proposed techniques are exploited through exper- iments performed in a simulation environment

    Two Fundamental Concepts in Skeletal Parallel Programming

    Get PDF
    We define the concepts of nesting mode and interaction mode as they arise in the description of skeletal parallel programming systems. We sugegs

    Caratteristiche della programmazione di applicazioni context-aware e una proposta di modello ad alte prestazioni

    Get PDF
    In questa tesi analizziamo il problema di descrivere applicazioni pervasive ad alte prestazioni. Dopo aver studiato i problemi dei modelli esistenti proponiamo un nuovo approccio nato dall'esperienza maturata con l'ambiente ad alte prestazioni ASSIST

    Topologia ad albero per PARMOD ASSIST

    Get PDF
    L'obiettivo della tesi è quello di integrare all'interno del costrutto parallelo Parmod di ASSIST il supporto per computazioni logicamente strutturate ad albero. Si discutono l'implementazione ed i risultati sperimentali

    Supporto di strumenti di programmazione parallela strutturata per sistemi basati su CELL

    Get PDF
    Il lavoro nasce dall'esigenza di un framework per la programmazione parallela strutturata su sistemi multicore recenti. Il risultato è una libreria che consente di dichiarare un modulo parallelo equivalente al costrutto parmod di ASSIST sull'architettura Cell BE

    Supporto di strumenti di programmazione parallela strutturata per sistemi basati su CELL

    Get PDF
    Il lavoro nasce dall'esigenza di un framework per la programmazione parallela strutturata su sistemi multicore recenti. Il risultato è una libreria che consente di dichiarare un modulo parallelo equivalente al costrutto parmod di ASSIST sull'architettura CELL BE

    Supporti alla programmazione Grid-aware - esperienze di allocazione dinamica di programmi ASSIST a componenti

    Get PDF
    In questa tesi viene proposta e sperimentata una metodologia per il supporto di applicazioni grid-aware espresse come moduli paralleli ASSIST puri e incapsulati in componenti CCM (CORBA Component Model). La metodologia oggetto della tesi prevede il monitoraggio del tempo di servizio di applicazioni, basate su stream di dati, e la riconfigurazione da parte di un Application Manager, che può autonomamente decidere quali moduli/componenti paralleli utilizzare per bilanciare il carico, rispettando quindi il contratto di performance o evitando uno spreco inutile di risorse. A conclusione della sperimentazione, viene fatto un confronto tra i due approcci proposti (ASSIST puro ed integrato CCM), valutando l'impatto dei componenti CCM in una applicazione in esecuzione su una griglia, e valutando la bontà dell'Application Manager nei due casi
    corecore