12 research outputs found

    Efficient and robust adaptive consensus services based on oracles

    Get PDF

    Performance comparison between the Paxos and Chandra-Toueg consensus algorithms

    Get PDF
    Protocols which solve agreement problems are essential building blocks for fault tolerant distributed applications. While many protocols have been published, little has been done to analyze their performance. This paper represents a starting point for such studies, by focusing on the consensus problem, a problem related to most other agreement problems. The paper compares the latency of two consensus algorithms designed for the asynchronous model with failure detectors: the Paxos algorithm and the Chandra-Toueg algorithm. We varied the number of processes which take part in the execution. Moreover, we evaluated the latency in different classes of runs: (1) runs with no failures nor failure suspicions, (2) runs with failures but no wrong suspicions. We determined the latency by measurements on a cluster of PCs interconnected with a 100 Mbps Ethernet network. We found that the Paxos algorithm is more efficient than the Chandra-Toueg algorithm when the process that coordinates the first round of the protocol crashes. The two algorithms have almost the same performance in all other cases

    Chasing the FLP Impossibility Result in a LAN or How Robust Can a Fault Tolerant Server Be?

    Get PDF
    Fault tolerance can be achieved in distributed systems by replication. However, Fischer, Lynch and Paterson have proven an impossibility result about consensus in the asynchronous system model. Similar impossibility results have been established for atomic broadcast and group membership, and should be as such relevant for implementations of a replicated service. However, the practical impact of these impossibility results is unclear. For instance, do they set limits to the robustness of a replicated server exposed to extremely high loads? The paper tries to answer this question by describing an experiment conducted in a LAN. It consists of client processes that send requests to a replicated server (three replicas) using an atomic broadcast primitive. The experiment has parameters that allow us to control the load on the hosts and on the network and the timeout value used by our heartbeat failure detection mechanism. Our main observation is that the atomic broadcast algorithm never stops delivering messages, not even under arbitrarily high load and very small timeout values (1 ms). The result was surprising to us, as we expected that our atomic broadcast algorithm would stop delivering messages at such small timeout values. So, by trying to illustrate the practical impact of impossibility results, we discovered that we had implemented a very robust replicated service

    Solving Agreement Problems with Weak Ordering Oracles

    Get PDF
    Agreement problems, such as consensus, atomic broadcast, and group membership, are central to the implementation of fault-tolerant distributed systems. Despite the diversity of algorithms that have been proposed for solving agreement problems in the past years, almost all solutions are crash detection based (CDB). We say that an algorithm is CDB if it uses some information about the status crashed/not crashed of processes. Randomized consensus algorithms are rare exceptions non-CDB algorithms. In this paper, we revisit the issue of non-CDB algorithms. Instead of randomization, we consider ordering oracles. Ordering oracles have a theoretical interest (e.g., they extend the state of the art of non-CDB algorithms) as well as a practical interest (e.g., they remove altogether the burden involved in tuning timeout mechanisms). To illustrate their use, we present solutions to consensus and atomic broadcast, and evaluate the performance of the atomic broadcast algorithm in a cluster of workstations

    Performance Analysis of a Consensus Algorithm Combining Stochastic Activity Networks and Measurements

    Get PDF
    A. Coccoli, P. Urban, A. Bondavalli, and A. Schiper. Performance analysis of a consensus algorithm combining Stochastic Activity Networks and measurements. In Proc. Int'l Conf. on Dependable Systems and Networks (DSN), pages 551-560, Washington, DC, USA, June 2002. Protocols which solve agreement problems are essential building blocks for fault tolerant distributed applications. While many protocols have been published, little has been done to analyze their performance. This paper represents a starting point for such studies, by focusing on the consensus problem, a problem related to most other agreement problems. The paper analyzes the latency of a consensus algorithm designed for the asynchronous model with failure detectors, by combining experiments on a cluster of PCs and simulation using Stochastic Activity Networks. We evaluated the latency in runs (1) with no failures nor failure suspicions, (2) with failures but no wrong suspicions and (3) with no failures but with (wrong) failure suspicions. We validated the adequacy and the usability of the Stochastic Activity Network model by comparing experimental results with those obtained from the model. This has led us to identify limitations of the model and the measurements, and suggests new directions for evaluating the performance of agreement protocols. Keywords: quantitative analysis, distributed consensus, failure detectors, Stochastic Activity Networks, measurement

    Uso de la Semántica Diferencial para el Análisis Perceptivo: Estudio de su Fiabilidad como Herramienta de Ayuda para el Diseño Conceptual de Productos Industriales

    Full text link
    El trabajo que a continuación se presenta se acoge a la modalidad de tesis por compendio de publicaciones del Departamento de Proyectos de Ingeniería de Valencia. Consta de dos artículos de investigación publicados en el "Internacional Journal of Industrial Ergonomics" y de un tercero enviado, aceptado y pendiente de revisión en el "Internacional Journal of Human- Computer Studies". El nexo común que les une es el intento de tratar de forma objetiva y fiable la estética en el diseño de productos industriales. Su objetivo final es el de contribuir a facilitar que este factor, de indudable y creciente repercusión en el éxito de un producto, se pueda tratar como uno más dentro de la filosofía del diseño integrado. La posibilidad de poder profesionalizar la relación entre los diseñadores industriales y el resto de los componentes de un equipo de diseño hasta el punto de poder tratar cuantitativamente el factor estético, permitiría dejar atrás planteamientos difusos basados en la intuición que resultan ininteligibles para la mayoría de agentes involucrados. Convertir los planteamientos estéticos en algo contrastable y fácilmente asimilable por todo el personal implicado en el diseño, permitiría que este factor contribuyera a generar estrategias de producto coherentes con la imagen que la empresa pretende comunicar y, lo que es más importante, con la imagen que el consumidor es capaz de interpretar y desea transmitir a través de los productos que adquiere. Las investigaciones planteadas y detalladas en cada uno de los artículos pretenden aportar una contribución parcial a un objetivo tan ambicioso como el planteado. En el primer artículo se pretenden delimitar las principales dimensiones y factores involucrados en el análisis perceptivo derivado de la evaluación visual e introducir índices estadísticos que aporten fiabilidad estadística, robustez y rigor matemático a los resultados que se obtienen de la evaluación semántica de producto. Así, y en primera instancia, se identifican los factores de influencia en el análisis de la componente estética, semántica y simbólica que el producto comunica a través de su apariencia visual. Estas escalas o ejes semánticos configuran el Espacio Semántico del producto y son los factores que de forma latente el observador tiene en mente cuando realiza la evaluación formal del producto. De este modo, lo que en realidad se hace es evaluar la respuesta cognitiva del observador frente al producto y, aunque de forma parcial, obtener la respuesta emotiva del mismo. Para ello se hace uso de la Semántica Diferencial como técnica desarrollada por Osgood et al. (1957), por tratarse de un procedimiento estandarizado que permite obtener la respuesta cognitiva y afectiva asociada a un determinado producto. La aportación relevante que contiene el citado artículo en lo referente a dicha técnica consiste en proporcionar un modo de medir la fiabilidad de los resultados que ofrece, introduciendo el Espacio Semántico Consensuado (ESC) como nuevo concepto a considerar en los estudios de semántica de producto. Haciendo uso del cálculo del índice de correlación intraclase (ICC), se dispone de un modo de medir qué conceptos es capaz de transmitir de forma robusta un producto (ESC) y diferenciarlos de aquéllos en los que no existe consenso en los juicios emitidos por el consumidor. Este hecho aporta una información muy valiosa a la hora de tomar decisiones de diseño y marketing referentes a la propuesta en particular y a la tipología de producto en general. Al mismo tiempo, a través del cálculo del ICC, se dispone de un estadístico que permite introducir criterios a la hora de validar estructuras semánticas en función del número de propuestas de diseño que son capaces de transmitir de forma consensuada cada uno de los conceptos que componen el espacio semántico del producto. Esto es, si el número de propuestas evaluadas que contienen en su Espacio Semántico Consensuado un determinado concepto no llega al 10% del total de la muestra, ese concepto debería ser reconsiderado. Por último, el ICC junto con el diseño de un algoritmo permite además abordar el problema de conocer el número mínimo de sujetos necesarios para obtener resultados fiables y consistentes. Para finalizar con las aportaciones más relevantes de la primera publicación, se debe comentar la introducción en la representación de los perfiles semánticos del cálculo del análisis de varianza de un factor (one- way ANOVA) en cada uno de los conceptos del espacio semántico para poder determinar diferencias de percepción estadísticamente significativas entre las distintas propuestas de diseño. Asimismo, se calculan y representan los intervalos LSD (95%) de la media así como los percentiles 95, 75, 25 y 5 de las valoraciones obtenidas por los productos de la muestra en cada unos de los ejes semánticos. De este modo se mejora la información que contiene la representación de los perfiles semánticos realizada con anterioridad a este trabajo. En la segunda publicación se pone de manifiesto lo ventajoso del cálculo de los estadísticos descritos, la validez de la semántica diferencial como técnica de apoyo al diseño conceptual y como herramienta de control de las innovaciones propuestas por los equipos de diseño. A partir de los ejes semánticos determinados en la primera publicación, se midió la respuesta del consumidor frente a un modelo convencional de zueco hospitalario. Después de conocer la valoración en cada uno de los conceptos y el Espacio Semántico Consensuado de la propuesta, se propuso modificar la percepción obtenida en algunos de los conceptos en los que no se obtuvo la valoración esperada. Una vez que los diseñadores modificaran los atributos de diseño con la intención de conseguir mejorar la imagen del mismo, se evaluó la nueva propuesta de diseño. Los resultados mostraron que la percepción se modificó aunque no exactamente como se pretendía, lo que pone de manifiesto la necesidad de avanzar en el estudio de las relaciones entre los elementos de diseño y la percepción asociada. Otra de las múltiples dimensiones de posible influencia en los juicios estéticos es el tipo de representación gráfica que se emplea para mostrar el producto al consumidor. La posibilidad de que los mensajes estéticos, semánticos y simbólicos que es capaz de transmitir el producto real se vean interferidos o distorsionados por el modo de representación gráfica escogido, puede resultar relevante tanto en el proceso de diseño como en los procedimientos de venta basados en el comercio electrónico. En el tercer artículo se pretende evaluar la posible influencia que los diferentes tipos de representación gráfica empleados frecuentemente para el desarrollo de un producto y para el comercio a través de Internet puedan tener en la transmisión de la componente estética y afectiva del producto. Para ello se compara la respuesta obtenida frente al producto real con la que se obtiene frente a cuatro tipos distintos de representación gráfica del mismo: fotografía, imagen infográfica estática, modelo 3D navegable y modelo 3D navegable estereográfico. Los resultados obtenidos ponen de manifiesto una influencia significativa del modo de representación en la percepción asociada al producto estudiado. Todos los tipos de representación presentaron diferencias con respecto al producto real salvo el modelo 3D navegable. A pesar de esto, en el peor de los casos las diferencias sólo afectaban al 27% de los conceptos del espacio semántico, por lo que se podría concluir que para el caso de estudio, la influencia, pese a ser significativa, apenas alteraba el patrón de percepción del producto. Aún así, su influencia hace que se convierta en un factor más a tener en cuenta a la hora de realizar este tipo de evaluaciones. Con todo, se puede concluir que el uso de la semántica diferencial para realizar evaluaciones semánticas permite objetivar la percepción de forma fiable y comenzar a tratar aspectos subjetivos -de marcada relevancia en el proceso de toma de decisiones que inducen a la compra- de modo controlado. Si a esto se le añade la oportunidad que ofrece Internet para agilizar el proceso de diseño y el uso de herramientas infográficas para la evaluación de propuestas virtuales de diseño desde las primeras fases, se puede afirmar que se ha encontrado el hueco y las herramientas que posibilitan reducir el tiempo que requiere este tipo de análisis, acabando así con el principal inconveniente de su aplicación. Aún así, y para acabar de afianzar la evaluación de propuestas virtuales en las primeras fases de diseño, cuestiones como el tiempo que puede transcurrir desde que se evalúa una propuesta hasta que se lanza el producto, con la consiguiente posibilidad de que se produzcan cambios en las preferencias del usuario por cuestiones relacionadas con la evolución de la moda o las tendencias, junto con las posibles variaciones que la propuesta inicial puede sufrir a lo largo de todo el proceso de diseño debido a las múltiples contingencias a las que puede verse sometido, hacen que la robustez y fiabilidad de los resultados obtenidos precisen de un análisis de sensibilidad para controlar la posible repercusión de estos factores en el análisis perceptivo. Estos aspectos y otros relacionados con la trazabilidad del diseño deberían ser motivo de futuros estudios que sirvieran para establecer umbrales de fiabilidad en las dimensiones de contrastada repercusión en los análisis semánticos de producto.Por último, en lo que respecta a instituciones y empresas, quisiera agradecer al Ministerio de Ciencia y Tecnología y a la firma Pikolino’s S.L. su colaboración y financiación de la investigación que conduce a dos de los tres artículos de los que se compone la tesis.Artacho Ramírez, MÁ. (2006). Uso de la Semántica Diferencial para el Análisis Perceptivo: Estudio de su Fiabilidad como Herramienta de Ayuda para el Diseño Conceptual de Productos Industriales [Tesis doctoral no publicada]. Universitat Politècnica de València. https://doi.org/10.4995/Thesis/10251/13170

    Kontextadaptive Dienstnutzung in Ubiquitous Computing Umgebungen

    Get PDF
    Die vorliegende Arbeit präsentiert einen Ansatz zur Spezifikation und Implementierung von kontextadaptiven Anwendungen in einer Ubiquitous Computing Umgebung. Grundlegend ist dabei das Konzept der kontextadaptiven Dienstnutzung, die sowohl die kontextadaptive Selektion als auch Ausführung von Diensten umfasst. Die kontextadaptive Selektion erweitert grundlegende Techniken der Dienstvermittlung insofern, dass ein Matching nicht ausschließlich durch die Spezifikation von gewünschten Dienstattributen erfolgt, sondern auch Kontextinformationen Berücksichtigung finden. Die Ausführung eines Dienstes kann ebenfalls an kontextuelle Bedingungen geknüpft werden. Eine realisierte Kombination von kontextadaptiver Selektion und Ausführung ermöglicht eine sowohl personalisierte als auch situationsbezogene Bereitstellung von Diensten. Kern der kontextadaptiven Dienstnutzung ist dabei ein Datenzentrisches Protokoll, welches die Weiterleitung (Routing) von Anwendungsdaten anhand kontextueller Einschränkungen erlaubt. Dieser Ansatz gestattet neben der kontextadaptiven Nutzung individueller Dienste auch die spontane Komposition von Diensten in einer Ubiquitous Computing Umgebung. Ferner wird ein Konzept zur dynamischen Rollenverwaltung für Endgeräte in einer Ubiquitous Computing Umgebung entwickelt und ein Verfahren zur Konstruktion von Kontextinformationen innerhalb eines Ad-hoc-Sensornetzwerks vorgestellt

    Group communications and database replication:techniques, issues and performance

    Get PDF
    Databases are an important part of today's IT infrastructure: both companies and state institutions rely on database systems to store most of their important data. As we are more and more dependent on database systems, securing this key facility is now a priority. Because of this, research on fault-tolerant database systems is of increasing importance. One way to ensure the fault-tolerance of a system is by replicating it. Replication is a natural way to deal with failures: if one copy is not available, we use another one. However implementing consistent replication is not easy. Database replication is hardly a new area of research: the first papers on the subject are more than twenty years old. Yet how to build an efficient, consistent replicated database is still an open research question. Recently, a new approach to solve this problem has been proposed. The idea is to rely on some communication infrastructure called group communications. This infrastructure offers some high-level primitives that can help in the design and the implementation of a replicated database. While promising, this approach to database replication is still in its infancy. This thesis focuses on group communication-based database replication and strives to give an overall understanding of this topic. This thesis has three major contributions. In the structural domain, it introduces a classification of replication techniques. In the qualitative domain, an analysis of fault-tolerance semantics is proposed. Finally, in the quantitative domain, a performance evaluation of group communication-based database replication is presented. The classification gives an overview of the different means to implement database replication. Techniques described in the literature are sorted using this classification. The classification highlights structural similarities of techniques originating from different communities (database community and distributed system community). For each category of the classification, we also analyse the requirements imposed on the database component and group communication primitives that are needed to enforce consistency. Group communication-based database replication implies building a system from two different components: a database system and a group communication system. Fault-tolerance is an end-to-end property: a system built from two components tends to be as fault-tolerant as the weakest component. The analysis of fault-tolerance semantics show what fault-tolerance guarantee is ensured by group communication based replication techniques. Additionally a new faulttolerance guarantee, group-safety, is proposed. Group-safety is better suited to group communication-based database replication. We also show that group-safe replication techniques can offer improved performance. Finally, the performance evaluation offers a quantitative view of group communication based replication techniques. The performance of group communication techniques and classical database replication techniques is compared. The way those different techniques react to different loads is explored. Some optimisation of group communication techniques are also described and their performance benefits evaluated

    NAT Traversal und verlässliche Datenverteilung in geschichteten Peer-to-Peer Systemen

    Get PDF
    Peer-to-Peer basierte Systeme haben in den letzten Jahren insbesondere im Bereich des Dateiaustasuches zunehmend an Verbreitung gewonnen. Peer-to-Peer Systeme sind dezentrale Netzwerke, in denen jeder Teilnehmer bzw. jeder Peer gleichberechtigt ist. Jeder Peer kann Dienste in Anspruch nehmen und stellt gelichzeitig anderen Teilnehmern Dienste zur Verfügung. Im Rahmen des Peers@play Projektes wird untersucht, ob auch komplexere Anwendungen, wie beispielsweise virtuelle Welten, auf Basis von Peer-to-Peer Systemen entwickelt werden können. In dieser Arbeit werden verschiedene Ansätze vorgestellt, die für die Entwicklung einer Peer-to-Peer-basierten virtuellen Welt verwendet werden können. Die vorliegende Arbeit betrachtet hierbei drei Aspekte aus unterschiedlichen Forschungsgebieten. Der erste Aspekt, der im Rahmen dieser Arbeit betrachtet wird, betrifft die Kommunikation zwischen Peers. Diese Kommunikation wird durch die Verbreitung von Network Address Translation (NAT) Routern erschwert. NAT Router reduzieren die Konnektivität der Rechner, die sich hinter den NAT Routern befinden. Die Herausforderung besteht darin, den Nachrichtenaustausch zwischen Peers, die sich hinter NAT Routern befinden, zu gewährleisten. Verfahren, die dies ermöglichen, werden als NAT Traversal Verfahren bezeichnet. In dieser Arbeit wird ein neues NAT Traversal Verfahren für das Transportprotokoll TCP vorgestellt. Da die Erfolgswahrscheinlichkeit eines NAT Traversal Verfahrens stark von den verwendeten NAT Routern abhängig ist, wird in dieser Arbeit zusätzlich ein Protokoll vorgestellt, das es ermöglicht das NAT Traversal Verfahren auszuwählen, das in einer bestimmten Situation die höchste Erfolgswahrscheinlichkeit bietet. Eine weitere Herausforderung betrifft die Umsetzung und konkrete Entwicklung einer Peer-to-Peer-basierten Anwendung. Hier existiert oft eine Vielzahl unterschiedlicher Ansätze für unterschiedliche Problemstellungen. Dabei ist es nicht immer im Vorfeld ersichtlich, welche Kombination von diesen Ansätzen die Beste in Bezug auf Performanz oder Stabilität ist. Um dies zu evaluieren, werden häufig Ansätze zuerst für existierende Simulationsumgebungen implementiert und anschließend für die eigentliche Anwendung. Im zweiten Teil dieser Arbeit wird eine geschichtete Softwarearchitektur vorgestellt, die eine Peer-to-Peer-basierte Anwendung in Schichten und Komponenten unterteilt. Hierdurch können verschiedene Ansätze einfach ausgetauscht werden. Zusätzlich ermöglicht es die Architektur denselben Quelltext für die eigentliche Anwendung als auch für Simulationen zu verwenden. Der dritte Aspekt dieser Arbeit betrifft die Datenspeicherung. In einem Server-basierten System wird der Zustand einer virtuellen Welt auf einem zentralen Server gespeichert. In einem Peer-to-Peer System hingegen muss der Zustand der virtuellen Welt auf den Peers des Peer-to-Peer Netzwerks gespeichert werden. Hierbei müssen eine Reihe von Anforderungen bezüglich der Verlässlichkeit und Sicherheit der gespeicherten Daten erfüllt werden. Zusätzlich müssen Daten effizient abgefragt werden können. Daher werden im letzten Teil dieser Arbeit ein Peer-to-Peer Netzwerk sowie ein Replikationsverfahren vorgestellt, die die Grundlage für einen sicheren und verlässlichen Peer-to-Peer-basierten Datenspeicher bilden

    Evaluating the performance of distributed agreement algorithms:tools, methodology and case studies

    Get PDF
    Nowadays, networked computers are present in most aspects of everyday life. Moreover, essential parts of society come to depend on distributed systems formed of networked computers, thus making such systems secure and fault tolerant is a top priority. If the particular fault tolerance requirement is high availability, replication of components is a natural choice. Replication is a difficult problem as the state of the replicas must be kept consistent even if some replicas fail, and because in distributed systems, relying on centralized control or a certain timing behavior is often not feasible. Replication in distributed systems is often implemented using group communication. Group communication is concerned with providing high-level multipoint communication primitives and the associated tools. Most often, an emphasis is put on tolerating crash failures of processes. At the heart of most communication primitives lies an agreement problem: the members of a group must agree on things like the set of messages to be delivered to the application, the delivery order of messages, or the set of processes that crashed. A lot of algorithms to solve agreement problems have been proposed and their correctness proven. However, performance aspects of agreement algorithms have been somewhat neglected, for a variety of reasons: the lack of theoretical and practical tools to help performance evaluation, and the lack of well-defined benchmarks for agreement algorithms. Also, most performance studies focus on analyzing failure free runs only. In our view, the limited understanding of performance aspects, in both failure free scenarios and scenarios with failure handling, is an obstacle for adopting agreement protocols in practice, and is part of the explanation why such protocols are not in widespread use in the industry today. The main goal of this thesis is to advance the state of the art in this field. The thesis has major contributions in three domains: new tools, methodology and performance studies. As for new tools, a simulation and prototyping framework offers a practical tool, and some new complexity metrics a theoretical tool for the performance evaluation of agreement algorithms. As for methodology, the thesis proposes a set of well-defined benchmarks for atomic broadcast algorithms (such algorithms are important as they provide the basis for a number of replication techniques). Finally, three studies are presented that investigate important performance issues with agreement algorithms. The prototyping and simulation framework simplifies the tedious task of developing algorithms based on message passing, the communication model that most agreement algorithms are written for. In this framework, the same implementation can be reused for simulations and performance measurements on a real network. This characteristic greatly eases the task of validating simulation results with measurements (or vice versa). As for theoretical tools, we introduce two complexity metrics that predict performance with more accuracy than the traditional time and message complexity metrics. The key point is that our metrics take account for resource contention, both on the network and the hosts; resource contention is widely recognized as having a major impact on the performance of distributed algorithms. Extensive validation studies have been conducted. Currently, no widely accepted benchmarks exist for agreement algorithms or group communication toolkits, which makes comparing performance results from different sources difficult. In an attempt to consolidate the situation, we define a number of benchmarks for atomic broadcast. Our benchmarks include well-defined metrics, workloads and failure scenarios (faultloads). The use of the benchmarks is illustrated in two detailed case studies. Two widespread mechanisms for handling failures are unreliable failure detectors which provide inconsistent information about failures, and a group membership service which provides consistent information about failures, respectively. We analyze the performance tradeoffs of these two techniques, by comparing the performance of two atomic broadcast algorithms designed for an asynchronous system. Based on our results, we advocate a combined use of the two approaches to failure handling. In another case study, we compare two consensus algorithms designed for an asynchronous system. The two algorithms differ in how they coordinate the decision process: the one uses a centralized and the other a decentralized communication schema. Our results show that the performance tradeoffs are highly affected by a number of characteristics of the environment, like the availability of multicast and the amount of contention on the hosts versus the amount of contention on the network. Famous theoretical results state that a lot of important agreement problems are not solvable in the asynchronous system model. In our third case study, we investigate how these results are relevant for implementations of a replicated service, by conducting an experiment in a local area network. We exposed a replicated server to extremely high loads and required that the underlying failure detection service detects crashes very fast; the latter is important as the theoretical results are based on the impossibility of reliable failure detection. We found that our replicated server continued working even with the most extreme settings. We discuss the reasons for the robustness of our replicated server
    corecore