Title: Concurrency control protocols in MDAS An evaluation
1- Concurrency control protocols in MDAS ----An
evaluation - By Alan (Xing Gao)
- Advised by Prof. Ali R. Hurson
2Table of content
- I MDAS structure.
- II Concurrency protocols.
- III Simulation result and analysis.
- IV Effect of resubmission.
- V Future work.
3MDAS structure
- A centralized Multi-database system.
Global Transactions
Global MDBS Manager
Global Sub-transaction
Local DBMS 1
Local DBMS 2
Local DBMS 3
Local DBMS m
Local Transactions
Local Transactions
Local Transactions
Local Transactions
4MDAS structure
- Problem
- Lack of scalability.
- Global transaction manager becomes a bottleneck
in communication and locking table access. - Solution
- Summary Schemas Model (SSM)
- Distribute the manager functions into a
hierarchy of SSM nodes and therefore avoid the
bottleneck.
5MDAS structure SSM
- Summary Schemas Model (SSM)
- Uses a hierarchical structure that provides an
incrementally concise view of data in the form of
summary schemas. -
6MDAS structure SSM Hierarchy
- SSM hierarchy used in my simulator.
- 5 levels hierarchy
- 10 database nodes
- 11 SSM nodes
7MDAS structure SSM Hierarchy
8MDAS structure SSM Hierarchy
- Semantic summarization
- Db0 employee salary
- ssm6 salary
- Db1 employer salary
- ssm3 Factory database
- Db2 wholesale data
- ssm7 sale
- Db3 retail data
9MDAS structure An Example
- GT0 needs data from db0 and db3.
- GT1 needs data from db5 and db7.
- GT2 needs data from db8 and db9.
- GT3 needs data from db1 and db5.
10MDAS structure Execution
11Concurrency Protocols
- Four protocols are simulated
- Forced Conflict
- Site Graph
- Potential Conflict Graph
- V-lock
12Protocols Forced Conflict
- Forced Conflict
- Add a special data item called ticket at each
local site. - Requires each global sub-transaction to access
the ticket at its site. - The tickets obtained by the sub-transactions of
multi-database transactions determine their
relative serialization order. - Issue next operation only if the previous one
succeeds.
13Protocols Site Graph
- Site Graph
- A site graph on a transaction is a connection
among all sites where of of its sub-transactions
is executing. - Each SSM node maintains a site graph for all
global transactions under its control. - For each operation issued to a local site by an
SSM, an edge is added to the site graph of this
transaction. - If SSM cannot find a site to execute the
operation without leading to a cycle in the site
graph, it aborts the transaction. - The acyclicness of the site graph will guarantee
the correctness (serializability) of global
execution. - Issue next operation only if the previous one
succeeds.
14Protocols Potential Conflict Graph
- Potential Conflict Graph
- Assume that the local DBMSs use
two-phase-locking. - Each SSM maintains a global-wait-for-graph, a
commit-graph , a wait-for-commit-graph, and a
potential-conflict-graph. - The acyclicness of the four graphs will guarantee
the correctness (serializability) of global
execution. - Issue next operation only if the previous one
succeeds.
15Protocols V-Lock
- V-Lock
- Assume that the local DBMSs use
two-phase-locking. - Each SSM maintains a global-wait-for-graph, a
commit-graph , wait-for-commit-graph, and a
potential-conflict-graph. - The acyclicness of the four graphs will guarantee
the correctness (serializability) of global
execution. - Dynamically adjust acknowledgement frequency
between coordinator and local sites. - Can issue the whole sub-transaction at once.
16Simulation Simulator
- Simulator
- The programs are written in C language.
- Using CSIM simulation package.
- Assume busy global and local systems.
- Assume a reliable connection.
- No disconnection, fixed delay.
- All four concurrency protocol share the same
parameters in global system and local systems.
17Simulation Local Parameters
18Simulation Global Parameters
19Simulation Result
- Performance metrics
- Completion rate
- Global throughput
- Average response time
- Local CPU utilization
- Local IO utilization
- Communication utilization
20Simulation Completion Rate
21Simulation Completion Rate
- V-Lock gt PCGraph gt Forced Conflict gt SG
- when global concurrency degree lt50
- All four protocols have poor completion rates
(lt20) when global concurrency degree gt50
22Simulation Global Throughput
23Simulation Global Throughput
- V-lock has the highest throughput when the
concurrency degree is below 7. - Site Graph has the highest throughput when the
concurrency degree is above 7. - (at expense of low completion rate. lt40)
- Forced Conflict and Potential Conflict Graph have
relatively steady throughputs.
24Simulation Avg. Response Time
25Simulation Avg. Response Time
- Response time for Site Graph does not change much
as global concurrency degree increases. - All other three protocols experience an increase
and then a drop in their response time. - Response time for V-lock is very sensitive to the
global concurrency degree. - Majority aborts in Site Graph is because of
possible deadlock. - Many aborts in V-lock are because of timeout.
26Simulation Local I/O Utilization
27Simulation Local I/O Utilization
- No direct relation to global throughput.
- Low I/O utilization indicates more global
sub-transactions active/waiting at local sites. - Site Graph have a high I/O utilization rate than
others - Less global sub-transactions at local sites.
28Simulation Local CPU Utilization
29Simulation Local CPU Utilization
- CPU utilization and I/O utilization have similar
curves. - No direct relation to global throughput.
- Low CPU utilization indicates more global
sub-transactions active/waiting at local sites. - Site Graph have a high CPU utilization rate than
others - Less global sub-transactions at local sites.
30Simulation Local Comm Utilization
31Simulation Local Comm Utilization
- Generally follow the global throughput curves.
- It is directly related to frequency of messages
between MDAS and local DB sites.
32Simulation observation
- Global throughput is not the only issue.
- Completion rate is also an important measure.
33Simulation conclusion
- V-Lock have best completion rate as long as the
global concurrency degree is not too high. And it
has the best global throughput when global
concurrency degree is 7 or lower. - Site Graph leads to good global throughput, at
the expense of completion rate, as concurrency
degree increases. - Potential Conflict Graph (better) and Force
Conflict result in a relatively steady global
throughput. - Potential Conflict Graph and Force Conflict have
fair completion rates between Site graph and
V-Lock.
34Resubmission
- Effect of resubmission of a failed transaction.
- Observation
- Low completion rates as the global
concurrency degree increases. - Attempt
- Give more (2,3,6,and 10) chances to an aborted
transaction. - Expectation
- Higher completion rate and higher global
throughput.
35Resubmission Completion rate
36Resubmission Completion rate
- Effect on completion rate
- Resubmission leads to higher completion rate for
all four protocols. - Most significant for Site Graph.
- Least significant for V-Lock.
37Resubmission Response time
38Resubmission Response time
- Effect on response time
- Resubmission leads to longer response time for
all four protocols. - Significant to Site Graph because it has the
lowest completion rate.
39Resubmission Global throughput
40Resubmission Global throughput
- Effect on global throughput
- Resubmission does not change much on V-Locks
global throughput - Resubmission leads to lower global throughput for
all other 3 protocols.
41Resubmission
- Effect of resubmission of a failed transaction.
- Result
- Higher completion rate
- Longer response time.
- Similar(V-Lock) or lower global throughput.
- Conclusion
- Resubmission increase completion rate but leads
to a similar or lower global throughput. - Resubmission is not recommended unless a higher
completion rate is desired.
42Current Work
- Survey on mobile querying/transaction in wireless
environment. - The survey will be finished in 3 weeks.
43Future Work
- Simulate with non-busy global/local systems.
- Considerate weak connection and disconnection.
- Add a small cache to the Mobile Unit.
- Choose/design the suitable cache policy. (This
semester) - Enable mobile Databases. (replica, update, etc.)
- Design a concurrency control protocol for mobile
transaction for wireless environment.
44