Basics of OS or Databases
Course Contents
Computation Models:
- Page and Object Models
Correctness for page model:
- Serializability - review of the basic theory, view serializability, conflict serializability, multiversion serializability.
Concurrency control algorithms for page model:
- Locking schedulers:Two phase locking & variants, Nonlocking schedulers: Timestamp and optimistic methods, Multiversion Concurrency Control Protocols
Page model crash and recovery:
- Expanded schedules, correctness criteria for page model, sufficient syntactic conditions for page model, handling aborts, crash recovery notion of correctness, redo winner and history algorithms - checkpoints, log truncation, transaction abort, rollbacks
Correctness notion for object model:
- Conflict serializability for Flat Object Transactions, Tree Reducibility, Sufficient Conditions for Tree Reducibility
Concurrency Control Algorithms for objects model:
- Locking for Flat Object Transactions, Layered Locking, Locking on General Transaction Forests, Hybrid Algorithms
Object model crash and recovery:
- Correctness criteria for the object model, simple redo- history algorithm, enhanced redo-history algorithm, complete redo-history algorithm for two- layered systems and for General Object Model Executions
Concurrency control and recovery in distributed databases:
- Concurrency Control in Homogeneous Federations, serializability in heterogeneous federations, achieving global serializability through local Guarantees, distributed recovery: two and three-phase commit protocols Concurrency control paradigms in parallel programming: Linearizablity, sequential consistency, global atomicity etc.
Resurgence of Transactions:
- Software and hardware transactional memory. Correctness Criteria for Transactional Memory: Opacity, Virtual Worlds Consistency etc.
What you'll learn
Get a deeper understanding of Concurrency Control issues in Databases. And how to extend them to other software systems.
About the Instructor
Dr. Sathya Peri is currently a Professor in CSE Department of IIT Hyderabad (IITH). His research interests broadly comprise of parallel and distributed systems. One of the areas he looks in efficient ways to parallelize using Software Transactional Memory Systems (STMs) while also exploring lock-free & wait-free algorithms. In the context of distributed systems, his interest includes Blockchain and Peer-to-Peer Systems. He is currently working on improving the efficiency of Smart Contract Execution in Blockchains Systems.
Link for Research Profile: https://scholar.google.com.sg/citations?user=FejPk-8AAAAJ&hl=en
Instructor ProfileCourse Assessment
Assessment may consist of assignments &/or quizzes &/viva &/or exams.