10 research outputs found
Building replicated database systems using distributed shared memory
Current trends in main memory capacity and cost indicate that in a few years most performance-critical applications will have all (or most of) their data stored in the main mem- ory of the nodes of a small-size cluster. A few recent research papers have pointed this out and proposed architectures tak- ing advantage of clustered nvironments aggregating power- ful processors equipped with large main memories. This position paper proposes yet another approach, which builds on Distributed Shared Memory systems (DSMs) introduced in the early 80’s. We introduce the idea of the dsmDB, dis- cuss how its architecture could be organized, and elaborate on some of its algorithms. We conclude the paper with a discussion of some of its advantages and drawbacks.Este artigo apresenta uma abordagem para a construção de sistemas de base de dados replicados utilizando memória compartilhada distribuída. A arquitetura dsmDB, a qual implementa tal proposta, é apresentada. Vantagens e desvantagens da abordagem são elencadas e discutidas
Performance evaluation of a mobile road traffic infraction registration system through benchmark
The rapid development of roads and the increasing number of vehicles have complicated road traffic enforcement in many countries due to limited resources of the traffic police, specifically when traffic infraction registration is done manually. The efficiency of the traffic police can be improved by a computer-based method. This study focused on mobile traffic infraction registration system benchmarking which is used to evaluate the server performance under load. The study attempts to provide a clear guideline for the performance evaluation of mobile road traffic infraction registration system, whereby the traffic police can make decision based on them to migrate from the manual-method toward computer-based method. A closed form of benchmark tool was used for the evaluation of the system performance. The tool was configured to imitate ramp scenarios, and statistics were gathered. The server was monitored at different times and works. Contributing factors include bottleneck, traffic, and response time, which are related with criteria and measurements. The system resource was also monitored for the tests
Middleware-based Database Replication: The Gaps between Theory and Practice
The need for high availability and performance in data management systems has
been fueling a long running interest in database replication from both academia
and industry. However, academic groups often attack replication problems in
isolation, overlooking the need for completeness in their solutions, while
commercial teams take a holistic approach that often misses opportunities for
fundamental innovation. This has created over time a gap between academic
research and industrial practice.
This paper aims to characterize the gap along three axes: performance,
availability, and administration. We build on our own experience developing and
deploying replication systems in commercial and academic settings, as well as
on a large body of prior related work. We sift through representative examples
from the last decade of open-source, academic, and commercial database
replication systems and combine this material with case studies from real
systems deployed at Fortune 500 customers. We propose two agendas, one for
academic research and one for industrial R&D, which we believe can bridge the
gap within 5-10 years. This way, we hope to both motivate and help researchers
in making the theory and practice of middleware-based database replication more
relevant to each other.Comment: 14 pages. Appears in Proc. ACM SIGMOD International Conference on
Management of Data, Vancouver, Canada, June 200
Efficient middleware for database replication
Dissertação de Mestrado em Engenharia InformáticaDatabase systems are used to store data on the most varied applications, like Web
applications, enterprise applications, scientific research, or even personal applications.
Given the large use of database in fundamental systems for the users, it is necessary that database systems are efficient e reliable. Additionally, in order for these systems to serve a large number of users, databases must be scalable, to be able to process large numbers of transactions. To achieve this, it is necessary to resort to data replication. In a
replicated system, all nodes contain a copy of the database. Then, to guarantee that
replicas converge, write operations must be executed on all replicas. The way updates
are propagated leads to two different replication strategies. The first is known as
asynchronous or optimistic replication, and the updates are propagated asynchronously
after the conclusion of an update transaction. The second is known as synchronous or pessimistic replication, where the updates are broadcasted synchronously during the transaction.
In pessimistic replication, contrary to the optimistic replication, the replicas remain
consistent. This approach simplifies the programming of the applications, since the
replication of the data is transparent to the applications. However, this approach
presents scalability issues, caused by the number of exchanged messages during
synchronization, which forces a delay to the termination of the transaction. This leads
the user to experience a much higher latency in the pessimistic approach.
On this work is presented the design and implementation of a database replication
system, with snapshot isolation semantics, using a synchronous replication approach.
The system is composed by a primary replica and a set of secondary replicas that fully
replicate the database- The primary replica executes the read-write transactions, while
the remaining replicas execute the read-only transactions. After the conclusion of a read-write transaction on the primary replica the updates are propagated to the
remaining replicas. This approach is proper to a model where the fraction of read
operations is considerably higher than the write operations, allowing the reads load to be
distributed over the multiple replicas.
To improve the performance of the system, the clients execute some operations
speculatively, in order to avoid waiting during the execution of a database operation.
Thus, the client may continue its execution while the operation is executed on the
database. If the result replied to the client if found to be incorrect, the transaction will be aborted, ensuring the correctness of the execution of the transactions
Tashkent+: Memory-aware load balancing and update filtering in replicated databases
We present a memory-aware load balancing (MALB) technique to dispatch transactions to replicas in a replicated database. Our MALB algorithm exploits knowledge of the working sets of transactions to assign them to replicas in such a way that they execute in main memory, thereby reducing disk I/O. In support of MALB, we introduce a method to estimate the size and the contents of transaction working sets. We also present an optimization called update filtering that reduces the overhead of update propagation between replicas. We show that MALB greatly improves performance over other load balancing techniques – such as round robin, least connections, and locality-aware request distribution (LARD) – that do not use explicit information on how transactions use memory. In particular, LARD demonstrates good performance for read-only static content Web workloads, but it gives performance inferior to MALB for database workloads as it does not efficiently handle large requests. MALB combined with update filtering further boosts performance over LARD. We build a prototype replicated system, called Tashkent+, with which we demonstrate that MALB and update filtering techniques improve performance of the TPC-W and RUBiS benchmarks. In particular, in a 16-replica cluster and using the ordering mix of TPC-W, MALB doubles the throughput over least connections and improves throughput 52 % over LARD. MALB with update filtering further improves throughput to triple that of least connections and more than double that of LARD. Our techniques exhibit super-linear speedup; the throughput of the 16-replica cluster is 37 times the peak throughput of a standalone database due to better use of the cluster’s memory
Recommended from our members
Performance Implications of Using Diverse Redundancy for Database Replication
Using diverse redundancy for database replication is the focus of this thesis. Traditionally, database replication solutions have been built on the fail-stop failure assumption, i.e. that crashes are believed to cause a majority of failures. However, recent findings refuted this common assumption, showing that many of the faults cause systematic non-crash failures. These findings demonstrate that the existing, non-diverse database replication solutions, which use the same database server products, are ineffective fault-tolerant mechanisms. At the same time, the findings motivated the use of diverse redundancy (when different database server products are used) as a promising way of improving dependability. It seems that using a fault-tolerant server, built with diverse database servers, would deliver improvements in availability and failure rates compared with the individual database servers or their replicated, non-diverse configurations.
Besides the potential for improving dependability, one would like to evaluate the performance implications of using diverse redundancy in the context of database replication. This is the focal point of the research. The work performed to that end can be summarised as follows:
- We conducted a substantial performance evaluation of database replication using diverse redundancy. We compared its performance to the ones of various non-diverse configurations as well as non-replicated databases. The experiments revealed systematic differences in behaviour of diverse servers. They point to the potential for performance improvement when diverse servers are used. Under particular workloads diverse servers performed better than both non-diverse and non-replicated configurations.
- We devised a middleware-based database replication protocol, which provides dependability assurance and guarantees database consistency. It uses an eager update everywhere approach for replica control. Although we focus on the use of diverse database servers, the protocol can be used with the database servers from the same vendor too. We provide the correctness criteria of the protocol. Different regimes of operation of the protocol are defined, which would allow it to be dynamically optimised for either dependability or performance improvements. Additionally, it can be used in conjunction with high-performance replication solutions.
- We developed an experimental test harness for performance evaluation of different database replication solutions. It enabled us to evaluate the performance of the diverse database replication protocol, e.g. by comparing it against known replication solutions. We show that, as expected, the improved dependability exhibited by our replication protocol carries a performance overhead. Nevertheless, when optimised for performance improvement our protocol shows good performance.
- In order to minimise the performance penalty introduced by the replication we propose a scheme whereby the database server processes are prioritised to deliver performance improvements in cases of low to modest resource utilisation by the database servers.
- We performed an uncertainty-explicit assessment of database server products. Using an integrated approach, where both performance and reliability are considered, we rank different database server products to aid selection of the components for the fault-tolerant server built out of diverse databases
Dynamic Content Web Applications: Crash, Failover, And Recovery Analysis
This work assesses how crashes and recoveries affect the performance of a replicated dynamic content web application. RobustStore is the result of retrofitting TPC-W's on-line bookstore with Treplica, a middleware for building dependable applications. Implementations of Paxos and Fast Paxos are at the core of Treplica's efficient and programmer-friendly support for replication and recovery. The TPC-W benchmark, augmented with faultloads and dependability measures, is used to evaluate the behaviour of RobustStore. Experiments apply faultloads that cause sequential and concurrent replica crashes. RobustStore's performance drops by less than 13% during the recovery from two simultaneous replica crashes. When subject to an identical faultload and a shopping workload, a five-replicas RobustStore maintains an accuracy of 99.999%. Our results display not only good performance, total autonomy and uninterrupted availability, they also show that it is simple to develop efficient recovery-oriented applications using Treplica. ©2009 IEEE.229238Amza, C., Cox, A.L., Zwaenepoel, W., Distributed versioning: Consistent replication for scaling back-end databases of dynamic content web sites (2003) MiddlewareBurrows, M., The Chubby lock service for loosely-coupled distributed systems (2006) 7th USENIX Symp. on Operating Systems Design and ImplementationCain, H.W., Rajwar, R., Marden, M., Lipasti, M.H., An architectural evaluation of Java TPC-W (2001) Proc. of 7th Int. Symp. on High-Performance Computer ArchitectureCamargos, L., Pedone, F., Weiloch, M., Sprint: A middleware for high-performance transaction processing (2007) Proc. of 2nd European Conf. on Computer SystemsChang, F., Dean, J., Ghemawat, S., Hsieh, W.C., Wallach, D.A., Burrows, M., Chandra, T., Gruber, R.E., Bigtable: A distributed storage system for structured data (2008) ACM Trans. Comput. Syst, 26 (2), pp. 1-26T. P. Council. TPC-W Specification, Feb. 2002DeCandia, G., Hastorun, D., Jampani, M., Kakulapati, G., Lakshman, A., Pilchin, A., Sivasubramanian, S., Vogels, W., Dynamo: Amazon's highly available key-value store (2007) Proc. of 21st ACM SIGOPS Symp. on Operating Systems Principles, pp. 205-220X. De7acute;fago, A. Schiper, and P. Urbán. Total order broadcast and multicast algorithms: Taxonomy and survey. ACM Comput. Surv., 36(4):372-421, 2004Durães, J., Vieira, M., Madeira, H., Dependability bench-marking of web-servers (2004) Proc. of 23rd Computer Safety, Reliability, and Security Int. Conf, pp. 297-310Elnikety, S., Dropsho, S., Pedone, F., Tashkent: Uniting durability with transaction ordering for high-performance scalable database replication (2006) Proc. of 1st European Conference on Computer Systems (EuroSys)Elnikety, S., Dropsho, S., Zwaenepoel, W., Tashkent+: Memory-aware load balancing and update filtering in replicated databases (2007) Proc. of the 2nd European Conference on Computer Systems (EuroSys)Isard, M., Autopilot: Automatic data center management (2007) Oper. Syst. Rev, 41, pp. 60-67Jiang, Y., Xue, G., You, J., Toward fault-tolerant atomic data access in mutable distributed hash tables (2006) Proc. of First Int. Multi-Symp. on Computer and Computational SciencesLamport, L., Time, Clocks, and the Ordering of Events in a Distributed System (1978) CACM, 21 (7), pp. 558-565Lamport, L., The part-time parliament (1998) ACM Trans. Comput. Syst, 16 (2), pp. 133-169Lamport, L., Paxos, F., (2006) Distrib. Comput, 19 (2), pp. 79-103. , OctLiang, W., Kemme, B., Online recovery in cluster databases (2008) EDBT '08: Proceedings of the 11th international conference on Extending database technology, pp. 121-132. , New York, NY, USA, ACMMacCormick, J., Murphy, N., Najork, M., Thekkath, C.A., Zhou, L., Boxwood: Abstractions as the foundation for storage infrastructure (2004) Proc. of 6th USENIX Symp. on Operating Systems Design and ImplementationManassiev, K., Amza, C., Scaling and continuous availability in database server clusters through multiversion replication (2007) Int. Conf. on Dependable Systems and NetworksOstell, J., Databases of discovery (2005) Queue, 3 (3), pp. 40-48Saito, Y., Frolund, S., Veitch, A., Merchant, A., Spence, S., Fab: Building distributed enterprise disk arrays from commodity components (2004) SIGPLAN Not, 39 (11). , 48-58Vieira, G.M.D., Buzato, L.E., Treplica: Ubiquitous replication (2008) Proc. of 26th Brazilian Symp. on Computer Networks and Distributed SystemsWu, S., Kemme, B., Postgres-R (SI): Combining Replica Control with Concurrency Control Based on Snapshot Isolation (2005) Data Engineering, 2005. ICDE 2005. Proceedings. 21st International Conference on, pp. 422-43