Semester Ganjil 2014 Fak. Teknik Jurusan Teknik Informatika Universitas Pasundan. Caca E. Supriana, S.Si.,MT.

dokumen-dokumen yang mirip
Penguncian pada Concurrency Control

Distributed System. 9 Concurrency Control. Genap 2011/2012. Dahlia Widhyaestoeti, S.Kom dahlia74march.wordpress.

SISTEM BASIS DATA (KONTROL KONKURENSI) Alif Finandhita,S.Kom, M.T.

Desain Aplikasi. by: Ahmad Syauqi Ahsan

Semester Ganjil 2014 Fak. Teknik Jurusan Teknik Informatika Universitas Pasundan. Caca E. Supriana, S.Si.,MT.

Concurrency Control Semester Ganjil 2014 Fak. Teknik Jurusan Teknik Informatika. Caca E. Supriana, S.Si.,MT. Si

Manajemen Transaksi (Penjadwalan & Kontrol konkurensi)

Manajemen Transaksi. Sistem Basis Data. Gentisya Tri Mardiani, S.Kom

Nama : Putra Adi Nugraha dan Priska Kalista Kelas : B

Transaksi Semester Ganjil 2014 Fak. Teknik Jurusan Teknik Informatika. Caca E. Supriana, S.Si.,MT. Si

Gambar Layar pertama untuk pemecahan masalah Lost Update

DISTRIBUTED TRANSACTIONS. Willy Sudiarto Raharjo

SISTEM BASIS DATA 2. WAHYU PRATAMA, S.Kom., MMSI.

KONTROL KONKURENSI TERDISTRIBUSI (DCC)

DISTRIBUTED TRANSACTIONS

Semester Ganjil 2014 Fak. Teknik Jurusan Teknik Informatika Universitas Pasundan. Caca E. Supriana, S.Si.,MT.

PENGONTROLAN BERBASIS KOMPUTER

TEKNIK RECOVERY (ref. Fundamentals of DB Systems, Elmasri, N)

BAB 3 ANALISIS DAN PERANCANGAN SISTEM

PENDAHULUAN PENDAHULUAN TRANSAKSI TRANSAKSI TRANSAKSI 24/04/2016 TEKNIK RECOVERY

Operating System. Synchronization & Deadlock. Fak. Teknik Jurusan Teknik Informatika Universitas Pasundan

Kusnawi, S.Kom, M.Eng

DATABASE CONTROL 1. SECURITY DATABASE. Suzan Agustri 81

Manajemen Transaksi. Praktikum Sistem Basis Data. Gentisya Tri Mardiani, S.Kom., M.Kom

Distributed Transaction

Mekanisme Penanganan Deadlock Dalam Pemrosesan Transaksi Oleh DBMS Menggunakan Algoritma Backtracking

Transaction & Conccurency

Transactions and Concurrency Control

Pertemuan XII Distributed Database Fak. Teknik Jurusan Teknik Informatika. Caca E. Supriana, S.Si.,MT.

BAB 4 IMPLEMENTASI DAN EVALUASI

Process Synchronization

MANAGEMEN TRANSAKSI. Ferdi Yusuf #1

LINGKUNGAN DATABASE Baca R Modifikasi R -

Sistem Operasi. Critical section, konkurensi, mutasi exclusion, starvation dan deadlock. Juliansyahwiran, S. Kom, MTI. Modul ke: Fakultas FASILKOM

DEADLOCK & RECOVERY SYSTEM

ALGORITMA-ALGORITMA PARALLEL RANDOM ACCESS MACHINE (PRAM = pea ram)

PENGONTROLAN BERBASIS KOMPUTER

sistem basis data ti ti ukdw Transaksi Budi Susanto Teknik Informatika Universitas Kristen Duta Wacana Yogyakarta 11/14/11 budi susanto 1

Praktikum MONITORING AND RESOLVING LOCK CONFLICTS. Tujuan :

Distributed System. 8 Management Transaksi. Genap 2011/2012. Dahlia Widhyaestoeti, S.Kom dahlia74march.wordpress.

Disk & Memory Semester Ganjil 2014 Fak. Teknik Jurusan Teknik Informatika.

Manajemen Transaksi. Sistem Basis Data. Gentisya Tri Mardiani, S.Kom., M.Kom

1/5. while and do Loops The remaining types of loops are while and do. As with for loops, while and do loops Praktikum Alpro Modul 3.

MANAJEMEN TRANSAKSI. Alif Finandhita, S.Kom

PERANGKAT LUNAK SIMULASI DEADLOCK MENGGUNAKAN ILUSTRASI DINING PHILOSOPHERS PROBLEM

Sinkronisasi dan Deadlock Sistem Operasi

Pertemuan IX MANAJEMEN TRANSAKSI

ABSTRACT. Keywords: inventory control, probabilistic method, backorder, lostsales

Operating System. Scheduling. Fak. Teknik Jurusan Teknik Informatika Universitas Pasundan. Dosen : Caca E. Supriana, S.Si

Masalah Deadlock. Contoh Persimpangan Jalan. Resource-Allocation Graph. Deadlock

DEADLOCK. KELOMPOK : Aurora Marsye Mellawaty Vidyanita Kumalasari Y

Konkurensi merupakan landasan umum perancangan sistem operasi. Proses-proses disebut konkuren jika proses-proses berada pada saat yang sama.

SATUAN ACARA PERKULIAHAN MATA KULIAH PEMROGRAMAN PASCAL * (TK) KODE / SKS: KK /2 SKS

Pertemuan #3: Sinkronisasi dan Deadlock

Transaction & Conccurency

BAB I PENDAHULUAN : SISTEM BASIS DATA

Analisa dan Perancangan Algoritma. Ahmad Sabri, Dr Sesi 1: 9 Mei 2016

7. Analisis Kebutuhan - 1 (System Actors & System Use Cases )

PENGONTROLAN KONKURENSI

STATEMEN GO TO DAN IF-THEN. Pertemuan IX

Backup & Recovery System. Teknik Informatika

IMPLEMENTASI BASISDATA DALAM REAL-TIME SYSTEM

Modul Praktikum Sistem Basis Data 2010

MODIFIKASI DAN EVALUASI KINERJA ALGORITMA READ-COMMIT ORDER CONCURRENCY CONTROL (ROCC)

Komunikasi & Sinkronisasi Proses

T UGAS STUDI KASUS SISTEM OPERASI. Mutual Exclusion. Mata Kuliah : Sistem Operasi [ CF 1322] Disusun Oleh :

PROTOKOL CONCURRENCY CONTROL PADA REAL-TIME DATABASE SYSTEM

Topi Anda akan membutuhkan untuk melakukan langkah-langkah ini adalah 1. A Windows 98 CD 2. A Komputer dengan CD-ROM akses

Bab 6. Deadlock POKOK BAHASAN: TUJUAN BELAJAR:

AKIBAT HUKUM PEMBATALAN INITIAL PUBLIC OFFERING TERHADAP EMITEN DAN INVESTOR

BAB II TINJAUAN PUSTAKA

PROSES DAN THREADS DALAM SISTEM OPERASI

ARSITEKTUR SISTEM. Alif Finandhita, S.Kom, M.T. Alif Finandhita, S.Kom, M.T 1

E VA D A E L U M M A H K H O I R, M. A B. P E R T E M U A N 2 A N A

ABSTRACT. Keywords: Inventory, inventory control, ABC classification, EOI Multiple Item method, efficiency cost inventory. vii

ADDING RTGS BENEFICIARY FOR CHECKER MAKER SYSTEM

MERANCANG WEB DATA BASE UNTUK CONTENT SERVER

Pertemuan VI Functional Dependency Fak. Teknik Jurusan Teknik Informatika. Caca E. Supriana, S.Si.,MT.

Pertemuan V Penjadwalan Proses

Operating System. File System. Fak. Teknik Jurusan Teknik Informatika Universitas Pasundan. Dosen : Caca E. Supriana, S.Si

DAFTAR ISI. BAB I PENDAHULUAN Latar Belakang Masalah Rumusan Masalah Batasan Masalah Tujuan Penelitian...

MODUL PRAKTIKUM SISTEM OPERASI PRAKTIKUM VIII Deadlock

APLIKASI GRANTT CHART PADA ALGORITMA PENJADUALAN PROSES

Kata Kunci : Surat Berharga, Bilyet Giro, Perlindungan Hukum.

Sistem Operasi. Deadlock

Monitor. Process Synchronization. SISTIM OPERASI (IKI-20230) ProcessSynchronization Ch. 6. Johny Moningka

Perulangan Muh. Izzuddin Mahali, M.Cs. Pertemuan 3. Algoritma dan Struktur Data. PT. Elektronika FT UNY

CONSTRAINT clients_client_num_pk PRIMARY KEY (client_number));

Pengembangan Sistem Verifikasi Mata Kuliah Dengan Parsing Data Text Transkrip Siakad Pada Jurusan Ilmu Komputer

Deadlock. Pada kasus ini juga bisa terjadi kelaparan, yaitu ada proses yang tidak terlayani

Sistem Operasi 9. Virtual Memory. Antonius Rachmat C, S.Kom, M.Cs

SISTEM MONITORING PELANGGAN PASCABAYAR DAN PRABAYAR TBT MENERAPKAN MANAJEMEN TRANSAKSI MENGGUNAKAN METODE TWO PHASE LOCKING

Bab 6: Sinkronisasi Proses. Latar Belakang

Teknik Informatika Universitas Pasundan. Caca E. Supriana, S.Si.,MT.

Manajemen Transaksi A. Konsep Transaksi 1. Membuat Tabel account dengan type Innodb

Administrasi Basis Data. Transaksi dan Lock. Yoannita

DEADLOCK PADA WINDOWS DAN LINUX

PERSEGI ANGKA-HURUF VERTIKAL

Pembentukan Temporal Association Rules Menggunakan Algoritma Apriori (Studi Kasus:Toko Batik Diyan Solo)

MODUL 4 KONSEP PROSES, KONKURENSI, MANAJEMEN PROSES (1) M. R A J A B F A C H R I Z A L - S I S T E M O P E R A S I - M O D U L 4

Transkripsi:

Semester Ganjil 2014 Fak. Teknik Jurusan Teknik Informatika Universitas Pasundan Caca E. Supriana, S.Si.,MT. caca.e.supriana@unpas.ac.id

Two Phase Locking Techniques Locking adalah sebuah operasi yang mengamankan (a) izin untuk Baca (Read) atau (b) izin untuk Tulis (Write) item data untuk transaksi. Contoh: Lock (X). Item data X terkunci dalam nama transaksi yang meminta. Unlocking adalah sebuah operasi yang menghilangkan hak akses ini dari item data. Contoh: Unlock (X). Item data X dibuat tersedia untuk semua transaksi lainnya. Lock dan Unlock adalah operasi Atomik. 2

Dua mode kunci (a) shared (read) dan (b) eksklusif (write). Mode Shared: berbagi b lock (X). Lebih dari satu transaksi dapat menerapkan berbagi kunci pada X untuk membaca nilainya tetapi tidak ada menulis kunci dapat diterapkan pada X oleh transaksi lainnya. Mode Eksklusif: Menulis lock (X). Hanya satu menulis kunci pada X dapat ada pada setiap waktu dan tidak ada kunci bersama dapat diterapkan oleh transaksi lain pada X. 3

Lock Manager: Mengelola kunci pada item data. Lock Table: Kunci manajer menggunakannya untuk menyimpan mengidentifikasi ifik i transaksi ki mengunci item data, data barang, modus kunci dan pointer ke item data berikutnya terkunci. Salah satu cara sederhana untuk menerapkan tabel kunci adalah melalui linked list. Transaction ID Data item id lock mode Ptr to next data item T1 X1 Read Next 4

Database membutuhkan semua transaksi harus dibentuk dengan baik. Sebuah transaksi yang baik akan terbentuk jika: Transaksi harus mengunci item data sebelum membaca atau menulis. Transaksi tidak harus mengunci item data yang sudah terkunci dan tidak harus mencoba untuk membuka item data yang bebas (unlocked). 5

Lock operation B: if LOCK (X) = 0 (*item is unlocked*) then LOCK (X) 1 (*lock the item*) else begin wait (until lock (X) = 0) and the lock manager wakes up the transaction); goto B end; 6

Unlock operation LOCK (X) 0 (*unlock the item*) if any transactions are waiting ii then wake up one of the waiting the transactions; 7

Read operation B: if LOCK (X) = unlocked then begin LOCK (X) read locked ; no_of_reads (X) 1; end else if LOCK (X) read locked then no_of_reads (X) no_of_reads (X) +1 else begin wait (until LOCK (X) = unlocked and the lock manager wakes up thetransaction); ) go to B end; 8

Write lock operation B: if LOCK (X) = unlocked then begin LOCK (X) write locked ; no_of_reads of (X) 1; end else if LOCK (X) write locked then no_of_reads (X) no_of_reads (X) +1 else begin wait (until LOCK (X) = unlocked and the lock manager wakes up the transaction); ti ) go to B end; 9

Unlock operation if LOCK (X) = write locked then begin LOCK (X) unlocked ; wakes up one of the transactions, if any end else if LOCK (X) read locked then begin no_of_reads (X) no_of_reads (X) 1 if no_of_reads (X) = 0 then begin LOCK (X) = unlocked ; wake up one of the transactions, if any end end; 10

Lock conversion Lock upgrade: existing read lock to write lock if Ti has a read lock (X) and Tj has no read lock (X) (i j) then convert read lock k(x) to write lock k(x) else force Ti to wait until Tj unlocks X Lock downgrade: existing write lock to read lock Ti has a write lock (X) (*no transaction can have any lock on X*) convert write lock k(x) to read lock k(x) 11

Algorithm Dua Tahap: (a) Locking (growing) (b) Unlocking (shrinking). Tahap Locking (growing) : Sebuah transaksi berlaku kunci (membaca atau menulis) pada item data yang diinginkan satu per satu. Tahap Unlocking (shrinking): Sebuah transaksi membuka item datanya dikunci satu per satu. Persyaratan: Untuk transaksi kedua fase harus saling eksklusif, yaitu selama fase mengunci membuka fase tidak harus mulai dan selama unlocking fase fase penguncian tidak harus dimulai. i 12

13

Algoritma untuk Two Phase Locking Techniques T1 T2 Result read_lock (Y); read_lock (X); Initial values: Y=30; X=20 read_item (Y); read_item (X); Result of serial execution unlock (Y); unlock (X); T1 followed by T2 write_lock (X); Write_lock (Y); X=50, Y=80. read_item (X); read_item (Y); Result of serial execution X:=X+Y; Y:=X+Y; T2 followed by T1 write_item (X); write_item (Y); X=70, Y=50 unlock (X); unlock (Y); 14

T1 T2 Result Time read_lock (Y); X=50; Y=50 read_item (Y); Nonserializable because it. unlock (Y); violated two phase policy. read_lock (X); read_item (X); unlock (X); write_lock (Y); read_item (Y); Y:=X+Y; write_item (Y); unlock (Y); write_lock (X); read_item (X); X:=X+Y; write_item (X); unlock (X); 15

T 1 T 2 read_lock (Y); read_lock (X); T1 and T2 follow two phase read_item (Y); read_item (X); policy but they are subject to write_lock (X); Write_lock (Y); deadlock, which must be unlock (Y); unlock (X); dealt with. read_item (X); read_item (Y); X:=X+Y; X Y:=X+Y; Y write_item (X); write_item (Y); unlock (X); unlock (Y); 16

Kebijakan dua tahap menghasilkan dua algoritma penguncian (a) Dasar dan (b) Konservatif. Konservatif: Mencegah kebuntuan dengan mengunci semua item data yang diinginkan sebelum transaksi dimulai eksekusi. Dasar: Transaksi mengunci item data secara bertahap. Hal ini dapat menyebabkan kebuntuan yang harus ditangani. Ketat (Strict): Sebuah versi yang lebih ketat dari algoritma dasar di mana unlocking dilakukan k setelah lh transaksi ki berakhir (melakukan atau dibatalkan dan roll back). Ini adalah yang paling umum digunakan pada algoritma penguncian dua fase. 17

Deadlock & Starvation Deadlock T 1 T 2 read_lock dl k( (Y); T1 and T2 ddf did follow two phase read_item (Y); policy but they are deadlock read_lock (X); read_item (Y); write_lock (X); (waits for X) Deadlock (T 1 and T 2) write_lock (Y); (waits for Y) 18

Starvation Starvation terjadi ketika transaksi tertentu secara konsisten menunggu atau restart dan tidak pernah mendapat kesempatan untuk melangkah lebih jauh. Dalam resolusi kebuntuan adalah mungkin bahwa transaksi yang sama dapat secara konsisten terpilih sebagai korban dan roll back. Keterbatasan ini melekat dalam semua mekanisme penjadwalan berbasis prioritas. Dalam skema Wound Wait transaksi yang lebih muda mungkin selalu dibatalkan dengan transaksi lebih tua yang telah lama berjalan yang dapat menciptakan starvation. 19

Timestamp Sebuah variabel monoton yang meningkat (integer) yang menunjukkan usia operasi atau transaksi. Sebuah nilai timestamp yang lebih besar menunjukkan peristiwa atau operasi yang lebih baru. Algoritma berbasis Timestamp menggunakan timestamp untuk serialisasi pelaksanaan transaksi konkuren. 20

Timestamp based concurrency control algorithm Basic Timestamp Ordering 1. Transaction T issues a write_item(x) item(x) operation: a. If read_ts(x) > TS(T) or if write_ts(x) > TS(T), then an younger transaction has already read the data item so abort and roll back T and reject the operation. b. If the condition in part (a) does not exist, then execute write_item(x) item(x) of T and set write_ts(x) to TS(T). 2. Transaction T issues a read_item(x) operation: a. If write_ts(x) > TS(T), then an younger transaction has already written to the data item so abort and roll back T and reject the operation. b. If write_ts(x) TS(T), then execute read_item(x) of T and set read_ts(x) to the larger of TS(T) and the current read_ts(x). 21

Strict Timestamp Ordering 1. Transaction T issues a write_item(x) operation: a. If TS(T) > read_ts(x), then delay T until the transaction T that wrote or read X has terminated (committed or aborted). 2. Transaction T issues a read_item(x) operation: a. If TS(T) > write_ts(x), then delay T until the transaction T that wrote or read X has terminated (committed or aborted). 22

Thomas s Write Rule 1. If read_ts(x) > TS(T) then abort and roll back T and reject the operation. 2. If write_ts(x) > TS(T), then just ignore the write operation and continue execution. This is because the most recent writes counts in case of two consecutive writes. 3. If the conditions given in 1 and 2 above do not occur, then execute write_item(x) of T and set write_ts(x) to TS(T). 23