PROTOKOL CONCURRENCY CONTROL PADA REAL-TIME DATABASE SYSTEM

dokumen-dokumen yang mirip
Penguncian pada Concurrency Control

Nama : Putra Adi Nugraha dan Priska Kalista Kelas : B

Manajemen Transaksi (Penjadwalan & Kontrol konkurensi)

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

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

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

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

DISTRIBUTED TRANSACTIONS

Praktikum MONITORING AND RESOLVING LOCK CONFLICTS. Tujuan :

Distributed Transaction

PENGONTROLAN BERBASIS KOMPUTER

KONTROL KONKURENSI TERDISTRIBUSI (DCC)

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

DATABASE CONTROL 1. SECURITY DATABASE. Suzan Agustri 81

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

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

PENGONTROLAN KONKURENSI

Mekanisme Penanganan Deadlock Dalam Pemrosesan Transaksi Oleh DBMS Menggunakan Algoritma Backtracking

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

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

Gambar Layar pertama untuk pemecahan masalah Lost Update

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

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

Teknik Informatika S1

JMA, VOL. 2, NO. 1, JULI, 2003, ALGORITMA ROCC FAHREN BUKHARI

MERANCANG WEB DATA BASE UNTUK CONTENT SERVER

Transactions and Concurrency Control

DISTRIBUTED TRANSACTIONS. Willy Sudiarto Raharjo

MANAGEMEN TRANSAKSI. Ferdi Yusuf #1

Transaction & Conccurency

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

DEADLOCK. KELOMPOK : Aurora Marsye Mellawaty Vidyanita Kumalasari Y

IMPLEMENTASI BASISDATA DALAM REAL-TIME SYSTEM

PENGATURAN PROSES. Proses adalah program yang sedangdieksekusi atau sofware yang sedang dilaksanakan.

BAB 4 IMPLEMENTASI DAN EVALUASI

Sistem Operasi. Deadlock

Administrasi Basis Data. Transaksi dan Lock. Yoannita

LINGKUNGAN DATABASE Baca R Modifikasi R -

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

TSI Perbankan MANAJEMEN DATA LOCK. Obyektif : 1. Mengetahui konsep lock 2. Mengetahui konsep share pada file database. AS/400 hal. B.

Sistem Operasi Penjadwalan Proses

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

Desain Aplikasi. by: Ahmad Syauqi Ahsan

BAB 3 ANALISIS DAN PERANCANGAN SISTEM

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

Algoritma Penjadwalan pada Tinyos

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

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

APLIKASI GRANTT CHART PADA ALGORITMA PENJADUALAN PROSES

ANALISIS DAN PERANCANGAN SISTEM INFORMASI PENJUALAN, PERSEDIAAN DAN PEMBELIAN PADA PT. XYZ

Keuntungan Virtual Memory

Virtual Memory. Latar Belakang Demand Paging Pembuatan Proses Page Replacement Alokasi Frame Thrashing Contoh Sistem Operasi

PERTEMUAN 2 LANJUTAN PERANCANGAN DATABASE DAN DBMS

MANAJEMEN TRANSAKSI. Alif Finandhita, S.Kom

Bab 6. Deadlock POKOK BAHASAN: TUJUAN BELAJAR:

Direktori yang diperlihatkan pada gambar 1. tersebut adalah untuk satu unit (mis. disk pack atau tape reel) dari penyimpanan sekunder. Labelnya berisi

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

Bab 3.Proses dan Penjadualan

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

Backup & Recovery System. Teknik Informatika

Penjadwalan Process. Konsep Dasar Penjadwalan Proses. Preemptive & Non-Preemtive Scheduling. Dispatcher.

PENGONTROLAN BERBASIS KOMPUTER

Tugas Arsitektur & Organisasi Komputer RAID (Redundancy Array of Independent Disk) Oleh : Atika Juliana

Overview Penjadwalan (1)

Kusnawi, S.Kom, M.Eng

TUGAS SISTEM OPERASI

November Sistem operasi #0

KONSEP DATABASE ORACLE BKPM 1

PENGENALAN BASIS DATA. By Novareza Klifartha

BAB I PENDAHULUAN : SISTEM BASIS DATA

Pertemuan #3: Sinkronisasi dan Deadlock

DEADLOCK & RECOVERY SYSTEM

Komunikasi & Sinkronisasi Proses

Sistem Waktu Nyata dan Multimedia

BAB 3 ANALISIS DAN PERANCANGAN SISTEM

ANALISIS PERFORMANSI TFMCC PADA JARINGAN BROADBAND WIRELINE

TUGAS SISTEM OPERASI THREAD

SILABUS MATAKULIAH. Indikator Pokok Bahasan/Materi Aktivitas Pembelajaran

PERTEMUAN 2 LANJUTAN PERANCANGAN DATABASE DAN DBMS

Pertemuan V Penjadwalan Proses

Sistem Operasi PENGATURAN PROSES

SISTEM OPERASI TERDISTRIBUSI

Kelas: Nilai (Diisi Dosen):... IF

Mahasiswa dapat memahami konsep dasar deskripsi dan kontrol pada proses

Sinkronisasi dan Deadlock Sistem Operasi

BAB 4 IMPLEMENTASI DAN EVALUASI

IMPLEMENTASI PENANGANAN DEADLOCK MENGGUNAKAN METODE TASKKILL

Sequential Process. Keterangan SISTEM OPERASI KOMUNIKASI ANTAR PROSES

IF3191- Penjadwalan Proses. Henny Y. Zubir. Departemen Teknik Informatika Institut Teknologi Bandung. IF-ITB/HY/24-Aug-03 IF3191 Penjadwalan Proses

Koordinasi Antar Proses

Sistem Operasi AGUS PAMUJI. Teknik Informatika

BAB 2 TINJAUAN PUSTAKA

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

Gambar 1. Service terdistribusi

BAB VIII DEADLOCK ...

P11 BUS Universitas Mercu Buana Yogyakarta

Sistem Operasi Pertemuan 6 Concurrency: Deadlock & Starvation. H u s n i Lab. Sistem Komputer & Jaringan Teknik Informatika Univ.

Deskripsi Penjadwalan Proses

Concurrency 1: y Mutual Exclusion dan Sinkronisasi (Perte rt muan ke muan -10) 10 Oktober 2014

ABSTRACT. Keywords: Accounting Information System, finished product stock, Internal Control System, computer technology. vii

Transkripsi:

Kuspriyanto, Protokol Concurrency Control 29 PROTOKOL CONCURRENCY CONTROL PADA REAL-TIME DATABASE SYSTEM Kuspriyanto (1), Rusdi HS (2), Hartanto (3) Abstract: Control Concurrency on RTDBS more complex than in conventional database system. Besides guarantee database consistency, on RTDBS control concurrency can support transaction deadlines. Mean while validities and value of data item change depend on time. Conventional control concurrency algorithm can be divided to two groups: Pessimistic Concurrency Control (PCC) and Optimistic Concurrency Control (OCC). PCC prevent conflict between transactions executed while OCC overcome between transactions after that transaction executed that restarted in conflict happened. These algorithms have weakness if applied in RTDBS that gives tight time on transaction execution because as a parameter is number of transactions done before deadlines, not only number of concurrency maximum and throughput. To overcome those two algorithms weakness some researches done. Between results modifications is speculative concurrency control and Hybrid concurrency control for the Nested model. But between alternatives there are some weaknesses, so it needs development for better control concurrency for RTDBS. Keywords: RTDBS, PCC, OCC, Hybrid Concurrency Control, Nested Model Real-time Database System (RTDBS) merupakan perpaduan Real-time System (RTS) dan Database System (DBS). RTS memiliki karakteristik pembatasan waktu eksekusi tasks dan data-data yang diproses dengan nilai dan validitas yang berubah menurut waktu. Pada DBS ditandai dengan adanya peningkatan volume data yang diproses serta persyaratan durability, security dan consistency dari data yang diproses. Maka RTDBS merupakan sistem database yang dirancang untuk memproses transaksi-transaksi yang memiliki deadline, data-data yang diakses dengan perubahan validitas dan nilai menurut waktu, deskripsi data yang didukung, cara memelihara integritas dan kebenaran data, teknik pengelolaan dan mengakses data yang efisien, dan menjamin eksekusi yang benar dari transaksitransaksi. RTDBS banyak diaplikasikan oleh sistem komando militer, sistem pesawat ruang angkasa, kontrol penerbangan, kontrol lalu-lintas, telekomunikasi dan manajemen jaringan komputer, sistem pelayanan directory telepon, computer integrated manufacturing (CIM), otomatisasi pabrik dan robot, workflow systems, medical monitoring, sistem pengontrolan stok barang, sistem multimedia. (1) Kuspriyanto, Jurusan Teknik Elektro,Institut Teknologi Bandung (ITB), E-mail: kuspriyanto@yahoo.com (2) Rudi HS, Jurusan Teknik Elektro,Institut Teknologi Bandung (ITB), E-mail: rusdi_hs@graffitri.net (3) Hartanto, Jurusan Teknik Elektro,Institut Teknologi Bandung (ITB), E-mail: hartanto@yahoo.com

30 GEMATIKA JURNAL MANAJEMEN INFORMATIKA, VOLUME 9 NOMOR 1, DESEMBER 2007 Keunggulan RTDBS adalah kemampuannya dalam menyelesaikan beberapa permasalahan penting yang dibutuhkan oleh sistem sesuai persyaratan kinerja yang ditentukan sistem khususnya memenuhi deadline yang telah ditentukan. Dalam sistem komputer peningkatan kinerja ditentukan oleh kemampuan melakukan eksekusi dalam waktu yang bersamaan dari operasi-operasi yang harus dilakukan dan hal ini dilakukan dengan concurency control. Permasalahan yang paling utama dihadapi oleh RTDBS adalah penurunan kinerja sistem karena pengguguran transaksi dan pengulangan kembali transaksi-transaksi (aborts and restarts transactions). Pengulangan-pengulangan transaksi itu terjadi karena percobaan protokol concurency control untuk menyelesaikan kembali konflik di antara transaksi-transaksi. Mekanisme concurency control yang ada untuk sistem database konvensional adalah locking (pesimistic), validation (optimistic), timestamping dan multiversion concurrency control. Tujuannya adalah untuk meminimalkan waktu respon rata-rata dari transaksi atau memaksimalkan throughtput dari sistem. Pada RTDBS tujuan (kinerja yang ditargetkan) dari mekanisme concurrency control adalah untuk meminimalkan jumlah transaksi yang melanggar deadline (bila dihubungkan dengan parameter deadline yang ditentukan untuk setiap transaksi). Jadi berbeda memang dengan kinerja yang ditargetkan pada database konvensional, sehingga concurrency control pada sistem database konvensional tidak dapat langsung diaplikasikan begitu saja pada sistem database nyata waktu. Oleh karena itu, beberapa penelitian telah dilakukan dan merumuskan solusi-solusi yang dapat mengatasi kelemahan-kelemahan yang terdapat pada mekanisme concurency control seperti speculative concurency control, Hybrid concurency control for the Nested model, dan 2-version Database Pointer concurency control. Protokol Concurrency Control Faktor-faktor yang menentukan kinerja realtime pada RTDBS adalah arsitektur sistem database, prosesor yang digunakan dan kecepatan pengaksesan disk. Namun demikian, untuk suatu konfigurasi sistem yang ada faktor utama penentu kinerja real-time adalah policy penjadwalan transaction untuk resource-resource sistem. Policy ini menentukan kapan layanan diberikan untuk sustu transaksi dan karena itu secara langsung mempengaruhi apakah transaksi dapat diselesaikan sebelum batas deadline atau tidak. Policy penjadwalan pengaksesan data yang digunakan dalam sistem database umumnya mengacu ke protokol yang disebut dengan concurency control. Protokol concurency control menyiapkan layanan database secara terpadu dengan menyelesaikan non-serial pengaksesan data transaksi-transaksi yang berjalan dengan cara menginduksi urutan serialisasi di antara transaksitransaksi yang konflik. Pada Soft Real-Time Database System pendekatan untuk problem penjadwalan umumnya menggunakan teknik yang ada dalam penjadwalan CPU, buffer management, I/O schedulling dan concurrency control serta menerapkan metoda penjadwalan time-critical untuk mengobservasi persyaratan waktu dari transaksi.

Kuspriyanto, Protokol Concurrency Control 31 Mekanisme concurency control yang ada untuk sistem database konvensional secara garis besar dapat dikelompokan menjadi dua, yaitu Pesimistic Concurrency Control (PCC) dan Optimistic Concurrency Control (OCC). Tujuannya adalah untuk meminimalkan waktu respon rata-rata dari transaksi atau memaksimalkan throughtput dari sistem. Pada RTDBS tujuan (kinerja yang ditargetkan) dari mekanisme concurrency control adalah untuk meminimalkan jumlah transaksi yang melanggar deadline (bila dihubungkan dengan parameter deadline yang ditentukan untuk setiap transaksi). Jadi berbeda memang dengan kinerja yang ditargetkan pada databse konvensional, sehingga concurrency control pada sistem database konvensional tidak dapat langsung diaplikasikan begitu saja pada sistem database nyata waktu. Pessimistic Concurrency Control Protokol pesssimistic concurrency control yang paling umum digunakan pada sistem databse konvensional adalah Two Phase Locking (2PL). Protokol 2PL mempersyaratkan suatu transaksi mendapatkan sebuah lock sebelum mengakses suatu objek database. Eksekusi transaction terdiri atas dua phase. Dalam phase pertama lock objek dibuat dan operasi transaction dieksukusi sementara dalam phase kedua lock objek dilepas, lock baru tidak dapat dibuat. Apabila sebuah transaksi Tr meminta sebuah lock pada suatu objek yang dipegang oleh transaction lain Tu di dalam sebuah konflik, Tr diblok dan harus menunggu sampai lock dilepas oleh Tu. Protokol locking pada sistem database nyata waktu adalah berdasarkan dua pendekatan, yaitu priority abort dan priority inheritance. Pendekatan priority abort didasarkan pada pengguguran transaction yang memiliki prioritas lebih rendah apabila terjadi priority inversion. Sementara pendekatan priority inheritance membolehkan transaction yang memiliki prioritas rendah untuk dieksekusi ketika transaction yang memiliki prioritas paling tinggi di antara transaction yang memiliki prioritas yang lebih tinggi sedang diblok. Hasil percobaan menunjukan bahwa protokol locking untuk real-time yang didasarkan pada pendekatan priority inheritance menghasilkan kinerja yang lebih baik dari pada pendekatan priority abort. Algoritma priority abort memodifikasi dasar protokol 2PL dengan penyatuan sebuah skema resolusi konflik yang dapat menjamin transaction dengan prioritas tinggi tidak akan tertunda oleh transaction yang berprioritas rendah. Tepatnya, bila sebuah transaction Tr meminta sebuah lock pada objek yang sedang dipegang oleh satu atau lebih transaction dengan prioritas yang lebih rendah pada suatu kasus konflik (conflicting mode), maka lock yang sedang dipegang tersebut harus di restart dan Tr dibolehkan untuk lock tersebut. Jika Tr yang memiliki prioritas lebih rendah dari suatu transaction yang memegang lock, maka ia harus menunggu sampai dilepaskan (sesuai standar 2PL). Kelemahan dari priority abort adalah suatu transaction akan menjadi restart oleh transaction yang memiliki prioritas lebih tinggi dan boleh jadi akhirnya discarded. Restart dapat menurunkan kinerja. Protokol priority inheritance dapat mengatasi problem priority inversion dengan mempertimbangkan konflik yang terjadi. Dengan protokol ini,

32 GEMATIKA JURNAL MANAJEMEN INFORMATIKA, VOLUME 9 NOMOR 1, DESEMBER 2007 jika terjadi permintaan lock terhadap transaction yang sedang memegang lock, maka lock tersebut (yang sedang memgang lock) mewarisi prioritas peminta lock tersebut sampai ia menye-lesaikan eksekusinya dan melepaskan lock. Karena terjadinya peningkatan prioritas pada transaction yang sedang memegang lock, maka ia menyelesaikan eksekusinya lebih awal dan mengurangi waktu blok untuk transaction yang memiliki prioritas tinggi. Kerugian yang paling besar dari protokol ini adalah waktu blok (blocking time) dari transaction yang memiliki prioritas tinggi bisa jadi dikurangi bahkan dalam durasi waktu yang tidak dapat diperkirakan. Problem menjadi lebih buruk lagi jika suatu tran-saction dengan prioritas tinggi diblok oleh tran-saction berprioritas rendah secara berulang sepan-jang eksekusinya sehingga akan terjadi suatu situasi yang disebut blok berantai (chained blocking). Permasalahan lainnya adalah transaction yang memiliki priorritas lebih rendah yang mewarisi prioritas tinggi akan berebut resource sistem (CPU, I/ O. objek-objek data) dengan transaction berprioritas tinggi, terjadinya peningkatan konflik ini dapat menurunkan kinerja sistem. Apabila transaction yang memiliki prioritas rendah hampir menyelesaikan eksekusi, ia mewarisi prioritas dari transaction yang memiliki prioritas tinggi untuk menghindari abort (pengguguran) dan pembuangan hasil dari resource. Sebaliknya bila transaction yang memiliki prioritas rendah digugurkan dan blocking time yang panjang terhadap transaction yang memiliki prioritas tinggi dapat dihindari. Suatu percobaan yang dilakukan oleh Huang menunjukkan bahwa priority inheritance yang tidak dimodifikasi tidak bekerja tanpa Conditional Priority Inheritance atau Priority abort. Dia mengemukakan bahwa I/O yang dibentuk untuk transaction yang memiliki prioritas rendah meng-akibatkan waktu tunggu yang berlebihan pada yang diblok, transaction yang memiliki prioritas tinggi, kecuali jika waktunya sedikit, misalnya transac- tion berprioritas rendah tersebut sudah hampir selesai. Protokol concurrency control lainnya yang didasarkan pada locking adalah protokol priority ceilling yang dikembangkan dari protokol priority inheritance untuk mengatasi deadlock dan bounding the blocking time dari transaction yang memiliki prioritas tinggi agar tidak terjadi lebih dari satu kali waktu eksekusi transaction. Protokol ini tidak dapat mengatasi semua problem yang terjadi karena priority inheritance, seperti potensi konflik yang besar. Misalnya bila ukuran objek-objek data sangat besar. Kelemahan lainnya adalah protokol Priority Ceilling mempersyaratakan harus diketahui sebelumnya objek-objek data yang diakses oleh setiap transaction, padahal belum tentu semua data tersebut tersedia. Optimistic Concurrency Control Optimistic concurrency control memanfaatkan bahwa rendahnya kemungkinan dua transaksi yang berjalan akan meminta objek database yang sama. Semua operasi database yang muncul oleh transaksi dibentuk ketika diminta permintaan write tidak segera merubah database yang dibu-tuhkan bersama tetapi ditunda sampai transaksi mencoba untuk commit. Sebelum suatu transaksi didizinkan untuk commit, ia harus melewati test validasi yang memeriksa dan memastikan bahwa tidak ada konflik di antara transaksi yang divalidasi dan transaksi yang telah commit sejak eksekusi dimulai. Validasi dapat

Kuspriyanto, Protokol Concurrency Control 33 dilakuakn dengan cara backward atau forward (Huang). Pada validasi backward, pengujian dilakukan terhadap objek-objek read oleh suatu transaction Tu yang sedang mencoba untuk commit. Jika objek tertentu ditulis oleh suatu transaction yang telah commit setelah Tu mulai eksekusi, Tu digugurkan, karena Tu harus diurutkan setelah transaction yang commit, tidak dapat melihat nilai baru dari objek ini karena semua write ditunda sampai waktu commit dalam protokol optimistic. Sementara pada forward validation, sekelompok item yang ditulis oleh Tu dibandingkan ke sekumpulan item read oleh suatu transaction yang aktif (belum commit). Jika ada suatu empty intersection, maka kesalahan serialisasi akan terjadi apabila semua transaction adalah commit. Dalam kasus ini, ada kemungkinan untuk memilih menggugurkan transaction Tu yang commit atau semua transaction yang konflik dengan Tu. Ada suatu pendekatan lain dari optimistic concurrency control yang dinamakan dengan optimistic concurrency control with Broadcast Commit (OCC with Broadcast Commit) yang digunakan untuk memperhitungkan prioritas transaksi. Apabila suatu konflik terdeteksi, maka prioritas dari transaksi-transaksi yang sedang konflik tersebut diuji. Di mana apabila transaksi yang commit mempunyai prioritas yang lebih tinggi dari semua transaksi yang lain maka transaksi yang sedang dieksekusi digugurkan. Namun pada beberapa kasus yang transaksi yang dieksekusi memiliki prioritas yang lebih tinggi, maka transaksi yang commit bisa jadi menunggu transaksi yang sedang dieksekusi sampai commit dengan transaksi tersebut tidak akan digugurkan oleh validasi dari beberapa transaksi yang lain. Priority wait mempunyai fitur-fitur positif, tetapi juga memiliki kerugian. Ketika suatu transaksi yang akhirnya commit setelah menunggu untuk beberapa lama, hal ini akan menyebabkan transaksi-transaksi yang konflik dan memiliki prioritas yang lebih rendah menjadi restarted pada waktu yang lebih mundur. Restart yang tertunda menurunkan peluang transaksi untuk memenuhi deadline-nya dan hasil-hasil di dalam sumber-sumber yang lebih terbuang. Selain itu transaksi yang divalidasi juga dapat menimbulkan konflik baru selama periode menunggunya. Timestamping Ordering Di samping protokol concurrency control PCC dan OCC yang telah dijelaskan tersebut terdapat juga pendekatan concurrency control lain yang lazim digunakan pada sistem database konvensional, yaitu timestamping ordering dan multiversion concurrency control. Timestamping ordering adalah pendekatan concurrency control yang menghindari penggunaan clock. Setiap transaction diberi sebuah timestamping pada saat memasuki sistem. Transationtransaction ini yang commit diurutkan dalam urutan timestamp. Suatu operasi read dan write yang tidak valid menyebabkan transaction tersebut diminta untuk digugurkan. Penjadwalan real-time database system tidaklah secara mudah dapat menerapkan timestamping karena order dalam suatu kumpulan transaction yang aktif masuk ke sistem tidak dihubungkan dengan prioritas real-time relatifnya dan deadline-nya. Ada suatu algoritma yang merupakan gabungan teknik timestamp dan optimistic concurrency control, dan melibatkan prioritas real-time dalam penentuan sebuah timestamp order di antara

34 GEMATIKA JURNAL MANAJEMEN INFORMATIKA, VOLUME 9 NOMOR 1, DESEMBER 2007 transaction-transaction. Selain itu, ada pula algoritma yang menggunakan gagasan alokasi dynamic timestamp ke pertimbangan secara dinamis order urutan dari tansaction-tansaction melalui penggunaan timestamp intervals. Transaction yang konflik dikelompokan menjadi kumpulan konflik reconcilably dan kumpulan konflik irreconcialably. Konflik reconcilably tidak digugurkan dan sebagai gantinya histori eksekusinya dipertimbangkan dengan menggunakan timestamp intervals. Protokol ini meningkatkan kemampuan untuk mendeteksi dan memecahkan konflik lebih awal dan menghindari pengguguran yang tidak perlu. Multiversion Concurrency Control Teknik lain dari concurrency control memperlakukan write operations, sebagai kreasi dari versi baru objek database yang berlawanan dengan semantic yang biasa diberikan pada updatein-place (locking) dan deferred-update (optimistic). Timestamp digunakan untuk menghasilkan versi yang tepat untuk read request. Teknik ini dinamakan dengan Multiversion Concurrency Control. Protokol Real-Time Concurrency Control Hasil Modifikasi Seperti telah disinggung pada bagian terdahulu, algoritma concurrency control konvensional secara garis besar dapat dikelompokan menjadi dua, yaitu Pesimistic Concurrency Control (PCC) dan Optimistic Concurrency Control (OCC). Algoritma PCC berusaha mencegah terjadinya konflik di antara transaksi-transaksi yang akan dieksekusi sementara algoritma OCC mengatasi konflik yang terjadi di antara transaksi-transaksi setelah taransaksi tersebut dijalankan dengan pengulangan kembali transaksi tersebut (restart). Kedua algoritma ini memiliki kelemahan bila dihadapkan pada RTDBS yang memberikan batasan waktu yang ketat pada eksekusi transaksi, sehingga yang menjadi parameter adalah jumlah transaksi yang dapat diselesaikan sebelum deadline-nya, bukan hanya maximum concurrency atau thruoghput saja. Untuk memenuhi kebutuhan aplikasi pada RTDBS telah dikembangkan modifikasi dari kedua kelompok algoritma concurrency control tradisional tersebut seperti Speculative Concurrency Control (SCC), Hybrid concurency control for the Nested model, dan 2-version Database Pointer concurency control. Speculative concurrency control Algoritma SCC menggabungkan kelebihan yang terdapat algoritma PCC dan OCC dan menghindari kelemahan yang terdapat pada kedua algoritma tersebut SCC bekerja mirip dengan PCC dalam hal pendeteksian secepat mungkin terhadap potensi konflik yang merugikan dan SCC juga serupa dengan OCC dalam hal menjalankan transaksi-transaksi yang konflik secara concurrently sehingga penundaan yang tidak perlu dapat dihindarkan karena dapat membahayakan komitmen waktu transaksi tersebut. SCC menggunakan redundancy untuk menjamin bahwa eksekusi yang dapat diserialisasikan ditemukan dan diadopsi sesegera mungkin sehingga terjadi peningkatan yang paling mungkin terhadap komitmen waktu dari transaksi-transaksi yang memiliki batasan waktu yang ketat. Oleh karena itu, aplikasi algoritma SCC mempersyaratkan tersedianya kapasitas yang cukup dalam sistem. Hal ini dibutuhkan untuk menampung tambahan/le-

Kuspriyanto, Protokol Concurrency Control 35 dakan beban sementara yang berat karena redundancy. Tidak sama dengan cara algoritma PCC dan OCC dalam penanganan konflik di antara transaksitransaksi, SCC mendeteksi konflik segera setelah konflik tersebut terjadi dan segera pula mengatasinya dengan menggunakan komputansi redundasi spekultatif (speculative redundat computations). Pendekatan SCC dapat dijelaskan melalui Gambar 1. Ketika transaksi T 2 meminta untuk membaca data x, terjadi konflik antara transaksi T 1 dan T 2 karena T 1 sedang melakukan update terhadap data tersebut. Apabila pada protokol PCC yang secara pesimis memblok T 2 setelah melakukan pengecekan sebelumnya dan pada protokol OCC yang secara optimis mengetahui konflik dan mengulang kembali transaksi T 2 yang telah dijalankan tersebut (restart), maka pendekatan SCC membuat copy (shadow) dari transaksi baca T 2. Transaksi baca T 2 yang asli tetap terus dijalankan tanpa diinterupsi sedangkan shadow transaction T 2 diulang kembali (restart) pada sebuah prsesor yang berbeda dan dimungkinkan dijalankan secara concurrent. Dengan kata lain dua versi dari transaksi yang sama dijalankan secara paralel masing pada T1 T2 T 2 S Wx V/C S Rx A S Rx V/C waktu Gambar 1 Penjadawalan dengan Pendekatan SCC T2 Deadline point eksekusi yang berbeda. Jadi satu diantara kedua transaksi tersebut akan commit dan yang lain digugurkan. Hybrid Concurrency Control for the Nested model Selain algoritma Speculative Concurrency Control (SCC) untuk mengatasi kelemahan yang terdapat pada PCC dan OCC juga telah dikembangkan Hybrid Concurrency Control for the Nested model. Pada algoritma ini transaction tree diserialisasikan dengan dengan transaksi yang lain menggunakan algoritma optimistic (OCC), tetapi transaksi pada tree yang sama diserialisasikan menggunakan algoritma pesimistic (PCC). Pada transaksi Nested Model berlaku ketentuan bahwa setiap transaksi terdiri dari sejumlah subtransaksi dan masing-masing subtransaksi bisa jadi terdiri atas sejumlah subtransaksi lagi. Suatu subtransaksi dijalankan setelah parent dari subtransaksi tersebut dijalankan dan berakhit sebelum parent-nya berakhir. Suatu transaksi tidak dapat commit sebelum semua subtransaksinya berakhir. Kemudian apabila subtransaksi gagal, parent tidak harus digugurkan tetapi dimungkinkan untuk mencari pemecahannya yang dapat dilakukan apabila parent mengenal kondisi, memilih untuk mencoba kembali subtransaksi, menginisiasi substransaksi lain yang mengimplementasikan suatu tindakan alternatif dan menggugurkan. Tetapi pada Hybrid Concurrency Control for the Nested model yang dikembangkan oleh Ekaterina Pavlova dan Igor Nekrestyanov semua subtransaksi diperlakukan memiliki tingkat derajat yang sama sehingga apabila subtransaksi gagal parent juga mengulang kembali (restart) subtransaksinya itu. Pengulangan kembali (restart) transaksi terjadi

36 GEMATIKA JURNAL MANAJEMEN INFORMATIKA, VOLUME 9 NOMOR 1, DESEMBER 2007 apabila satu atau lebih subtransaksi tidak melanggar deadline. Hybrid Concurrency Control for the Nested model bekerja berdasarkan interaksi dari dua jenis manager transaksi. Satu manager menggunakan strategi optimistic dan yang lain menggunakan strategi pesimistic. Semua transaction tree yang baru dikontrol oleh manager optimistic dan selanjutnya diteruskan ke manager pesimistic. Manager pesimistic mengontrol eksekusi transaksi pada satu tree sampai semuanya commit. Teknik ini memungkinkan manager pesimistic yang terpisah untuk setiap transaction tree atau manager pesimistic yang sama akan mengontrol semua tree. Dan juga memungkinkan secara simultan manager-manager pesimistic yang berbeda. Penentuan jenis manager pesimistic tersebut dibuat oleh manager optimistic sesuai dengan tipe transaksi yang baru. SIMPULAN Algoritma concurrency control konvensional yang secara garis besar dikelompokan menjadi pesimistic concurrency control (PCC) dan optimistic concurrency control (OCC) tidak dapat memenuhi kebutuhan Real-Time Database System (RTDBS) karena tidak dapat memenuhi ketentuan pembatasan waktu yang ketat (deadline). Modifikasi dari kedua algoritma konvensional tersebut telah menghasilkan berbagai protokol concurrency control yang dapat memenuhi kebutuhan RTDBS. Akan tetapi masih tetap memiliki kelemahan pada setiap algoritmanya. Seperti algoritma Speculative Concurrency Control (SCC) membutuhkan resource yang banyak untuk memenuhi kebutuhan rudundancy dan algoritma Hybrid Concurrency Control for the Nested model belum menentukan batasan tipe algoritma pesimistic dan optimistic yang dapat digunakan untuk memungkinkan pemilihan yang terbaik sesuai dengan fitur-fitur yang spesifik dari suatu sistem. Demikian pula algoritma-algoritma lainnya. Masih dibutuhkan riset lebih lanjut untuk mengembangkan algoritma yang ada atau menemukan algoritma baru sehingga didapatkan suatu algoritma yang lebih optimal untuk aplikasi RTDBS. RUJUKAN Abbott, R, and Molina, HG. 1988. Schedulling Real-time Transaction: a Performance Evaluation. Princeton: Departement of Computer Science, Princeton University NJ 08544. Braudakis, S. 1995. Concurrency Control Protocol for Real-Time Database, Boston: University Graduate School. Krishna, C. M., and Kang G. Shin,.Real-Time Systems, : The McGraw-Hill. Krzyzagorsky, P.. Concurrency Control in Real-Time Database System.Poland: Poznan University of Technology, Institut of Computing Science. Lindstrom, Jan dan Kimmo Raatikainen. 2000.Using Real- Time serializability and Optimistic Concurrency Control in Firm Real-Time Database. Finland.University of Helsinki, Departement of Computer Science, P.O. Box 26 (Teollisuuskatu 23), FIN-00014 University of Helsinki. Nystrom, D, Nolin, M, Tesanovic, A, Norstrom, C, dan Hansson, J.. Pessimistic Concurrency Control and Versioning to Support Database Pointers in Real-Time Database.Sweden: Malardedalen University, Malardalen Real-Time Research Centre, Vasteras, Swedwen dan Linkoping University, Dept. Of Computer Science. Son, SH.. Advances In Real-Time Systems.England Cliffs. Prentice Hall. NJ 07632.