Fine-Grained Replication and Scheduling with Freshness and Correctness Guarantees F.Akal 1 , C.Türker 1 , H.-J.Schek 1 , Y.Breitbart 2 , T.Grabs 3 , L.Veen 4 1 ETH Zurich, Institute of Information Systems, 8092 Zurich, Switzerland, {akal,tuerker,schek}@inf.ethz.ch 2 Kent State University, Department of Computer Science, Kent OH 44240, USA, [email protected]3 One Microsoft Way, Redmond, WA 98052, USA, [email protected]4 University of Twente, 7500 AE Enschede, The Netherlands, [email protected]This work was supported partially by Microsoft 31 st International Conference on Very Large Data Bases, Trondheim, Norway, 30 August – 2 September, 2005.
18
Embed
Fine-Grained Replication and Scheduling with Freshness and Correctness Guarantees
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Fine-Grained Replication and Scheduling with Freshness and
1ETH Zurich, Institute of Information Systems, 8092 Zurich, Switzerland, {akal,tuerker,schek}@inf.ethz.ch2Kent State University, Department of Computer Science, Kent OH 44240, USA, [email protected] Microsoft Way, Redmond, WA 98052, USA, [email protected] of Twente, 7500 AE Enschede, The Netherlands, [email protected]
This work was supported partially by Microsoft
31st International Conference on Very Large Data Bases, Trondheim, Norway, 30 August – 2 September, 2005.
Distributed executions of read-only transactions might cause non-serializable global schedules
Continuous update propagation must be coordinated with read-only transaction execution
Having arbitrary physical layouts and extending locking to finer granules require more effort to maintain replicas and to execute read-only transactions
Sophisticated replication mechanism is required...
While propagation transactions continue, read-only transaction T1 arrives. Then, propagation transactions stop. A refresh transaction is invoked.
Propagation stops T1 may continue
When T1 commits, it releases its freshness locks. T2 causes another refresh to be invoked.
T1 commits
Propagation stops T2 may continueT2 commits
Propagation stops T3 may continue
Data
Required Timestamp
T1
T2
T3
Propagation Tx
Refresh Tx
Freshness locks are placed on the objects to ensure that ongoing replica maintenance transactions do not overwrite versions needed by ongoing read-only transactions
Freshness locks keep the objects accessed by read-only transaction at a certain freshness level during the execution of that transaction
Investigating the influence of continuous update broadcasting and propagations on cluster performance. We considered… three different …
- settings : There are two basic options that we can switch on or off1. No-Broadcasting and No-Propagation
2. Broadcasting and No-Propagation
3. Broadcasting and Propagation
- workloads : 50%, 75% and 100% loaded clusters• 50% loaded cluster means that the cluster is busy with evaluating queries for the
half of the experiment duration
freshness- Five freshness levels: 0.6, 0.7, 0,8, 0.9, 1.0, e.g., 1.0 means the freshest- Freshness window of 30 seconds, e.g., 0.0 means 30 second old data
• Turning on propagation and/or broadcasting always improves the performance.• The lower the workload is, the higher the gain in perfomance becomes, e.g., improvement is
• Propagation eliminates the need for refresh transactions except for the maximum freshness requirements and workloads.
• This results in query execution times practically independent of the overall workload for the given update rate.
• For fully loaded cluster, there is simply no time for propagations except at the beginning and end of transactions, which results in small performance improvement.
PDBREP vs. FAS (freshness aware scheduling) : Relative
Query Throughput
• For all three workloads, PDBREP performs significantly better than FAS (30%, 72% and 125%)• PDBREP uses partitioning of data while FAS relies on full replication, which results in small
refresh transactions• PDBREP allows distributed executions and gains from parallelization