PENGANTAR SISTEM TERDISTRIBUSI
(PART 2)
A. Tantangan Sistem Terdistribusi
1. Heterogen (terhadap)
- Infrastruktur jaringan
- Hardware dan software (sistem operasi, perbedaan UNIX socket dan Winsock).
- Bahasa pemrograman
- Beberapa pendekatan:
--> Middleware (contoh: CORBA).
--> Kode program Mobile (contoh: JAVA)
2. Openness
- Memastikan sistem dapat diperluas dan mudah dalam pemeliharaan.
- Mengikuti standard antarmuka.
3. Security
- Privacy
- Authentication - Availability (enkripsi).
4. Scalability
- Apakah sistem masih efektif dan handal dalam perkiraan pertumbuhannya ?
- Cost (biaya) penambahan sumber daya (resources) harus reasonable.
- Penurunan kinerja diakibatkan oleh penambahan user atau sumber daya harus terkontrol.
5. Penanganan Kegagalan
- Pendeteksian.
- Masking:
--> Transmisi ulang
--> Redudansi penyimpanan data
- Toleransi:
--> Exception handling
- Redudancy:
--> Redudancy rute jaringan.
--> Replikasi data pada beberapa mesin.
6. Concurrency
- Penjadwalan yang konsisten terhadap concurrent thread.
- Menghindari masalah deadlock dan lifelock.
7. Transparency
- Menyembunyikan keanekaragaman (heterogeneous) dan tersebarnya sistem, sehingga tampak sebagai satu sistem bagi user.
- Kategori Transparency (ISO's Reference Model for ODP):
--> Access
- Menyembunyikan penggunaan komunikasi untuk mengakses remote resource sehingga user beranggapan bahwa semua resource adalah lokal.
- Contoh: Pemetaan drive menggunakan Samba Server, NFS
--> Location
- User tidak perlu mengetahui lokasi dari remote resources
--> Concurrency
- User tidak peduli keberadaan paralel akses ke remote resource dan inkonsistensi dihindari dengan menggunakan mekanisme concurrency control.
--> Replication
- Menyembunyikan perbedaan antara layanan replicated dan non-replicated.
--> Failure
- Menyembunyikan pengaruh partial fail. Hal ini dicapai dengan cara replikasi resources dan menerapkan mekanisme recovery.
--> Migration/Mobility
- Kemampuan untuk melakukan relocate resource secara dinamik tanpa kekuatiran rekonfigurasi ulang dari user.
--> Performance
- Meminimalkan tambahan performance dalam menggunakan remote resource, sehingga respon time dan throughput sebanding dengan ketika mengakses rescource secara lokal.
--> Scaling
- Menyembunyikan variasi dalam melakukan sistem ketika dilakukan perubahan scope atau skala sistem. Scaling seharusnya tidak memerlukan perubahan besar untuk struktur sistem dan operasi untuk mengakomodasi perubahan skala tersebut. Skala diukur dalam hal kecepatan (slow to fast), size (small to large), geograpgical scope (local or remote).
0 Comments