下載/瀏覽

Download Report

Transcript 下載/瀏覽

Transaction reordering
Speaker :Po-Hung Lai
Adviser : Chih-Hung Lin
Date :2011.1.4
1
Outline





Introduction
Transaction reordering framework
Method
Experiment
conclusion
2
Introduction
 Traditional :allows a certain number of complex queries
a crash
focus on the current system status
 Our :information about the interaction
wait run
current system status
3
Introduction
 Why transaction reordering be effective
– system independent
eliminates some intrinsic lock conflicts
– system dependent
4
Introduction
 Advantage/ flaw
inside
outside
Advantage :
current state of the system
Don’t change database engine
synchronized scans
more opportunities for
reordering
Flaw :
Need set system and reorder
model
System will be miss transaction
an additional parsing of each
transaction
5
Introduction
 general transaction reordering framework
– current system status
– queued and running transactions
6
Introduction
 reordering algorithms
– Run all the transactions
– Analyze and record transactions
7
Introduction
 Our reordering algorithms
– Luck conflicts
– buffer pool
8
Transaction reordering framework
 Two method to increase the transaction throughput:
– increasing concurrency
 preventing conflicting transactions
– sharing resources
 No deadlock
 Purpose
– improve RDBMS performance
9
Our method
 typical operational data warehouse [16]
– OLTP data warehouse
(Operational Load Transaction Process)
– Acknowledge client input something
– Ensuring data’s durability
Fig :operational data warehouse
10
Our method
 loading data continuously into an RDBMS
Files 、 message 、 queues …
11
Our method
 Continuous load utilities definition
– ([20]Oracle,[6]Teradata)
– like RDBMS series of transactions
– free to arbitrarily group
 free to arbitrarily group Characteristic
– It’s not anomalies
12
Our method
 applications tolerate such anomalies
Ex 刪除記錄後 紀錄表
尚未更新記錄前
交易隨即移動走
使其發生之異常
13
Our method
 application ensures not allow such
anomalies
ex 在新增交易
資料完成之前
不允許做任何
動作
14
Our method
 Increase concurrency
Files 、 message 、 queues …
15
Our method
 Materialized view maintenance
– Important class of Materialized view call join
view
 Deadluck occur
– because
 allow data load into multiple relations
 RDBMS’s data as up-tpdate
 JV is defined on multiple base relations
16
Our method
 Deadluck probability
– k > 1 concurrent
p(1 
transactions
– n modification operations
– p = A’s probability
– P-1 = B’s probability
– S = totally
S >> kn
p)( k  1)n /( 2s)
2
17
Our method
 Example
– p = 50%,k = 8,n = 32 and s = 10000
– Deadluck probability = 9%
– n = 64 , Deadluck probability = 36%
18
Our method
 Solution follow as rule
– data can only be loaded into one base relation
of JV
– Modification operations
– uses a high concurrency locking protocol
19
Our method
 we schedule transactions as follows
– Action 1
20
Our method
– Action 2
21
Our method
– Action 3
– schedule a transaction to the RDBMS
 desirable transaction T or first transactions
 starvation problem
– Use timestamp(TS) to solution
– give pointer r ; r = 0 ; (0<=r<=k)
22
Our method
 Situation
– Qm (1<=m<=k) is empty ,r = 0
– Anytime r =0; transaction coming Qm  r = m
– r = m ; first transaction leave ; r = r+1
if (m = k, r =1)
 v = r last number ; TS is pre-defined
– If v > ts then Qv transaction become first
23
Our method
24
Our method
 buffer pool analysis
– buffer management methods cannot utilize the
synchronized scan technique efficiently
– solution to this problem
 synchronized scan technique
25
Our method
 lower RDBMS’s capability problem
26
Our method
 lower RDBMS’s capability problem
– involve full table scans
27
Our method
 Solution : synchronized scan technique
28
Our method
 Our method
– addition K1 buffer;
 Hold recent resource
– DS ;
 Record T1 need all resource
– fast scan; slow scan
29
Our method
 T2 start can check DB
30
Our method
 T2 start scan
31
Our method
 Defect
– t1 doing transaction
– t2 transaction end
– New transaction can’t enter share resource
32
Our method
 Improve
– Applying transaction reordering
 Technique1 maintain hash table (HT) and find
desirable transaction
 Technique2 new transaction , check DS
 Propose
– improve the throughput
– economize I/O resource
33
experiment
 IBM DB2
– Concurrency
 deadlock probability and throughput testing results
– deadlock probability. Fig. 5 and 6
P =50% ; s=10000 ; n=1 to 128 ; K =2 or 4 or 6
or 8
34
experiment
 Ex
P =50% ; s=10000 ; n=64 ; K =2
Deadluck probability = 5%
35
experiment
Predicted deadlock probability
of the naive method
Measured deadlock probability of the naive
method
36
experiment
Throughput of the naive method
Throughput of the reordering
method
37
experiment
 throughput
Naive’
Naive’
probability throughput
Reorder
Reorder
probability throughput
deadluck bad
Bad
Good
good
No
Similer
deadluck Reorder
Similer
Reorder
Similer
Naive
Similer
Naive
38
experiment
 Data ratio test results
– K=16; n=64; p=50%; s= 5000 to 20000
– Fig10
39
experiment
 Data ratio test results
– throughput of Reprdering and naive
40
experiment
 Transaction ratio test results
41
conclusion
 Improve the performance of an RDBMS
 Combine running transaction and wait
transaction
 Predict the occurrence of deadlock
42