1 Pengantar Sistem Terdistribusi DEFINISI Sebuah sistem dimana komponen software atau hardware-nya terletak di dalam jaringan komputer dan saling berk...
DEFINISI • Sebuah sistem dimana komponen software atau hardware-nya terletak di dalam jaringan komputer dan saling berkomunikasi menggunakan message pasing • Sebuah sistem yang tersusun oleh dua atau lebih komputer dan memiliki koordinasi proses melalui pertukaran pesan sinkron atau asinkron
1
DEFINISI • Kumpulan komputer independent yang tampak oleh user sebagai satu sistem komputer • Kumpulan komputer autonom yang dihubungkan oleh jaringan dengan software yang dirancang untuk menghasilkan fasilitas komputasi terintegrasi
Jaringan Komputer vs Sistem Terdistribusi
• Jaringan komputer:
– Komputer otonom yang secara eksplisit terlihat
• Sistem terdistribusi: – Komputer otonom transparan – Memiliki lebih banyak masalah
2
Alasan: • Distribusi Fungsi: – Client/server – Data colecting/data processing
• Distribusi beban: – Pembagian beban prosesing ke beberapa prosesor
• Replikasi Kekuatan: – Kumpulan PC memiliki kekuatan yang lebih besar dari super komputer
Alasan: • Pemisahan Fisik: – Untuk kehandalan atau redundancy sistem
• Ekonomis: – Kumpulan mikroprosesor memberikan harga/unjuk kerja yang lebih baik dibandingkan dengan mainframe
3
Masalah: • Software: – Tingkat kesulitan lebih tinggi dalam merancang program dalam DS
• Ketergantungan pada infrastruktur jaringan (World Wide Wait…) • Kemudahan akses sumber daya memunculkan masalah keamanan
Contoh DS: Internet
4
Contoh DS: Intranet
Contoh DS: • Manajemen Jaringan • Network File Systems • WWW
5
Tantangan: • Heterogenitas: – Jaringan – Hardware – Software – Language
• Solusi: – CORBA – RMI
Tantangan: • Openness: – Mengikuti standard interface
Tantangan: • Fault handling: – Detection – Retransmission – Redundancy • Rute • Replikasi data pada bbrp mesin
• Concurrency: – Penjadwalan – Deadlock avoidance
Tantangan: • Transparancy: – Menyembunyikan keragaman sistem • Access: user menganggap bahwa semua resource adalah lokal – Ex: pemetaan drive Samba server, NFS
• Location: user tidak perlu mengetahui lokasi resurce • Concurrency: user tidak perlu mengetahui keberadaan sistem paralel • Replication: user tidak perlu mengatur replikasi data
7
Tantangan: • Migration/mobility: kemampuan melakukan relokasi sumber daya tanpa konfigurasi ulang oleh user • Performance: perbedaan kinerja komponen sistem tidak perlu diketahui user • Failure: user tidak perlu mengetahui kegagalan dan recovery sistem
Contoh Transparency: • http://www.google.com – Dimana lokasi fisiknya? – Tersebar dalam server farm?
• Pengguna HP tetap dapat berkomunikasi tanpa putus walaupun berpindah lokasi • Akses ke tabel yang sama oleh beberapa user sekaligus
8
Contoh Transparency: • Replikasi yahoo web server ke beberapa lokasi geografis yang lebih dekat dengan user • User tidak mengetahui kapan data dipindah dari disk ke memori
Scalability Problem: • Masalah kinerja yg disebabkan oleh kapasitas server dan jaringan • Tiga scaling teknik: – Hiding communication latency – Distribusi – Replikasi
9
Hiding communication latency
Distribusi:
10
Replikasi:
Multiprocessor • Sebuah komputer dengan bbrp prosesor • Semua prosesor mengakses memori yang sama • Lebih sulit dibuat • Interkoneksi lebih cepat
11
Multiprosesor dengan caching
Multiprosesor dengan switch
12
Multicomputer • Beberapa PC terhubung dengan jaringan • Setiap CPU punya memori sendiri • Lebih mudah dibangun • Interkoneksi lebih lambat
Multicomputer berbasis switch
13
Sistem Multikomputer Heterogen • Paling banyak digunakan dalam DS • Berbeda: – Prosesor – Memori – I/O Bandwidth – Jaringan
Contoh Distributed Computing • BOINC: Berkeley Open Infrastructure for Network Computing • Climateprediction.net: predikisi iklim Bumi • Orbit@home: simulasi orbit obyek-2 di sekitar Bumi • Rosetta@home: prediksi dan desain protein • SETI@home: pencarian sinyal dari luar angkasa • Majestic-12: distributed web crawler untuk mengindeks situs
Distributed Computing Platform • • • •
Acute: distributed programming Amoeba: distributed operating system Beowulf: parallel computing berbasis linux Condor: lexible high-throughput distributed computing • Sun GridEngine: distributed resource management system, similar to Condor • Globus Toolkit — an open source software toolkit used for building Grid systems and applications