PROSES TIME AND COORDINATION
a. Pengetahuan Logical Clock & Synchronisation
Logical Clock
Logical clock adalah software counter yang bertambah
secara monoton dimana nilainya tidak perlu menanggung hubungan tertentu ke
suatu physical clock.
Hampir seluruh
komputer memiliki sebuah circuit untuk menunjukkan waktu. Pada
kenyataannya circuit tersebut bukanlah penunjuk waktu (jam) yang
sebenarnya. Kata yang tepat untuk mendeskripsikan circuit tersebut
adalah timer. Timer pada suatu komputer pada umumnya merupakan suatu
crystal quartz yang termekanisasi. Jika dihadapkan pada suatu tekanan, kristal
tersebut akan berosilasi pada frekuensi tertentu bergantung pada jenis kristal
dan bagaimana kristal tersebut dipotong serta seberapa besar tekanan yang diberikan.
Terdapat 2 register yang berasosiasi dengan kristal tersebut. Sebuah counter
dan holding register. Setiap interript akan diregenerasi dan counter akan
kembali terisi oleh nilai yang terdapat pada holding register. Dengan begini
sangat memungkinkan untuk memrogram sebuah timer untuk meregenerasi 60
interrupt tiap detiknya atau sesuai dengan frekuensi yang diinginkan. Setiap
interrupt disebut dengan satu clock
tick.
Synchronisation
Sinkronisasi adalah proses pengaturan
jalannya beberapa proses pada saat yang bersamaan. Secara garis besar mungkin
sinkronisasi adalah menyamakan sesuatu secara bersamaan. Sinkronisasi adalah
suatu proses pengendalian akses dari sumber daya terbagi pakai (shared
resource) oleh banyak thread sedemikian sehingga hanya satu thread yang dapat
mengakses sumber daya tertentu pada satu waktu.
b. Proses Koordinasi pada sistem Terdistribusi
Sistem tedistribusi memungkinkan kita untuk saling mengkoordinasikan dan
saling bekerja sama dalam melakukan aktifitas secara lebih efisien dan lebih
efektif. Tujuan utama dari system terdistribusi dapat direpresentasikan dengan :
resource sharing , openness, concurrency, scalability, fault-tolerance dan
transparency.
Proses koordinasi nya
·
Dijalankan secara bersamaan (execute concurrently)
·
interaksi untuk bekerjasama dalam mencapai tujuan yang sama
·
mengkoordinasikan aktifitas dan pertukaran informasi yaitu pesan
yang dikirim melalui jaringan komunikasi
Jika kita melihat sistem terdistribusi sebagaikoleksi (mungkin proses
multithreaded, maka bagian komputasi dari sistem terdistribusi dibentuk oleh
proses, masing-masing terkait dengan aktivitas komputasi spesifik, yang pada
prinsipnya, dilakukan secara independen dari kegiatan lainnya proses. Dalam
model ini, bagian koordinasi sistem terdistribusi menangani komunikasi
kerjasama antara proses. Membentuk perekat yang mengikat kegiatan yang
dilakukan oleh proses menjadi keseluruhan.
c. Perbedaan Model Sinkronisasi dan Asinkronisasi
Sistem basis
data terdistribusi dapat menyimpan duplikat dari data yang sama dalam site yang
berbeda agar perolehan informasi yang semakin cepat dan toleransi kesalahan.
Proses ini disebut replikasi. Replikasi pada relasi bersifat redundan pada dua
atau lebih situs. Replikasi pada relasi disebut replikasi penuh bila relasi
tersebut disimpan pada semua situs. Basis data disebut redundan penuh jika
tiap-tiap site mengandung duplikat dari keseluruhan basis data.
Replikasi
dilakukan karena memiliki kelebihan sebagai berikut:
- jika situs asli yang menyimpan relasi R mengalami kegagalan, relasi R tetap dapat diakses melalui replikanya
- query pada relasi R dapat berjalan secara paralel di simpul (situs) yang berbeda
- lebih sedikit transfer data, yaitu tidak perlu lagi mengambil data suatu relasi melalui jaringan karena sudah ada replika dalam situs lokal.
Sementara itu,
dalam melakukan replikasi, ada dua strategi, yaitu
- sinkron yaitu: sebelum seluruh proses transaksi update dinyatakan selesai, data yang telah dimodifikasi disinkronkan ke setiap duplikatnya; proses ini harus menunggu hingga data di tempat penyimpanan duplikat selesai ditulis sebelum dilakukan perubahan lainnya sehingga menjadi lebih kompleks
- asinkron yaitu: copy data diperbaharui secara periodik berdasarkan data utama yang diperbaharui; proses penulisan data selesai tanpa perlu menunggu penulisan data di tempat penyimpanan duplikat selesai; proses ini memang meningkatkan kinerja sistem namun risikonya, inkonsistensi data bisa terjadi.
SHARE DATA
a. Konsep dan operasi Shared Data antara server dan client
Dalam sistem terdistribusi,
beberapa komputer yang berbeda saling terhubung satu sama lain melalui jaringan
sehingga komputer yang satu dapat mengakses dan menggunakan sumber daya yang
terdapat dalam situs lain. Misalnya, user di komputer A dapat
menggunakan laser printer yang dimiliki komputer B dan sebaliknya user
di situs B dapat mengakses file yang terdapat di komputer A.
Konsep Sharing Client – Server
Jaringan client
atau server adalah jaringan
dimana komputer client bertugas melakukan permintaan data dan server
bertugas melayani permintaan tersebut.
Client
Ø User akan membuat permintaan melalui
software client. Aplikasi ini berfungsi :
Ø Memberikan interface bagi user untuk
melakukan jobs.
Ø Format request data ke bentuk yang
dapat dimengerti oleh server
Ø Menampilkan hasil yang diminta pada
layar
Server
Jaringan client
atau server, server khusus digunakan untuk pemrosesan, penyimpanan dan manajemen
data. Server bertugas menerima request dari client, mengolahnya, dan
mengirimkan kembali hasilnya ke client.
Untuk itu,
server membutuhkan komputer khusus dengan spesifikasi hardware yang jauh lebih
baik dan bertenaga dibandingkan hardware untuk client karena komputer harus
mampu melayani :
Ø Request secara simultan dalam jumlah
besar
Ø Aktivitas manajemen jaringan
Ø Menjamin keamanan pada resource
jaringan
b. Proses Layanan pada Saat Terjadi Crash
atau Fault Tolerance & Data Transaction dan Urutan Operasi yang Dijalani
Oleh Server
Sebuah
kecelakaan (atau sistem crash) dalam komputasi adalah suatu kondisi di mana
sebuah komputer atau program, baik aplikasi atau bagian dari sistem operasi,
berhenti berfungsi dengan baik, sering keluar setelah menghadapi kesalahan.
Seringkali program menyinggung mungkin muncul untuk membekukan atau hang sampai
layanan pelaporan kecelakaan dokumen rincian kecelakaan itu. Jika program
adalah bagian penting dari kernel sistem operasi, seluruh komputer dapat kecelakaan.
Hal ini berbeda dari hang atau membekukan dimana aplikasi atau OS terus
berjalan tanpa respon jelas untuk masukan.
Banyak crash
adalah hasil dari eksekusi instruksi mesin tunggal, tetapi penyebab ini
berlipat ganda. Penyebab khas adalah ketika program counter diatur ke alamat
yang salah atau buffer overflow menimpa sebagian kode program karena bug
sebelumnya. Dalam kedua kasus, itu cukup umum untuk prosesor untuk mencoba
untuk mengeksekusi data atau nilai memori acak. Karena semua nilai data adalah
mungkin tetapi hanya beberapa nilai instruksi valid, ini sering mengakibatkan
pengecualian instruksi ilegal.
C. Konsep Dasar Replication
Replikasi
adalah suatu teknik untuk melakukan copy dan pendistribusian data dan
objek-objek database dari satu database ke database lain dan melaksanakan
sinkronisasi antara database sehingga konsistensi data dapat terjamin. Dengan
menggunakan teknik replikasi ini, data dapat didistribusikan ke lokasi yang
berbeda melalui koneksi jaringan lokal maupun internet. Replikasi juga memungkinkan
untuk mendukung kinerja aplikasi, penyebaran data fisik sesuai dengan
penggunaannya, seperti pemrosesan transaksi online dan DSS (Desiscion Support
System) atau pemrosessan database terdistribusi melalui beberapa server.
Replikasi adalah proses menyalin dan memelihara objek database dalam beberapa database yang membentuk suatu sistem database terdistribusi. Replikasi dapat meningkatkan kinerja dan melindungi ketersediaan aplikasi karena data pilihan alternatif akses ada. Sebagai contoh, sebuah aplikasi biasanya dapat mengakses database lokal daripada server jauh untuk meminimalkan lalu lintas jaringan dan mencapai kinerja maksimum. Selanjutnya, aplikasi dapat terus berfungsi jika server lokal mengalami kegagalan, tetapi server lain dengan data direplikasi tetap dapat diakses.
Replikasi adalah proses menyalin dan memelihara objek database dalam beberapa database yang membentuk suatu sistem database terdistribusi. Replikasi dapat meningkatkan kinerja dan melindungi ketersediaan aplikasi karena data pilihan alternatif akses ada. Sebagai contoh, sebuah aplikasi biasanya dapat mengakses database lokal daripada server jauh untuk meminimalkan lalu lintas jaringan dan mencapai kinerja maksimum. Selanjutnya, aplikasi dapat terus berfungsi jika server lokal mengalami kegagalan, tetapi server lain dengan data direplikasi tetap dapat diakses.