719 research outputs found

    Uma solução autonômica para k-exclusão mútua em sistemas distribuídos

    Get PDF
    Orientador : Prof. Dr. Elias P. Duarte Jr.Tese (doutorado) - Universidade Federal do Paraná, Setor de Ciências Exatas, Programa de Pós-Graduação em Informática. Defesa: Curitiba, 12/08/2014Inclui referênciasResumo: Uma das grandes vantagens dos sistemas distribuídos é o compartilhamento de recursos. No entanto, diversos processos podem solicitar o acesso a um recurso compartilhado de forma concorrente e, em certos casos, é necessário garantir que um único processo obtenha permissão de acesso ao recurso em cada instante de tempo. Para tanto, são utilizados os algoritmos de exclusão mútua. Nas soluções que utilizam pedidos de permissão, cada processo deve solicitar aos demais a permissão para utilizar o recurso, A permissão deve ser obtida de todos os processos ou de um subconjunto deles, como definido pelas soluções com quóruns. Uma extensão do problema da exclusão mútua é a k-exclusão mútua. Nesta categoria, ao invés de um, existem k cópias idênticas do recurso compartilhado. O objetivo é garantir que, no máximo, k processos obtenham acesso aos recursos de cada vez. As soluções de k-exclusão mútua existentes são basicamente adaptadas dos algoritmos de 1-exclusão mútua. Entretanto, a maior parte destas soluções não aborda a questão da ocorrência de falhas no sistema. Nesta tese é proposta uma solução autonômica de k-exclusão mútua distribuída que opera corretamente para até n — 1 processos falhos, sendo n o total de processos no sistema. O algoritmo de k-exclusão mútua é baseado em algoritmos hierárquicos de difusão (broadcast), também propostos nesta tese, O objetivo de desenvolver estes algoritmos é otimizar a propagação das mensagens de requisição de recursos do algoritmo de exclusão mútua. Dois algoritmos de difusão foram propostos, um para difusão de melhor-esforço e outro para difusão confiável. Estes algoritmos são baseados em uma outra solução também proposta neste trabalho: um algoritmo autonômico e hierárquico para a construção e manutenção de árvores geradoras (spanning trees). As árvores são construídas de forma totalmente distribuída e adaptativa sobre uma topologia de hipercubo virtual, denominada Vcube. A estratégia proposta é eficiente e escalável, além de tolerar até n — 1 falhas de processo. As soluções propostas são também autonômicas no sentido que se adaptam automaticamente frente à ocorrência de falhas, reorganizando os elementos corretos do sistema. Uma segunda abordagem foi proposta para o problema da exclusão mútua, um algoritmo de quóruns, também construído sobre a topologia VCube, A carga e o tamanho dos quóruns são balanceados, mesmo após a ocorrência de falhas. Todos os algoritmos propostos são descritos, especificados e foram implementados através de simulação. São apresentadas provas de correção e resultados experimentais para todas as propostas.Abstract: One of the key purposes of distributed systems is to allow resources to be shared. Howe­ver, several processes can request access to a shared resource concurrently and in some eases it is necessary to ensure that only a single process has permission to access the resource per instant of time. Mutual exclusion algorithms are used for this purpose. In permission-based solutions, each process must request permission to others before acces­sing the resource. The permission must be obtained for all processes or a subset of them, as is the ease when quorum-based solutions are employed. An extension of the mutual exclusion problem is k-mutual exclusion. In this case, instead of one, there are k identical copies of the shared resource. The main issue is to ensure that at most k processes get k adaptations of algorithms for mutual exclusion of a single resource. However, most of these solutions do not address the question of the oeeurrenee of faults in the system. In this thesis an autonomic solution for distributed k-mutual exclusion is proposed that works correctly even if up to n — 1 processes are faulty, assuming that the svstem consists of n k algorithms also proposed in this thesis. The purpose for developing these algorithms is to optimize the propagation of request messages used by the mutual exclusion algorithm. Two hierarchical broadcast algorithms were proposed, one for best-effort broadcast and another for reliable broadcast. These broadcast algorithms are based on yet another building block that was proposed in this thesis: an autonomic hierarchical algorithm for building and maintaining spanning trees. The spanning trees are constructed in a fully distributed and adaptive way on a virtual hypercube-like topology, called VCube, The n — 1 processes. The proposed solutions are also autonomic in the sense that they adapt them­selves automatically after the oeeurrenee of faults by reorganizing the correct processes remaining in the system, A second approach was also proposed for the mutual exclusion problem, a quorum-based algorithm, also built on the VCube topology. The load and size of the quorums are kept balanced, even after faults. All proposed algorithms are described, specified and have been implemented by simulation. Proofs of correctness and experimental results for all proposals are presented

    Self-Stabilization in the Distributed Systems of Finite State Machines

    Get PDF
    The notion of self-stabilization was first proposed by Dijkstra in 1974 in his classic paper. The paper defines a system as self-stabilizing if, starting at any, possibly illegitimate, state the system can automatically adjust itself to eventually converge to a legitimate state in finite amount of time and once in a legitimate state it will remain so unless it incurs a subsequent transient fault. Dijkstra limited his attention to a ring of finite-state machines and provided its solution for self-stabilization. In the years following his introduction, very few papers were published in this area. Once his proposal was recognized as a milestone in work on fault tolerance, the notion propagated among the researchers rapidly and many researchers in the distributed systems diverted their attention to it. The investigation and use of self-stabilization as an approach to fault-tolerant behavior under a model of transient failures for distributed systems is now undergoing a renaissance. A good number of works pertaining to self-stabilization in the distributed systems were proposed in the yesteryears most of which are very recent. This report surveys all previous works available in the literature of self-stabilizing systems

    Bundling Messages to Reduce the Cost of Tree-Based Broadcast Algorithms

    Get PDF
    International audienceHierarchical broadcast strategies based on trees are scalable since they distribute the workload among processes and disseminate messages in parallel. In this work we propose an efficient best-effort broadcast algorithm that employs multiple spanning trees to propagate messages that are bundled on tree intersections. The algorithm is autonomic in the sense that it employs dynamic trees rooted at the source process and which rebuild themselves after processes crash. Experimental results obtained with simulation are presented showing the performance to the algorithm in terms of the latency and the number and sizes of messages employed

    Self-stabilizing k-clustering in mobile ad hoc networks

    Full text link
    In this thesis, two silent self-stabilizing asynchronous distributed algorithms are given for constructing a k-clustering of a connected network of processes. These are the first self-stabilizing solutions to this problem. One algorithm, FLOOD, takes O( k) time and uses O(k log n) space per process, while the second algorithm, BFS-MIS-CLSTR, takes O(n) time and uses O(log n) space; where n is the size of the network. Processes have unique IDs, and there is no designated leader. BFS-MIS-CLSTR solves three problems; it elects a leader and constructs a BFS tree for the network, constructs a minimal independent set, and finally a k-clustering. Finding a minimal k-clustering is known to be NP -hard. If the network is a unit disk graph in a plane, BFS-MIS-CLSTR is within a factor of O(7.2552k) of choosing the minimal number of clusters; A lower bound is given, showing that any comparison-based algorithm for the k-clustering problem that takes o( diam) rounds has very bad worst case performance; Keywords: BFS tree construction, K-clustering, leader election, MIS construction, self-stabilization, unit disk graph

    Engineering Self-Adaptive Collective Processes for Cyber-Physical Ecosystems

    Get PDF
    The pervasiveness of computing and networking is creating significant opportunities for building valuable socio-technical systems. However, the scale, density, heterogeneity, interdependence, and QoS constraints of many target systems pose severe operational and engineering challenges. Beyond individual smart devices, cyber-physical collectives can provide services or solve complex problems by leveraging a “system effect” while coordinating and adapting to context or environment change. Understanding and building systems exhibiting collective intelligence and autonomic capabilities represent a prominent research goal, partly covered, e.g., by the field of collective adaptive systems. Therefore, drawing inspiration from and building on the long-time research activity on coordination, multi-agent systems, autonomic/self-* systems, spatial computing, and especially on the recent aggregate computing paradigm, this thesis investigates concepts, methods, and tools for the engineering of possibly large-scale, heterogeneous ensembles of situated components that should be able to operate, adapt and self-organise in a decentralised fashion. The primary contribution of this thesis consists of four main parts. First, we define and implement an aggregate programming language (ScaFi), internal to the mainstream Scala programming language, for describing collective adaptive behaviour, based on field calculi. Second, we conceive of a “dynamic collective computation” abstraction, also called aggregate process, formalised by an extension to the field calculus, and implemented in ScaFi. Third, we characterise and provide a proof-of-concept implementation of a middleware for aggregate computing that enables the development of aggregate systems according to multiple architectural styles. Fourth, we apply and evaluate aggregate computing techniques to edge computing scenarios, and characterise a design pattern, called Self-organising Coordination Regions (SCR), that supports adjustable, decentralised decision-making and activity in dynamic environments.Con lo sviluppo di informatica e intelligenza artificiale, la diffusione pervasiva di device computazionali e la crescente interconnessione tra elementi fisici e digitali, emergono innumerevoli opportunità per la costruzione di sistemi socio-tecnici di nuova generazione. Tuttavia, l'ingegneria di tali sistemi presenta notevoli sfide, data la loro complessità—si pensi ai livelli, scale, eterogeneità, e interdipendenze coinvolti. Oltre a dispositivi smart individuali, collettivi cyber-fisici possono fornire servizi o risolvere problemi complessi con un “effetto sistema” che emerge dalla coordinazione e l'adattamento di componenti fra loro, l'ambiente e il contesto. Comprendere e costruire sistemi in grado di esibire intelligenza collettiva e capacità autonomiche è un importante problema di ricerca studiato, ad esempio, nel campo dei sistemi collettivi adattativi. Perciò, traendo ispirazione e partendo dall'attività di ricerca su coordinazione, sistemi multiagente e self-*, modelli di computazione spazio-temporali e, specialmente, sul recente paradigma di programmazione aggregata, questa tesi tratta concetti, metodi, e strumenti per l'ingegneria di ensemble di elementi situati eterogenei che devono essere in grado di lavorare, adattarsi, e auto-organizzarsi in modo decentralizzato. Il contributo di questa tesi consiste in quattro parti principali. In primo luogo, viene definito e implementato un linguaggio di programmazione aggregata (ScaFi), interno al linguaggio Scala, per descrivere comportamenti collettivi e adattativi secondo l'approccio dei campi computazionali. In secondo luogo, si propone e caratterizza l'astrazione di processo aggregato per rappresentare computazioni collettive dinamiche concorrenti, formalizzata come estensione al field calculus e implementata in ScaFi. Inoltre, si analizza e implementa un prototipo di middleware per sistemi aggregati, in grado di supportare più stili architetturali. Infine, si applicano e valutano tecniche di programmazione aggregata in scenari di edge computing, e si propone un pattern, Self-Organising Coordination Regions, per supportare, in modo decentralizzato, attività decisionali e di regolazione in ambienti dinamici

    Department of Computer Science Activity 1998-2004

    Get PDF
    This report summarizes much of the research and teaching activity of the Department of Computer Science at Dartmouth College between late 1998 and late 2004. The material for this report was collected as part of the final report for NSF Institutional Infrastructure award EIA-9802068, which funded equipment and technical staff during that six-year period. This equipment and staff supported essentially all of the department\u27s research activity during that period

    The Value of Seizure Semiology in Epilepsy Surgery: Epileptogenic-Zone Localisation in Presurgical Patients using Machine Learning and Semiology Visualisation Tool

    Get PDF
    Background Eight million individuals have focal drug resistant epilepsy worldwide. If their epileptogenic focus is identified and resected, they may become seizure-free and experience significant improvements in quality of life. However, seizure-freedom occurs in less than half of surgical resections. Seizure semiology - the signs and symptoms during a seizure - along with brain imaging and electroencephalography (EEG) are amongst the mainstays of seizure localisation. Although there have been advances in algorithmic identification of abnormalities on EEG and imaging, semiological analysis has remained more subjective. The primary objective of this research was to investigate the localising value of clinician-identified semiology, and secondarily to improve personalised prognostication for epilepsy surgery. Methods I data mined retrospective hospital records to link semiology to outcomes. I trained machine learning models to predict temporal lobe epilepsy (TLE) and determine the value of semiology compared to a benchmark of hippocampal sclerosis (HS). Due to the hospital dataset being relatively small, we also collected data from a systematic review of the literature to curate an open-access Semio2Brain database. We built the Semiology-to-Brain Visualisation Tool (SVT) on this database and retrospectively validated SVT in two separate groups of randomly selected patients and individuals with frontal lobe epilepsy. Separately, a systematic review of multimodal prognostic features of epilepsy surgery was undertaken. The concept of a semiological connectome was devised and compared to structural connectivity to investigate probabilistic propagation and semiology generation. Results Although a (non-chronological) list of patients’ semiologies did not improve localisation beyond the initial semiology, the list of semiology added value when combined with an imaging feature. The absolute added value of semiology in a support vector classifier in diagnosing TLE, compared to HS, was 25%. Semiology was however unable to predict postsurgical outcomes. To help future prognostic models, a list of essential multimodal prognostic features for epilepsy surgery were extracted from meta-analyses and a structural causal model proposed. Semio2Brain consists of over 13000 semiological datapoints from 4643 patients across 309 studies and uniquely enabled a Bayesian approach to localisation to mitigate TLE publication bias. SVT performed well in a retrospective validation, matching the best expert clinician’s localisation scores and exceeding them for lateralisation, and showed modest value in localisation in individuals with frontal lobe epilepsy (FLE). There was a significant correlation between the number of connecting fibres between brain regions and the seizure semiologies that can arise from these regions. Conclusions Semiology is valuable in localisation, but multimodal concordance is more valuable and highly prognostic. SVT could be suitable for use in multimodal models to predict the seizure focus
    corecore