359 research outputs found

    An asynchronous message-passing distributed algorithm for the global critical section problem

    Full text link
    This paper considers the global (l,k)(l,k)-CS problem which is the problem of controlling the system in such a way that, at least ll and at most kk processes must be in the CS at a time in the network. In this paper, a distributed solution is proposed in the asynchronous message-passing model. Our solution is a versatile composition method of algorithms for ll-mutual inclusion and kk-mutual exclusion. Its message complexity is O(∣Q∣)O(|Q|), where ∣Q∣|Q| is the maximum size for the quorum of a coterie used by the algorithm, which is typically ∣Q∣=n|Q| = \sqrt{n}.Comment: This is a modified version of the conference paper in PDAA201

    Self-stabilizing K-out-of-L exclusion on tree network

    Get PDF
    In this paper, we address the problem of K-out-of-L exclusion, a generalization of the mutual exclusion problem, in which there are ℓ\ell units of a shared resource, and any process can request up to k\mathtt k units (1≤k≤ℓ1\leq\mathtt k\leq\ell). We propose the first deterministic self-stabilizing distributed K-out-of-L exclusion protocol in message-passing systems for asynchronous oriented tree networks which assumes bounded local memory for each process.Comment: 15 page

    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

    Asynchronous neighborhood task synchronization

    Full text link
    Faults are likely to occur in distributed systems. The motivation for designing self-stabilizing system is to be able to automatically recover from a faulty state. As per Dijkstra\u27s definition, a system is self-stabilizing if it converges to a desired state from an arbitrary state in a finite number of steps. The paradigm of self-stabilization is considered to be the most unified approach to designing fault-tolerant systems. Any type of faults, e.g., transient, process crashes and restart, link failures and recoveries, and byzantine faults, can be handled by a self-stabilizing system; Many applications in distributed systems involve multiple phases. Solving these applications require some degree of synchronization of phases. In this thesis research, we introduce a new problem, called asynchronous neighborhood task synchronization ( NTS ). In this problem, processes execute infinite instances of tasks, where a task consists of a set of steps. There are several requirements for this problem. Simultaneous execution of steps by the neighbors is allowed only if the steps are different. Every neighborhood is synchronized in the sense that all neighboring processes execute the same instance of a task. Although the NTS problem is applicable in nonfaulty environments, it is more challenging to solve this problem considering various types of faults. In this research, we will present a self-stabilizing solution to the NTS problem. The proposed solution is space optimal, fault containing, fully localized, and fully distributed. One of the most desirable properties of our algorithm is that it works under any (including unfair) daemon. We will discuss various applications of the NTS problem

    Quorum Based Conflict Resolution Algorithms In Distributed Systems

    Get PDF
    Mutual exclusion is one of the most fundamental issues in the study of distributed systems. The problem arises when two or more processes are competing to use a mutual exclusive resource concurrently, i.e., the resource can only be used by at most one process at a time. Synchronizations adopting quorum systems are an important class of distributed algorithms since they are gracefully and significantly tolerate process and communication failures that may lead to network partitioning. Coterie based algorithm is a typical quorum based algorithm for mutual exclusion: A process can use the resource  only if it obtains permissions from all processes in any quorum ofcoterie, and since each quorum intersects with each other and each process only issues one permission, the mutual exclusion can be guaranteed. Many quorum systems have been defined based on the relaxation of the properties of coterie system. Each of them is designed to resolve its corresponding problem, e.g., k-coterie based algorithm to resolve the k-mutual exclusion, local coterie for the generalized mutual exclusion, (h, k)-arbiter for h-out of-k resource allocation problem, etc. Therefore, design an algorithm for any distributed conflict resolution problem is only meant to define a new quorum system which can be implemented to the corresponding problem. Since most of distributed conflict resolution problems are designed based on the relaxation of the safety property of mutual exclusion, understanding the way to relaxing the safety property and its quorum system is important to study any kind of conflict resolution problem in distributed systems

    Utilización de recursos: cooperación y competición

    Get PDF
    Cuando más de una aplicación, tarea o trabajo, quiere utilizar el recurso en forma exclusiva surge el problema de la exclusión mutua. Con el avance tecnológico, el surgimiento de las redes de alta velocidad y la tendencia a trabajar con varias computadoras interconectadas, aparecen nuevas herramientas para resolver los problemas, como es el caso de aquellos inherentemente distribuidos que se debe analizar bajo una concepción distribuida. Dado que un recurso puede tener réplicas y varias tareas o trabajos pueden utilizarlo en el mismo instante, se pueden presentar los siguientes problemas: k-exclusión mutua, exclusión mutua de grupos de procesos, h-out of-k exclusión mutua. El proyecto se basa en el análisis, adaptación y búsqueda de alternativas de algoritmos distribuidos que soporten exclusión mutua o cooperación entre procesos: considerando los casos de restricciones en el tiempo, en tipos de redes como las cableadas e inalámbricas (ad hoc).Eje: Procesamiento Concurrente, Paralelo y DistribuidoRed de Universidades con Carreras en Informática (RedUNCI

    Utilización de recursos: cooperación y competición

    Get PDF
    Cuando más de una aplicación, tarea o trabajo, quiere utilizar el recurso en forma exclusiva surge el problema de la exclusión mutua. Con el avance tecnológico, el surgimiento de las redes de alta velocidad y la tendencia a trabajar con varias computadoras interconectadas, aparecen nuevas herramientas para resolver los problemas, como es el caso de aquellos inherentemente distribuidos que se debe analizar bajo una concepción distribuida. Dado que un recurso puede tener réplicas y varias tareas o trabajos pueden utilizarlo en el mismo instante, se pueden presentar los siguientes problemas: k-exclusión mutua, exclusión mutua de grupos de procesos, h-out of-k exclusión mutua. El proyecto se basa en el análisis, adaptación y búsqueda de alternativas de algoritmos distribuidos que soporten exclusión mutua o cooperación entre procesos: considerando los casos de restricciones en el tiempo, en tipos de redes como las cableadas e inalámbricas (ad hoc).Eje: Procesamiento Concurrente, Paralelo y DistribuidoRed de Universidades con Carreras en Informática (RedUNCI

    Coordinación y sincronización en redes inalámbricas

    Get PDF
    Las aplicaciones distribuidas están formadas por un conjunto de procesos, algunos de ellos pueden ser cooperativos. Un proceso cooperativo es aquel que puede afectar o ser afectado por otros procesos que se encuentran en ejecución en el sistema. Las aplicaciones distribuidas se utilizan para realizar trabajos en los cuales un grupo de procesos interactúan para resolver un problema, para acceder a recursos que se pueden utilizar en forma exclusiva o compartida. Para el desarrollo de aplicaciones es necesario contar con mecanismos que ordenen el acceso a los mismos. Los mecanismos para asegurar el ordenamiento en la ejecución de procesos son: sincronización, exclusión mutua en las secciones críticas, alocación de recursos. Estas aplicaciones se pueden encontrar en diferentes tipo de redes, esto es, redes que son fijas o redes móviles. El proyecto se basa en el análisis, adaptación y búsqueda de alternativas de algoritmos distribuidos que soporten exclusión mutua o cooperación entre procesos que se puedan utilizar en redes inalámbricas (ad hoc).Eje: OtrosRed de Universidades con Carreras en Informática (RedUNCI

    Coordinación y sincronización en redes inalámbricas

    Get PDF
    Las aplicaciones distribuidas están formadas por un conjunto de procesos, algunos de ellos pueden ser cooperativos. Un proceso cooperativo es aquel que puede afectar o ser afectado por otros procesos que se encuentran en ejecución en el sistema. Las aplicaciones distribuidas se utilizan para realizar trabajos en los cuales un grupo de procesos interactúan para resolver un problema, para acceder a recursos que se pueden utilizar en forma exclusiva o compartida. Para el desarrollo de aplicaciones es necesario contar con mecanismos que ordenen el acceso a los mismos. Los mecanismos para asegurar el ordenamiento en la ejecución de procesos son: sincronización, exclusión mutua en las secciones críticas, alocación de recursos. Estas aplicaciones se pueden encontrar en diferentes tipo de redes, esto es, redes que son fijas o redes móviles. El proyecto se basa en el análisis, adaptación y búsqueda de alternativas de algoritmos distribuidos que soporten exclusión mutua o cooperación entre procesos que se puedan utilizar en redes inalámbricas (ad hoc).Eje: OtrosRed de Universidades con Carreras en Informática (RedUNCI

    Coordinación y sincronización en redes inalámbricas

    Get PDF
    Las aplicaciones distribuidas están formadas por un conjunto de procesos, algunos de ellos pueden ser cooperativos. Un proceso cooperativo es aquel que puede afectar o ser afectado por otros procesos que se encuentran en ejecución en el sistema. Las aplicaciones distribuidas se utilizan para realizar trabajos en los cuales un grupo de procesos interactúan para resolver un problema, para acceder a recursos que se pueden utilizar en forma exclusiva o compartida. Para el desarrollo de aplicaciones es necesario contar con mecanismos que ordenen el acceso a los mismos. Los mecanismos para asegurar el ordenamiento en la ejecución de procesos son: sincronización, exclusión mutua en las secciones críticas, alocación de recursos. Estas aplicaciones se pueden encontrar en diferentes tipo de redes, esto es, redes que son fijas o redes móviles. El proyecto se basa en el análisis, adaptación y búsqueda de alternativas de algoritmos distribuidos que soporten exclusión mutua o cooperación entre procesos que se puedan utilizar en redes inalámbricas (ad hoc).Eje: OtrosRed de Universidades con Carreras en Informática (RedUNCI
    • …
    corecore