731 research outputs found

    Practical database replication

    Get PDF
    Tese de doutoramento em InformáticaSoftware-based replication is a cost-effective approach for fault-tolerance when combined with commodity hardware. In particular, shared-nothing database clusters built upon commodity machines and synchronized through eager software-based replication protocols have been driven by the distributed systems community in the last decade. The efforts on eager database replication, however, stem from the late 1970s with initial proposals designed by the database community. From that time, we have the distributed locking and atomic commitment protocols. Briefly speaking, before updating a data item, all copies are locked through a distributed lock, and upon commit, an atomic commitment protocol is responsible for guaranteeing that the transaction’s changes are written to a non-volatile storage at all replicas before committing it. Both these processes contributed to a poor performance. The distributed systems community improved these processes by reducing the number of interactions among replicas through the use of group communication and by relaxing the durability requirements imposed by the atomic commitment protocol. The approach requires at most two interactions among replicas and disseminates updates without necessarily applying them before committing a transaction. This relies on a high number of machines to reduce the likelihood of failures and ensure data resilience. Clearly, the availability of commodity machines and their increasing processing power makes this feasible. Proving the feasibility of this approach requires us to build several prototypes and evaluate them with different workloads and scenarios. Although simulation environments are a good starting point, mainly those that allow us to combine real (e.g., replication protocols, group communication) and simulated-code (e.g., database, network), full-fledged implementations should be developed and tested. Unfortunately, database vendors usually do not provide native support for the development of third-party replication protocols, thus forcing protocol developers to either change the database engines, when the source code is available, or construct in the middleware server wrappers that intercept client requests otherwise. The former solution is hard to maintain as new database releases are constantly being produced, whereas the latter represents a strenuous development effort as it requires us to rebuild several database features at the middleware. Unfortunately, the group-based replication protocols, optimistic or conservative, that had been proposed so far have drawbacks that present a major hurdle to their practicability. The optimistic protocols make it difficult to commit transactions in the presence of hot-spots, whereas the conservative protocols have a poor performance due to concurrency issues. In this thesis, we propose using a generic architecture and programming interface, titled GAPI, to facilitate the development of different replication strategies. The idea consists of providing key extensions to multiple DBMSs (Database Management Systems), thus enabling a replication strategy to be developed once and tested on several databases that have such extensions, i.e., those that are replication-friendly. To tackle the aforementioned problems in groupbased replication protocols, we propose using a novel protocol, titled AKARA. AKARA guarantees fairness, and thus all transactions have a chance to commit, and ensures great performance while exploiting parallelism as provided by local database engines. Finally, we outline a simple but comprehensive set of components to build group-based replication protocols and discuss key points in its design and implementation.A replicação baseada em software é uma abordagem que fornece um bom custo benefício para tolerância a falhas quando combinada com hardware commodity. Em particular, os clusters de base de dados “shared-nothing” construídos com hardware commodity e sincronizados através de protocolos “eager” têm sido impulsionados pela comunidade de sistemas distribuídos na última década. Os primeiros esforços na utilização dos protocolos “eager”, decorrem da década de 70 do século XX com as propostas da comunidade de base de dados. Dessa época, temos os protocolos de bloqueio distribuído e de terminação atómica (i.e. “two-phase commit”). De forma sucinta, antes de actualizar um item de dados, todas as cópias são bloqueadas através de um protocolo de bloqueio distribuído e, no momento de efetivar uma transacção, um protocolo de terminação atómica é responsável por garantir que as alterações da transacção são gravadas em todas as réplicas num sistema de armazenamento não-volátil. No entanto, ambos os processos contribuem para um mau desempenho do sistema. A comunidade de sistemas distribuídos melhorou esses processos, reduzindo o número de interacções entre réplicas, através do uso da comunicação em grupo e minimizando a rigidez os requisitos de durabilidade impostos pelo protocolo de terminação atómica. Essa abordagem requer no máximo duas interacções entre as réplicas e dissemina actualizações sem necessariamente aplicá-las antes de efectivar uma transacção. Para funcionar, a solução depende de um elevado número de máquinas para reduzirem a probabilidade de falhas e garantir a resiliência de dados. Claramente, a disponibilidade de hardware commodity e o seu poder de processamento crescente tornam essa abordagem possível. Comprovar a viabilidade desta abordagem obriga-nos a construir vários protótipos e a avaliálos com diferentes cargas de trabalho e cenários. Embora os ambientes de simulação sejam um bom ponto de partida, principalmente aqueles que nos permitem combinar o código real (por exemplo, protocolos de replicação, a comunicação em grupo) e o simulado (por exemplo, base de dados, rede), implementações reais devem ser desenvolvidas e testadas. Infelizmente, os fornecedores de base de dados, geralmente, não possuem suporte nativo para o desenvolvimento de protocolos de replicação de terceiros, forçando os desenvolvedores de protocolo a mudar o motor de base de dados, quando o código fonte está disponível, ou a construir no middleware abordagens que interceptam as solicitações do cliente. A primeira solução é difícil de manter já que novas “releases” das bases de dados estão constantemente a serem produzidas, enquanto a segunda representa um desenvolvimento árduo, pois obriga-nos a reconstruir vários recursos de uma base de dados no middleware. Infelizmente, os protocolos de replicação baseados em comunicação em grupo, optimistas ou conservadores, que foram propostos até agora apresentam inconvenientes que são um grande obstáculo à sua utilização. Com os protocolos optimistas é difícil efectivar transacções na presença de “hot-spots”, enquanto que os protocolos conservadores têm um fraco desempenho devido a problemas de concorrência. Nesta tese, propomos utilizar uma arquitetura genérica e uma interface de programação, intitulada GAPI, para facilitar o desenvolvimento de diferentes estratégias de replicação. A ideia consiste em fornecer extensões chaves para múltiplos SGBDs (Database Management Systems), permitindo assim que uma estratégia de replicação possa ser desenvolvida uma única vez e testada em várias bases de dados que possuam tais extensões, ou seja, aquelas que são “replicationfriendly”. Para resolver os problemas acima referidos nos protocolos de replicação baseados em comunicação em grupo, propomos utilizar um novo protocolo, intitulado AKARA. AKARA garante a equidade, portanto, todas as operações têm uma oportunidade de serem efectivadas, e garante um excelente desempenho ao tirar partido do paralelismo fornecido pelos motores de base de dados. Finalmente, propomos um conjunto simples, mas abrangente de componentes para construir protocolos de replicação baseados em comunicação em grupo e discutimos pontoschave na sua concepção e implementação

    Optimistic replication

    Get PDF
    Data replication is a key technology in distributed data sharing systems, enabling higher availability and performance. This paper surveys optimistic replication algorithms that allow replica contents to diverge in the short term, in order to support concurrent work practices and to tolerate failures in low-quality communication links. The importance of such techniques is increasing as collaboration through wide-area and mobile networks becomes popular. Optimistic replication techniques are different from traditional “pessimistic ” ones. Instead of synchronous replica coordination, an optimistic algorithm propagates changes in the background, discovers conflicts after they happen and reaches agreement on the final contents incrementally. We explore the solution space for optimistic replication algorithms. This paper identifies key challenges facing optimistic replication systems — ordering operations, detecting and resolving conflicts, propagating changes efficiently, and bounding replica divergence — and provides a comprehensive survey of techniques developed for addressing these challenges

    Planetary Scale Data Storage

    Get PDF
    The success of virtualization and container-based application deployment has fundamentally changed computing infrastructure from dedicated hardware provisioning to on-demand, shared clouds of computational resources. One of the most interesting effects of this shift is the opportunity to localize applications in multiple geographies and support mobile users around the globe. With relatively few steps, an application and its data systems can be deployed and scaled across continents and oceans, leveraging the existing data centers of much larger cloud providers. The novelty and ease of a global computing context means that we are closer to the advent of an Oceanstore, an Internet-like revolution in personalized, persistent data that securely travels with its users. At a global scale, however, data systems suffer from physical limitations that significantly impact its consistency and performance. Even with modern telecommunications technology, the latency in communication from Brazil to Japan results in noticeable synchronization delays that violate user expectations. Moreover, the required scale of such systems means that failure is routine. To address these issues, we explore consistency in the implementation of distributed logs, key/value databases and file systems that are replicated across wide areas. At the core of our system is hierarchical consensus, a geographically-distributed consensus algorithm that provides strong consistency, fault tolerance, durability, and adaptability to varying user access patterns. Using hierarchical consensus as a backbone, we further extend our system from data centers to edge regions using federated consistency, an adaptive consistency model that gives satellite replicas high availability at a stronger global consistency than existing weak consistency models. In a deployment of 105 replicas in 15 geographic regions across 5 continents, we show that our implementation provides high throughput, strong consistency, and resiliency in the face of failure. From our experimental validation, we conclude that planetary-scale data storage systems can be implemented algorithmically without sacrificing consistency or performance

    A serverless, wide-area version control system

    Get PDF
    Thesis (Ph. D.)--Massachusetts Institute of Technology, Dept. of Electrical Engineering and Computer Science, 2004.Includes bibliographical references (leaves 99-102).This thesis describes Pastwatch, a distributed version control system. Pastwatch maintains versions of users' shared files. Each version is immutable: to make changes, a user checks out a version onto the user's computer, edits the files locally, then commits the changes to create a new version. The motivation behind Pastwatch is to support wide-area read/write file sharing. An example of this type of sharing is when loosely affiliated programmers from different parts of the world collaborate to work on open-source software projects. To support such users, Pastwatch offers three properties. First, it allows users who travel frequently or whose network connections fail from time to time to access historical versions of the shared files or make new versions while disconnected. Second, Pastwatch makes the current and historical versions of the shared files highly available. For example, even when their office building experiences a power failure, users can still create new versions and retrieve other users' changes from other locations. Supporting disconnected operation is not adequate by itself in these cases; users also want to see others' changes. Third, Pastwatch avoids using dedicated servers. Running a dedicated server requires high administrative costs, expertise, and expensive equipment. Pastwatch achieves its goals using two interacting approaches. First, it maintains a local branch tree of versions on each user's computer. A user can check out versions from the local tree and commit changes into the local tree. Second, Pastwatch uses a shared branch tree in a DHT to publish users' new versions. It contacts the tree to keep a user's local branch tree up-to-date.by Benjie Chen.Ph.D

    Temperament and Personality in Preschoolers: Are the Concepts the Same or Different?

    Get PDF
    Individual differences among adults have generally been conceptualized in terms of personality theory and traits and attributed more to life experiences and conditioning than innate dispositions. In contrast, to the more limited extent that individual differences among young children (birth to kindergarten) have been recognized and studied, they have generally been conceptualized in terms of temperament theory and traits, attributed to innate biological programming than to experience. Recent developments in the field of personality theory begin to blur this distinction, suggesting that individual differences even in young children can be productively studied from the standpoint of personality traits. Specifically, the Five Factor Model of personality has exhibited applicability across a wide range of age groups, cultures, and even species. The purpose of the present study was to compare and contrast measure of temperament and personality a sample of preschool children. Temperament traits were assessed with a traditional measure, and a new preschool rating instrument was used to assess personality traits from the Five Factor framework. Data were gathered from 103 preschool children. Preschool teachers answered questions about individual children’s characteristics. Strong significant correlations were found between the temperament trait Emotionality and the personality trait Neuroticism and between the temperament trait Sociability and the personality trait Extraversion. The temperament trait of Activity was also correlated with the personality trait of Extraversion. The overall pattern of correlation data suggest that individual differences in preschool children can be adequately described using the Five Factor Model, and that this framework may effectively subsume traditional theories of temperament

    Understanding the Future of Native Values at an Alaska Native Corporation

    Get PDF
    This dissertation frames the first step on a journey toward understanding the current and future place that Native values have in an Alaska Native Corporation, a context of value conflict, resolution, adaptation, and change.My dissertation strives to answer the question, What is the future of Native Values at Sealaska? To carry out this study, I utilized the Ethnographic Futures Research Method (EFR) developed by Dr. Robert Textor.EFR, as a method, asks individuals to envision a pessimistic, optimistic, and probable future along with strategies to move the probable future more toward the optimistic vision.EFR is an innovative and unique way to study Native values at a corporate organizational level.I expected the process to result in a collective vision of what Sealaska could be like in 15 years if Native values are integrated as envisioned based on individual interviews and collective discussion of aggregated interview scenario compilation.However, instead it provides the foundation of that strategic foundation for the future of Sealaska.This research revealed a set of tangible, culturally relevant options that can now be discussed and developed into a focus for the future of Sealaska as well as a proposed process to reach that agreement.The dissertation strives to provide meaningful long-range strategic objectives to weave into the evolutionary strategic plan.This dissertation is accompanied by a MP4 video file that is referred to within the text.The video outlines motivation for author’s selection of the topic.The electronic version of this dissertation is at Ohiolink ETD Center, http://www.ohiolink.edu/et

    Understanding the Future of Native Values at an Alaska Native Corporation

    Get PDF
    This dissertation frames the first step on a journey toward understanding the current and future place that Native values have in an Alaska Native Corporation, a context of value conflict, resolution, adaptation, and change.My dissertation strives to answer the question, What is the future of Native Values at Sealaska? To carry out this study, I utilized the Ethnographic Futures Research Method (EFR) developed by Dr. Robert Textor.EFR, as a method, asks individuals to envision a pessimistic, optimistic, and probable future along with strategies to move the probable future more toward the optimistic vision.EFR is an innovative and unique way to study Native values at a corporate organizational level.I expected the process to result in a collective vision of what Sealaska could be like in 15 years if Native values are integrated as envisioned based on individual interviews and collective discussion of aggregated interview scenario compilation.However, instead it provides the foundation of that strategic foundation for the future of Sealaska.This research revealed a set of tangible, culturally relevant options that can now be discussed and developed into a focus for the future of Sealaska as well as a proposed process to reach that agreement.The dissertation strives to provide meaningful long-range strategic objectives to weave into the evolutionary strategic plan.This dissertation is accompanied by a MP4 video file that is referred to within the text.The video outlines motivation for author’s selection of the topic.The electronic version of this dissertation is at Ohiolink ETD Center, http://www.ohiolink.edu/et

    Management of concurrency in a reliable object-oriented computing system

    Get PDF
    PhD ThesisModern computing systems support concurrency as a means of increasing the performance of the system. However, the potential for increased performance is not without its problems. For example, lost updates and inconsistent retrieval are but two of the possible consequences of unconstrained concurrency. Many concurrency control techniques have been designed to combat these problems; this thesis considers the applicability of some of these techniques in the context of a reliable object-oriented system supporting atomic actions. The object-oriented programming paradigm is one approach to handling the inherent complexity of modern computer programs. By modeling entities from the real world as objects which have well-defined interfaces, the interactions in the system can be carefully controlled. By structuring sequences of such interactions as atomic actions, then the consistency of the system is assured. Objects are encapsulated entities such that their internal representation is not externally visible. This thesis postulates that this encapsulation should also include the capability for an object to be responsible for its own concurrency control. Given this latter assumption, this thesis explores the means by which the property of type-inheritance possessed by object-oriented languages can be exploited to allow programmers to explicitly control the level of concurrency an object supports. In particular, a object-oriented concurrency controller based upon the technique of two-phase locking is described and implemented using type-inheritance. The thesis also shows how this inheritance-based approach is highly flexible such that the basic concurrency control capabilities can be adopted unchanged or overridden with more type-specific concurrency control if requiredUK Science and Engineering Research Council, Serc/Alve

    Resiliency among secondary teachers serving at-risk populations: a phenomenological study

    Get PDF
    This phenomenological study sought to understand the experiences, perceptions, and behaviors of resilient secondary educators working with at-risk populations and contrast the lived experiences of resilient teachers with those of burned out teachers. The purpose of this study is to glean common themes and attributes of resilient teachers working in high-stress environments which will help current and future teachers and administrators combat workplace stressors and teacher burnout by understanding coping skills and/or modifying behaviors and mindsets. Secondary educators of at-risk populations have an almost impossible job educating adolescents. The vocation is filled with stressors: increased amounts of paper-work, lack of administrative support, high-stakes testing, un-manageable students. These stressors cause many teachers to experience burnout and/or leave the profession (Brackett, Palomera, Mojsa-Kaja, Reyes, & Salovey, 2010). However, within schools, there are those resilient teachers who continue to remain positive elements of the school culture and education students (Albrecht, Johns, Mounsteven, & Olorunda, 2009). This investigation strove to understand the commonalities of these teachers and the potential to bring that knowledge to the professional lives of their peers
    corecore