Jumat, 19 Desember 2014

Model Sinkronisasi Dan Asinkronisasi Pada Sistem Terdistribusi



   1.Apa yang kalian ketahui tentang model sinkronisasi dan asinkronisasi pada sistem terdistribusi?

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.

Sistem Asynchronous - seperti object-oriented software - biasanya dibuat dari modular 'benda keras', masing-masing dengan komunikasi yang terdefinisi dengan baik antarmuka. Ini modul dapat beroperasi pada kecepatan variabel, apakah karena pengolahan data-dependent, skala tegangan dinamis , atau variasi proses . Modul kemudian dapat digabungkan bersama-sama untuk membentuk suatu sistem kerja yang benar, tanpa mengacu pada global sinyal clock . Biasanya, daya rendah diperoleh karena komponen diaktifkan hanya pada permintaan. Selain itu, beberapa gaya asynchronous telah terbukti untuk mengakomodasi antarmuka clock, dan dengan demikian mendukung desain campuran-waktu. Oleh karena itu, sistem asynchronous cocok dengan baik kebutuhan yang benar-by-konstruksi metodologi dalam perakitan sistem heterogen dan scalable skala besar.


         2Buatlah contoh dari model sinkronisasi pada komputer dalam bidang apa saja!

Pada sinkronasi contohnya digunakan pada floopy, artinya ketika anda menyalin sebuah file ke floopy, perubahan secara fisik langsung ditulis ke floppy saat anda memberikan perintah copy
Dengan contoh diatas, opsi ini membuat proses penyalinan ke floopy mungkin dilakukan jauh setelah perintah copy anda berikan. Hal ini tidaklah buruk, bahkan terkadang menjadi pilihan, dikarenakan misalnya jika anda memindahkan floopy tanpa melakukan unmounting terlebih dahulu, file-file yang disalin mungkin secara fisik belum masuk ke dalam floopy tersebut.

Fault Tolerance,Data Transaction dan Replikasi

FAULT TOLERANCE

Salah satu tujuan dalam membangun sebuah system terdistribusi adalah memungkinkan untuk melakukan improvisasi terhadap kehandalan sistem. Ini dilakukan karena setiap system pasti akan menemukan kesalahan atau gangguan. Sehingga perlu untuk dibuat pencegahan atau solusi untuk mengatasi masalah tersebut. Availability: kalau mesin mati (down), sistem tetap harus berjalan dengan jumlah layananan yang tersisa. Dalam suatu sistem terdistribusi komponen dalam system yang sangat vital terutama pada resources (critical resources) berjumlah seminimal mungkin. Yang dimaksud dengan critical resources adalah komponen dalam system yang harus ada untuk menjalankan sistem terdistribusi.
Secara umum, ada dua jenis fault tolerant, yaitu fault tolerant secara hardware dan secara software. Untuk itu, masing – masing Software dan Hardware harus di replikasi. Sehingga kalau terjadi kegagalan / error maka yang lain akan menangani. Data dalam sistem terdistribusi tidak boleh hilang, oleh karena itu copy dari data atau resource lainnya tersebut disimpan secara redundan pada server lain, tapi tetap harus dijaga konsistensi datanya. Hal ini memang berkaitan dengan replikasi. Dengan membuat system terdistribusi yang fault tolerance maka Sistem harus bisa mendeteksi kegagalan dan melakukan tindakan dasar sebagai berikut:
1.Mask the fault (menutupi kegagalan): tugas harus dapat dilanjutkan dengan menurunkan kinerja tapi tanpa terjadi kehilangan data atau informasi.
2.Fail Gracefully: membuat suatu antisipasi terhadap suatu kegagalan ke suatu prosedur yang telah di rencanakan dan memungkinkan untuk menghentikan proses dalam waktu yang singkat tanpa menghilangkan  informasi atau data.
Data Transaction
Adalah transaksi pengiriman ( Send – Request ) ke sebuah Server-Host  dengan alamat IP / IP adress  dengan Format ( Protokol ) Server-Host tersebut dengan harapan Server-Host melakukan apa yang pengirim Inginkan dalam hal ini Server-Host atau Client. Sebagai Contoh :    Server – Host A atau Client mengirim sebuah data kepada Server – Host B, Pengirim menginginkan  sebuah data xxx agar di proses oleh Server-Host – B lalu memberikan informasi dsb ke pada Pengirim dalam hal ini ( Server – Host A atau Client ). Pada contoh di atas tentu pengirim harus tahu kemana akan di kirim, yah itulah butuhnya sebuah ip address, dengan ip adress tentu data yang kita kirim akan sampai ke tujuan yang kita inginkan, pengiriman data dengan TCP/IP adalah baik,  karena dengan konsep protokol TCP/IP data yang kita kirim pasti sampai kepada tujuan yang tepat, keculi memakai protokol UDP alias broadcast

REPLIKASI

Dalam suatu system terdistribusi perlu adanya transparasi replikasi yaitu Sistem bebas untuk menambah file atau sumber daya tanpa diketahui oleh user (dalam rangkan meningkatkan kinerja). Salah satu segi kehandalan yang diperlukan di dalam sistem terdistribusi adalah replikasi berkas. Sebuah berkas yang direplikasi berarti memiliki beberapa replika berkas yang terletak di lokasi yang berbeda. Sifat yang harus dipelihara oleh replikasi adalah tetap dipandangnya replika-replika berkas oleh pemakai sebagai sebuah berkas tunggal (replication transparency). Tujuan replikasi berkas pada sisem terdistribusi adalah untuk meningkatkan unjuk kerja dan ketersediaan (availability) system.
Selain itu ada yang menyebutkan bahwa 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. Dengan replication dasar, replika data memberikan akses read-only ke tabel data yang berasal dari sebuah situs (master) primer.Aplikasi dapat query data dari replika data lokal untuk menghindari akses jaringan terlepas dari ketersediaan jaringan.Namun, aplikasi di seluruh sistem harus mengakses data pada situs utama ketika pembaruan diperlukan.
Keuntungan dan kerugian dari replikasi
 – Availability : jika satu site yang berisi relasi r gagal, relasi r masih didapat di site yang lain. Sistem dapat melanjutkan proses meskipun satu site mengalami kegagalan.
 – Meningkatkan parallel : beberapa site dapat memproses query terhadap r secara parallel. Semakin banyak ada replikasi, semakin besar kesempatan data yang dibutuhkan ditemukan pada site dimana transaksi dijalankan. Replikasi data meminimalkan pergerakan data di antara site.
 – Meningkatkan overhead update: sistem harus memastikan bahwa semua replikasi dari relasi r konsisten. Karena kalau tidak, akan terjadi kesalahan komputasi. Di mana pun r di-update, update ini harus disebar ke seluruh site. replikasi meningkatkan kinerja operasi baca dan meningkatkan availability pembacaan data. Transaksi update meningkatkan overhead. Masalah pengontrolan konkurensi update data yang direplikasi semakin kompleks dari pendekatan terpusat. Cara sederhana adalah membuat salinan utama dari r. Misal : di sistem perbankan, rekening dapat dihubungkan dengan site dimana rekening tersebut dibuka.
2.Fail Gracefully: membuat suatu antisipasi terhadap suatu kegagalan ke suatu prosedur yang telah di rencanakan dan memungkinkan untuk menghentikan proses dalam waktu yang singkat tanpa menghilangkan  informasi atau data.