Pengantar Sistem Terdistribusi 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
Distribusi Fungsi: Alasan: 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 Pemisahan Fisik: Alasan: Untuk kehandalan atau redundancy sistem Ekonomis: Kumpulan mikroprosesor memberikan harga/unjuk kerja yang lebih baik dibandingkan dengan mainframe 3
Software: Masalah: 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
Heterogenitas: Jaringan Hardware Software Language Solusi: CORBA RMI Tantangan: Openness: Tantangan: Mengikuti standard interface Security: Privacy Authentication Availability Scalability 6
Fault handling: Detection Retransmission Redundancy Rute Tantangan: Replikasi data pada bbrp mesin Concurrency: Penjadwalan Deadlock avoidance Transparancy: Tantangan: 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 Distributed OS: Software Side: Multiprocessor Multicomputer homogen Network OS: Multicomputer heterogen Middleware: Layer tambahan di atas NOS 14
Distributed OS Network OS 15
Middleware CORBA Component Object Request Broker Archi 16
Multitiered Archi Modern Archi 17
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 18