Rabu, 20 Mei 2015

Pemrosesan Terdistribusi

Sistem terdistribusi adalah sebuah sistem yang komponennya berada pada jaringan komputer. Komponen tersebut saling berkomunikasi dan melakukan koordinasi hanya dengan pengiriman pesan.

Sistem terdistribusi diperlukan untuk alasan-alasan sbb :
* Performance
Sekumpulan prosesor dapat menyediakan kinerja yang lebih tinggi daripada komputer yang terpusat
* Distribution
Banyak aplikasi yang terlibat, sehingga lebih baik jika Dipisah dalam mesin yang berbeda (contoh: aplikasi perbankan, komersial)
* Reliability
Jika terjadi kerusakan pada salah satu mesin, tidak akan mempengaruhi kinerja system secara keseluruhan
* Incremental Growth
Mesin baru dapat ditambahkan jika kebutuhan proses meningkat
* Sharing Data/Resource
Resource adalah:
– Segala hal yang dapat digunakan bersama dalam jaringan komputer.
– Meliputi hardware (e.g. disk, printer, scanner), juga software (berkas, basis data, obyek data).
* Communication
Menyediakan fasilitas komunikasi antar manusia

Contoh Sistem Terdistribusi
•Internet
•Mobile Computing
•Sistem Otomasi Bank
•Deteksi Roaming Pada Telepon Seluler
•GPS (Global Positioning System)
•Retail Point-of-Sale Terminals

Ancaman keamanan yang mungkin timbul pada sistem terdistribusi :
• Leakage (Kebocoran) : pengambilan informasi oleh penerima yang tidak berhak
• Tampering : pengubahan informasi yang tidak legal
• Vandalism (perusakan) : gangguan operasi sistem tertentu. 

Keuntungan dari Manajemen Database Terdistribusi?
1. Pengawasan distribusi dan pengambilan data 
Jika beberpa site yang berbeda dihubungkan, seorang pemakai yang berada pada satu site dapat mengakses data pada site lain. 
Contoh : sistem distribusi pada sebuah bank memungkinkan seorang pemakai pada salah satu cabang dapat mengakses data cabang lain. 
2. Reliability dan availability 
Sistem distribusi dapat terus menerus berfungsi dalam menghadapi kegagalan dari site sendiri atau mata rantai komunikasi antar site. 
3. Kecepatan pemrosesan query 
Contoh : jika site-site gagal dalam sebuah sistem terdistribusi, site lainnya dapat melanjutkan operasi jika data telah direplikasi pada beberapa site. 
4. Otonomi lokal 
Pendistribusian sistem mengijinkan sekelompok individu dalam sebuah perusahaan untuk melatih pengawasan lokal melalui data mereka sendiri. Dengan kemampuan ini dapat mengurangi ketergantungan pada pusat pemrosesan. 
5. Efisiensi dan fleksibel 
Data dalam sistem distribusi dapat disimpan dekat dengan titik diman data tersebut dipergunakan. Data dapat secara dinamik bergerak atau disain, atau salinannya dapat dihapus. 

 Tujuan replikasi file pada sistem terdistribusi :
Untuk meningkatkan unjuk kerja dan ketersediaan (availability) sistem. Unjuk kerja sistem terdistribusi ditingkatkan melalui pembagian beban (Load Sharing) dimana beban pelayanan berkas didistribusikan pada beberapa lokasi. Hal tersebut dimungkinkan karena lokasi-lokasi tersebut menyimpan replikas berkas yang sama. Derajat ketersediaan sistem lebih tinggi dibandingkan dg sistem tanpa replikasi. Jika salah satu atau beberapa subsistem terdistribusi dimana berkas tersebut berada mengalami kegagalan, sistem tetap tersedia dg syarat paling sedikit terdapat satu replika berkas tak mengalami kegagalan. 

Kriteria pada pemrosesan terdistribusi :
Pemprosesan terdistribusi dapat dikelompokkan berdasarkan beberapa kriteria :
a. Degree of Computing (Tingkat Hubungan) : tinggi atau rendah,jumlah data 
yg saling digunakan dibandingkan dengan jumlah pemprosesan lokal
b. Struktur antar Hubungan : kuat atau lemah, jika komponen di share dikatakan kuat?
c. Kesalingketergantungan komponen-komponen. kuat atau lemah dalam mengeksekusi proses
d. Keselarasan antar komponen : selaras atau tidakselaras?

Yang diperlukan untuk pengaksesan resource dalam sistem terdistribusi!
Pengaksesan resource pada sistem terdistribusi yang memerlukan : 
* Nama resource (untuk pemanggilan) 
* Alamat (lokasi resource tersebut) 
* Rute (bagaimana mencapai lokasi tersebut) 

Tujuan name service pada sistem terdistribusi!
* Identifikasi 
Seorang pemakai menginginkan obyek / layanan A, bukan obyek / layanan B. 
* Memungkinkan terjadinya sharing 
Lebih dari satu pemakai dapat mengindentifikasikan resource dengan nama yang sesuai (tidak harus nama yang sama). 
* Memungkinkan location independence : 
Perubahan lokasi tidak menuntut perubahan nama, asalkan lokasi tidak menjadi bagian dari nama resource tersebut. 
* Memberikan kemampuan keamanan (security) 
Jika sebuah nama dipilih secara acak dari himpunan besar integer, maka nama tersebut hanya bisa diketahui dari legitimate source, bukan dari menebak. Jadi jika seseorang mengetahui nama obyek tersebut, maka dia memang diberitahu, karena sulit sekali menebak nama tersebut. 

Tiga contoh jenis sistem operasi terdistribusi
• LINUX
• UNIX
• AMOEBA

Keuntungan dan kelemahan dari remote procedure call
Kelebihan RPC
• Relatif mudah digunakan
Pemanggilan remote procedure tidak jauh berbeda dibandingkan pemanggilan local procedure. Sehingga pemrogram dapat berkonsentrasi pada software logic, tidak perlu memikirkan low level details seperti soket, marshalling & unmarshalling.
• Robust (Sempurna)
Sejak th 1980-an RPC telah banyak digunakan dlm pengembangan mission-critical application yg memerlukan scalability, fault tolerance, & reliability.
Kekurangan RPC
• Tidak fleksibel terhadap perubahan
- Static relationship between client & server at run-time.
- Berdasarkan prosedural/structured programming yang sudah ketinggalan jaman dibandingkan OOP.
• Kurangnya location transparency
- Misalnya premrogram hanya boleh melakukan pass by value, bukan pass by reference.
- Komunikasi hanya antara 1 klien & 1 server (one-to-one at a time).
- Komunikasi antara 1 klien & beberapa server memerlukan beberapa koneksi yg terpisah.

Sumber :
www.infomugi.com