731 research outputs found
Practical database replication
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
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
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
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?
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
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
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
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
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
- …