AN OPTIMISTIC CONCURRENCY CONTROL ALGORITHM FOR MOBILE AD-HOC NETWORK DATABASES Brendan Walker.

Slides:



Advertisements
Similar presentations
Serializability in Multidatabases Ramon Lawrence Dept. of Computer Science
Advertisements

Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke1 Transaction Management Overview Chapter 16.
Transaction Management: Concurrency Control CS634 Class 17, Apr 7, 2014 Slides based on “Database Management Systems” 3 rd ed, Ramakrishnan and Gehrke.
Principles of Transaction Management. Outline Transaction concepts & protocols Performance impact of concurrency control Performance tuning.
Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke1 Concurrency Control Chapter 17 Sections
Topic 6.3: Transactions and Concurrency Control Hari Uday.
Lecture 11 Recoverability. 2 Serializability identifies schedules that maintain database consistency, assuming no transaction fails. Could also examine.
1 Chapter 3. Synchronization. STEMPusan National University STEM-PNU 2 Synchronization in Distributed Systems Synchronization in a single machine Same.
Database Replication techniques: a Three Parameter Classification Authors : Database Replication techniques: a Three Parameter Classification Authors :
Distributed Systems 2006 Styles of Client/Server Computing.
Distributed Systems Fall 2010 Transactions and concurrency control.
CS 582 / CMPE 481 Distributed Systems Concurrency Control.
CS 582 / CMPE 481 Distributed Systems
Transaction Processing in Mobile Distributed Databases Sherida Jacob CSC 536 5/2/2005.
Chapter 11 Grid Concurrency Control 11.1 A Grid Database Environment 11.2 An Example 11.3 Grid Concurrency Control (GCC) 11.4 Correctness of GCC 11.5 Features.
1 ICS 214B: Transaction Processing and Distributed Data Management Replication Techniques.
Session - 14 CONCURRENCY CONTROL CONCURRENCY TECHNIQUES Matakuliah: M0184 / Pengolahan Data Distribusi Tahun: 2005 Versi:
Transaction Processing: Concurrency and Serializability 10/4/05.
Distributed Systems Fall 2009 Replication Fall 20095DV0203 Outline Group communication Fault-tolerant services –Passive and active replication Highly.
Chapter 18: Distributed Coordination (Chapter 18.1 – 18.5)
CMPT 401 Summer 2007 Dr. Alexandra Fedorova Lecture XI: Distributed Transactions.
CMPT Dr. Alexandra Fedorova Lecture XI: Distributed Transactions.
BACS 485—Database Management Concurrency Control Overview of Database Concurrency Control.
Distributed Systems Fall 2009 Distributed transactions.
TRANSACTION PROCESSING TECHNIQUES BY SON NGUYEN VIJAY RAO.
CMPT Dr. Alexandra Fedorova Lecture XI: Distributed Transactions.
Transaction. A transaction is an event which occurs on the database. Generally a transaction reads a value from the database or writes a value to the.
Concurrency Control In Dynamic Database Systems Laurel Jones.
Transactions and concurrency control
TRANSACTIONS AND CONCURRENCY CONTROL Sadhna Kumari.
Concurrency Control in Distributed Databases. By :- Rishikesh Mandvikar rmandvik[at]engr.smu.edu May 1, 2004.
Replication and Consistency. Reference The Dangers of Replication and a Solution, Jim Gray, Pat Helland, Patrick O'Neil, and Dennis Shasha. In Proceedings.
08_Transactions_LECTURE2 DBMSs should guarantee ACID properties (Atomicity, Consistency, Isolation, Durability). This is typically done by guaranteeing.
AXML Transactions Debmalya Biswas. 16th AprSEIW Transactions A transaction can be considered as a group of operations encapsulated by the operations.
Transaction Communications Yi Sun. Outline Transaction ACID Property Distributed transaction Two phase commit protocol Nested transaction.
Managing Real-Time Transactions in Mobile Ad-Hoc Network Databases Le Gruenwald The University of Oklahoma School of Computer Science Norman, Oklahoma,
Distributed Transactions
Operating Systems Distributed Coordination. Topics –Event Ordering –Mutual Exclusion –Atomicity –Concurrency Control Topics –Event Ordering –Mutual Exclusion.
Transactions CPSC 356 Database Ellen Walker Hiram College (Includes figures from Database Systems by Connolly & Begg, © Addison Wesley 2002)
Concurrency Server accesses data on behalf of client – series of operations is a transaction – transactions are atomic Several clients may invoke transactions.
1 Concurrency Control II: Locking and Isolation Levels.
WIRELESS AD-HOC NETWORKS Dr. Razi Iqbal Lecture 6.
Low Cost Commit Protocols for Mobile Computing Environments Marc Perron & Baochun Bai.
Chapter 6.5 Distributed File Systems Summary Junfei Wen Fall 2013.
IM NTU Distributed Information Systems 2004 Replication Management -- 1 Replication Management Yih-Kuen Tsay Dept. of Information Management National Taiwan.
Databases Illuminated
Lecture 13 Advanced Transaction Models. 2 Protocols considered so far are suitable for types of transactions that arise in traditional business applications,
A Survey on Optimistic Concurrency Control CAI Yibo ZHENG Xin
Transactions and Concurrency Control. Concurrent Accesses to an Object Multiple threads Atomic operations Thread communication Fairness.
Concurrency Control and Reliable Commit Protocol in Distributed Database Systems Jian Jia Chen 2002/05/09 Real-time and Embedded System Lab., CSIE, National.
Transaction Management Overview. Transactions Concurrent execution of user programs is essential for good DBMS performance. – Because disk accesses are.
IM NTU Distributed Information Systems 2004 Distributed Transactions -- 1 Distributed Transactions Yih-Kuen Tsay Dept. of Information Management National.
Introduction to Distributed Databases Yiwei Wu. Introduction A distributed database is a database in which portions of the database are stored on multiple.
1 Lecture 4: Transaction Serialization and Concurrency Control Advanced Databases CG096 Nick Rossiter [Emma-Jane Phillips-Tait]
CSE 486/586, Spring 2012 CSE 486/586 Distributed Systems Replication Steve Ko Computer Sciences and Engineering University at Buffalo.
Multidatabase Transaction Management COP5711. Multidatabase Transaction Management Outline Review - Transaction Processing Multidatabase Transaction Management.
Distributed Transactions What is a transaction? (A sequence of server operations that must be carried out atomically ) ACID properties - what are these.
1 Concurrency Control. 2 Why Have Concurrent Processes? v Better transaction throughput, response time v Done via better utilization of resources: –While.
Distributed Databases – Advanced Concepts Chapter 25 in Textbook.
Outline Introduction Background Distributed DBMS Architecture
Concurrency Control and Reliable Commit Protocol in Distributed Database Systems Jian Jia Chen 2002/05/09 Real-time and Embedded System Lab., CSIE, National.
CSE 4340/5349 Mobile Systems Engineering
Distributed Database Management Systems
Distributed Transactions
Atomic Commit and Concurrency Control
Submitted to Dr. Badie Sartawi Submitted by Nizar Handal Course
Distributed Optimistic Algorithm
Outline Introduction Background Distributed DBMS Architecture
Outline Introduction Background Distributed DBMS Architecture
Transactions, Properties of Transactions
Presentation transcript:

AN OPTIMISTIC CONCURRENCY CONTROL ALGORITHM FOR MOBILE AD-HOC NETWORK DATABASES Brendan Walker

Mobile Ad-Hoc Network (MANET)  Made up of wireless devices  Mobile database built on MANET = MANET database system  No fixed infrastructure  Concurrency control (CC) techniques must be incorporated

Concurrency Control  Activity of preventing transactions from destroying the consistency of the database  Allows transactions to run concurrently, so that:  The throughput and resource utilization of database systems are improved  Waiting time of concurrent transactions are reduced

 CC techniques for cellular mobile databases cannot be directly applied in MANET environments  Constraints:  Mobility  Low Bandwidth  Multi-hop Communication  Limited Battery Power  Frequent Disconnections  Long-lived Transactions

Sequential Order with Dynamic Adjustment (SODA)  Authors propose SODA algorithm for mission-critical MANET databases  All characteristics are put into consideration  Nodes are divided into clusters  Each cluster has one cluster head that is responsible for the processing of all the nodes in the cluster

Other Proposed CC Techniques  Semantic Serializability Applied to Mobility (SESAMO)  Multi-Version Optimistic Concurrency Control for Nested Transactions (MVOCC-NT)  Look-Ahead Protocol (LAP)  Strict 2-Phase Locking (S2PL)

SESAMO  Based on semantic serializability  Assumes that databases are disjoint  Updates only depend on the values of data of the same database  Transaction atomicity and global serializability can be relaxed

SESAMO  However:  Global transactions still need to be serialized at each site using strict 2PL  Each site must maintain the consistency of its own local database

LAP  Proposed to maintain data consistency of broadcast data in mobile environments  Update transactions are classified into hopeful or hopeless transactions  Hopeless transactions cannot commit before their deadline; aborted as earlier as possible to save system resources  Hopeful transactions can continue to execute their read and write operations

MVOCC-NT  Processes mobile real-time nested transactions using multi-versions of data in mobile broadcast environments  Adopts the timestamp interval with dynamic adjustment (avoids unnecessary aborts)  Mobile Clients:  All active transactions perform backward pre-validation against transactions committed (in last broadcast cycle at the fixed server)  Surviving update transactions have to be transferred to the fixed server for the final validation

 Except for SESAMO, the other techniques are designed for cellular mobile databases that rely on broadcast techniques and powerful, static servers  Not suitable for MANET databases  SESAMO proposed for MANET databases  However:  MANET databases for mission-critical applications cannot relax the atomicity and global serializability  Each database depends on the other

MANET Database Architecture  Clients  Only query processing modules that allow them to submit transactions and receive results are installed  Servers  Complete database management system is installed  Coordinating servers – divide global transactions into sub-transactions, forward them to appropriate participating servers; maintain ACID properties of global transactions  Participating servers – process sub-transactions; preserve ACID properties

MANET Database Architecture

 Database partitioned into local databases, distributed at different servers  No Caching or replication technique involved for simplicity  Cluster Architecture  Many applications in the literature use grouped or clustered architectures  Every node is mobile in MANET

MANET Database Architecture  Power, Mobility, and Workload (PMW)  Weighted algorithm to form and maintain stable clusters  Weight is calculated by:  Remaining power  Mobility prediction (to check if a node moves along with all its one-hop neighbors)  Workload (represented by power decrease rate)

SODA Description  Assume that Ti’s (i = 1, …, n) are committed transactions, and T is a validating/committing transaction. If we simply let the validation/commit order be the serialization order like traditional OCC, and if there is a read-write conflict between T and Ti, i.e., T reads a common data item d before Ti updates d, then T is aborted because two orders are different. Such aborts should be avoided if possible.

SODA Description  We need a dynamic order among committed transactions other than the validation order.  Sequential Order (SO) of committed transactions is maintained as {T1, T2, …, Ti,..., Tn} (also called a history list, which is ordered from left to right) and can be dynamically adjusted  Complex case:  The sequential order must be adjusted before the insertion of T  Simple case:  Validating transaction T can be directly inserted into the maintained sequential order without adjustment, and the final sequential order will be: {T1, T2, …, low, … T, up,..., Tn}

SODA Description

SODA and MANET  Transaction Flow in a clustered MANET

SODA and MANET  Coordinating server is combined with cluster head, elected by the PMW algorithm  Participating server functionality:  Maintains sequential order of committed sub- transactions  Processes sub-transactions  When it receives the request about the status of a sub- transaction, runs SODA locally based on local sequential order of committed transaction

SODA and MANET  Participating server functionality (continued)  Sends final result to the requesting cluster head. If it passes the validation, timestamp of the read set is also sent to the cluster head  If sub-transaction commits, rebuilds the local latest sequential order of committed transactions by running update_sequential_order(); adds the read set, write set, and timestamps of both sets  Once a sub-transaction commits, tries to remove committed transactions which are not serialized after any committed transaction from the local sequential order of committed transactions.

SODA and MANET  Cluster head functionality  Maintains sequential order of committed global transaction  Receives global transactions from clients; divides them into sub-transactions which are sent to appropriate participating servers  Runs 2-Phase Commit to request status of sub- transactions and requests timestamps of read set  Once it receives all successful messages of a global transaction, begins to validate this transaction globally using SODA

SODA and MANET  Cluster head functionality (continue)  When global transaction commits: Updates its sequential order Tries to remove committed transactions which are not serialized after any committed transaction  Periodically checks its power level If level is below predefined threshold, resigns its cluster head status and elects new one

Correctness Proof and Time Complexity  Theorem 1  If S is a schedule produced by SODA, then S is serializable.  Theorem 2  The time complexity of SODA is O(p*n^2 + n) n : # of committed transaction in the sequential order p : probability of a committing transaction conflicting with both transactions low and up and SO(low) >= SO(up)

Performance Evaluation  Simulation experiments used to compare the performance of SODA, SESAMO, and S2PL  Simulation model consists of a transaction generator, real-time scheduler, and deadlock manager (SESAMO and S2PL)  Simulation model for SESAMO and S2PL are different than the one for SODA:  SODA is applied locally and globally to validate transactions  SESAMO and S2PL use coordinating servers, not cluster heads

Performance Evaluation

Bibliography  Zhaowen Xing, Le Gruenwald, and Seokil Song An optimistic concurrency control algorithm for mobile ad-hoc network databases. In Proceedings of the Fourteenth International Database Engineering \&\#38; Applications Symposium (IDEAS '10). ACM, New York, NY, USA, DOI= /  Found at: