B. Jaringan Komputer vs Sistem Terdistribusi - Sistem Terdistribusi_Rahman.pdf
SISTEM TERDISTRIBUSI
A. Definisi Sistem Terdistribusi
1. "A system in which hardware or software components located at networked
computers communicate and coordinate their actions only by message
passing." (Sebuah sistem dimana komponen software atau hardware-nya
terletak di dalam jaringan komputer dan saling berkomunikasi menggunakan
message pasing) [Coulouris]
2. "A system that consists of a collection of two or more independent computers
which coordinate their processing through the exchange of synchronous or
asynchronous message passing." (Sebuah sistem yang tersusun oleh dua atau
lebih komputer dan memiliki koordinasi proses melalui pertukaran pesan
sinkron atau asinkron).
3. "A distributed system is a collection of independent computers that appear to
the users of the system as a single computer." (Kumpulan komputer
independent yang tampak oleh user sebagai satu sistem komputer)
[Tanenbaum]
4. "A distributed system is a collection of autonomous computers linked by a
network with software designed to produce an integrated computing facility."
(Kumpulan komputer autonom yang dihubungkan oleh jaringan dengan
software yang d i ranca ng u nt uk menghasilkan fasilitas komputasi
terintegrasi)
B. Jaringan Komputer vs Sistem Terdistribusi
1. Jaringan komputer : komuter otonom yang secara eksplisit terlihat (secara
eksplisit teramati)
2. Sistem terdistribusi: keberadaan beberapa komputer otonom bersifat transparan
3. Secara normal, setiap sistem terdistribusi mengandalkan layanan yang
disediakan oleh jaringan komputer
4. Beberapa layanan pada jaringan komputer (seperti, name service) juga
merupakan sistem terdistribusi
5. Sistem terdistribusi lebih banyak masalah yang dihadapi
Perbedaan:
1. Jaringan komputer: komputer otonom yang secara eksplisit terlihat
2. Sistem terdistribusi: Komputer otonom transparan, memiliki lebih banyak
masalah.
C. Alasan untuk sistem terdistribusi:
1. Distribusi fungsi : komputer memiliki kemampuan fungsi yang berbeda-beda
a). client/server
b). Host/terminal
c). Data gathering / data processing
1
2. Distribusi beban/keseimbangan : pemberian tugas ke prosesor secukupnya
sehingga unjuk kerja seluruh sistem teroptimasi.
3. Sifat terdistribusi mencegah terjadinya application domain, e.g.
a). cash register dan sistem persediaan untuk supermarket,
b). Komputer pendukung collaborative work
4. Replikasi kekuatan pemrosesan: independent processors bekerja untuk
pekerjaan yang sama
- Sistem terdistribusi terdiri dari kumpulan mikrokomputer yang memiliki
kekuatan pemrosesan yang tidak dapat dicapai oleh superkomputer
5. 10000 CPU, masing-masing berjalan pada 50 MIPS, mencapai 500000 MIPS,
– Maka satu perintah dijalankan dalam waktu 0.002 nsec
6. Pemisahan fisik : sistem yang menggantungkan pada fakta bahwa komputer
secara fisik terpisah (e.g., untuk mencapai kehandalan).
7. Ekonomis : kumpulan mikroprosesor menawarkan harga/unjuk kerja yang
lebih baik dari pada mainframe
Alasan:
1. Distribusi Fungsi: (Client/server; Data colecting/data processing
2. Distribusi beban: Pembagian beban prosesing ke beberapa prosesor
3. Replikasi Kekuatan: Kumpulan PC memiliki kekuatan yang lebih besar
dari super komputer.
4. Pemisahan Fisik: untuk kehandalan atau redundancy sistem
5. Ekonomis: kumpulan mikroprosesor memberikan harga/unjuk kerja yang
lebih baik dibandingkan dengan mainframe.
D. Mengapa Sistem Terdistribusi ?
1. Butuh berbagi data dan resource di antara pemakai
2. Mendukung komunikasi person-to -person
3. Fleksibilitas : komputer yang berbeda dengan kemampuan yang berbeda
dapat di share antar user
E. Masalah dengan sistem terdistribusi?
1. Software - bagaimana merancang dan mengatur software dalam DS
2. Ketergantungan pada infrastruktur jaringan (world wide wait....)
3. Kemudahan akses ke data yang di share, memunculkan masalah keamanan.
F. Karakteristik Sistem Terdistribusi
1. Sistem terdistribusi adalah sistem concurrent (serentak)
a. Setiap komponen hardware/software bersifat otonom (kita akan menyebut
komponen otonom adalah "proses")
b. Komponen menjalankan tugas bersamaan
Contoh : A dan B adalah concurrent jika A dapat terjadi sebelum B, dan B
dapat terjadi sebelum A
c. Sinkronisasi dan koordinasi dengan message passing
1). Sharing resources
2
2). Masalah umum dalam sistem concurrent
a). Deadlock
b). Lifeclock
c). Komunikasi yang tidak handal
2. Keterbatasan dalam global clock
a. Terdapat batasan pada ketepatan proses sinkronisasi clock pada sistem
terdistribusi, oleh karena asynchronous message passing
b. Pada sistem terdistribusi, tidak ada satu proses tunggal yang mengetahui
global state sistem saat ini (disebabkan oleh concurrency dan message
passing)
3. Independent failure
a. Kemungkinan adanya kegagalan proses tunggal yang tidak diketahui
b. Proses tunggal mungkin tidak peduli pada kegalalan sistem keseluruhan
G. Contoh Sistem Terdistribusi
1. Internet: Jaringan komputer dan aplikasi yang heterogen Mengimple
mentasikan protokol Internet.
2. Sistem Multimedia Terdistribusi: Biasanya digunakan pada infrastruktur
internet
a. Karakteristik
– Sumber data yang heterogen dan memerlukan sinkronisasi secara real
time (Video, audio, text, M u lticast)
Contoh: Teleteaching tools (mbone-based, etc.)
– Video-conferencing, Video and audio on demand
3. Sistem Intranet:
a. Jaringan yang teradministrasi secara lokal,
b. Biasanya proprietary,
c. Terhubung ke internet (melalui firewall),
d. Menyediakan layanan internal dan eksternal
3
4. Mobile dan Sistem Komputasi Ubiquitous
a. Sistem telepon Cellular (e.g., GSM)
b. Resources dishare : frekuensi radio, waktu transmisi dalam satu frekuensi,
bergerak
c. Komputer laptop, ubiquitous computing
d. Handheld devices, PDA, etc
5. Contoh lainnya:
a. Sistem telepon (ISDN, PSTN)
b. Manajemen jaringan: Administrasi sesumber jaringan
c. Network File System (NFS): Arsitektur untuk mengakses sistem file
melalui jaringan
d. WWW:
1) Arsitektur client/server tebuka yang diterapkan di atas infrastruktur
internet
2) Shared resources (melalui URL).
H. Tantangan perancangan Sistem Terdistribusi
1. Heterogen terhadap:
a. Infrastruktur jaringan
b. Hardware dan software (sistem operasi, perbedaan UNIX socket dan
Winsock),
c. Bahasa pemrograman
2. Beberapa pendekatan :
a. Middleware (contoh : CORBA)
b. Kode program Mobile (contoh : JAVA)
4
3. Openness
a. Memastikan sistem dapat diperluas dan mudah dalam pemeliharaan
(Mengikuti standard antarmuka)
4. Security
1). Privacy
2). Authentication
3). Availability
5. Scalability
Apakah sistem masih efektif dan handal dalam perkiraan pertumbuhannya?
6. Penanganan Kegagalan
a. Pendeteksian
b. Masking: (Transmisi ulang, Redudansi penyimpanan data)
c. Toleransi: Exception handling
d. Redudancy: (Redudan rute jaringan, Replikasi data pada beberapa mesin
7. Concurrency:
a. Penjadwalan yang konsisten terhadap concurrent thread
b. Menghindari masalah deadlock dan lifelock
8. Transparency
a. Menyembunyikan keanekaragaman (heterogeneous) dan tersebarnya sistem
sehingga tampak sebagai satu sistem bagi user.
b. Kategori Transparency (ISO's Reference Model for ODP)
1). Access: menyembunyikan penggunaan komunikasi untuk mengakses
remote resource sehingga user beranggapan bahwa semua resource
adalah lokal.
Contoh : pemetaan drive menggunakan Samba Server, NFS
2). Location: user tidak perlu mengetahui lokasi dari remote resources
3). Concurrency: user tidak peduli keberadaan paralel akses ke remote
resource dan inkonsistensi dihindari dengan menggunakan mekanisme
concurrency control.
4). Replication:menyembunyikan perbedaan-perbedaan antara layanan
replicated dan non-replicated.
5). Failure: menyembunyikan pengaruh partial fail. Hal ini dicapai dengan
cara replikasi resources dan menerapkan m ekan ism e recovery
6). Migration/Mobility: Kemampuan untuk melakukan relocate resource
secara dinam ik tanpa kekuatiran rekonfigurasi ulang dari user
7). Performance:
meminimalkan tambahan
performance dalam
menggunakan remote resource, sehingga response time dan trhoughput
sebanding dengan ketika mengakses resource secara lokal.
8). Scaling, menyembunyikan variasi dalam kelakukan sistem ketika
dilakukan perubahan scope atau skala sistem. Scaling seharusnya tidak
m em erl u kan perubahan besar u ntu k 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).
5
Contoh transparancy:
1. http://www.google.com
– Dimana lokasi fisiknya?
– Tersebar dalam server farm?
2. Pengguna HP tetap dapat berkomunikasi tanpa putus walaupun berpindah
lokasi
3. Akses ke tabel yang sama oleh beberapa user sekaligus
4. Replikasi yahoo web server ke beberapa lokasi geografis yang lebih dekat
dengan user
5. User tidak mengetahui kapan data dipindah dari disk ke memori
I. Scalabi lity Problem
1. Masalah kinerja yg disebabkan oleh kapasitas server dan jaringan
2. Tiga scaling teknik:
- Hiding communication latency
- Distribusi
- Replikasi
J. Replikasi:
1. multiprosesor
a. Sebuah komputer dengan bbrp prosesor
b. Semua prosesor mengakses memori yang sama
c. Lebih sulit dibuat
d. Interkoneksi lebih cepat
Jenis multi processor
1).multiprosesor dengan caching
2) multiprosesor dengan swith
6
2. Multi komputer
a. Beberapa PC terhubung dengan jari nga n
b. Setiap CPU punya memori sendiri
c. Lebih mudah dibangun
d. Interkoneksi lebih lambat
Jenis Multikomputer
a. Multiprosesor berbasis switch
b. Sistem multikomputer hiterogen
1). Paling banyak digunakan dalam DS
2). Berbeda:
a). Prosesor
b). Memori
c). I/O Bandwidth – Jaringan
c. Software Side:
1. Distributed OS: ( Multiprocessor; Multicomputer homogen)
2. Network OS: (Multicomputer heterogen)
7
3. Middleware: (Layer tambahan di atas NOS)
4. COR BA (componen object request Broken archi)
5. Multitiered Archi
6. Modern Archi
7. 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@ho me: pencarian sinyal dari luar angkasa
• Majestic-12: distributed web crawler untuk mengindeks situs
8. 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
8
A. Definisi Sistem Terdistribusi
1. "A system in which hardware or software components located at networked
computers communicate and coordinate their actions only by message
passing." (Sebuah sistem dimana komponen software atau hardware-nya
terletak di dalam jaringan komputer dan saling berkomunikasi menggunakan
message pasing) [Coulouris]
2. "A system that consists of a collection of two or more independent computers
which coordinate their processing through the exchange of synchronous or
asynchronous message passing." (Sebuah sistem yang tersusun oleh dua atau
lebih komputer dan memiliki koordinasi proses melalui pertukaran pesan
sinkron atau asinkron).
3. "A distributed system is a collection of independent computers that appear to
the users of the system as a single computer." (Kumpulan komputer
independent yang tampak oleh user sebagai satu sistem komputer)
[Tanenbaum]
4. "A distributed system is a collection of autonomous computers linked by a
network with software designed to produce an integrated computing facility."
(Kumpulan komputer autonom yang dihubungkan oleh jaringan dengan
software yang d i ranca ng u nt uk menghasilkan fasilitas komputasi
terintegrasi)
B. Jaringan Komputer vs Sistem Terdistribusi
1. Jaringan komputer : komuter otonom yang secara eksplisit terlihat (secara
eksplisit teramati)
2. Sistem terdistribusi: keberadaan beberapa komputer otonom bersifat transparan
3. Secara normal, setiap sistem terdistribusi mengandalkan layanan yang
disediakan oleh jaringan komputer
4. Beberapa layanan pada jaringan komputer (seperti, name service) juga
merupakan sistem terdistribusi
5. Sistem terdistribusi lebih banyak masalah yang dihadapi
Perbedaan:
1. Jaringan komputer: komputer otonom yang secara eksplisit terlihat
2. Sistem terdistribusi: Komputer otonom transparan, memiliki lebih banyak
masalah.
C. Alasan untuk sistem terdistribusi:
1. Distribusi fungsi : komputer memiliki kemampuan fungsi yang berbeda-beda
a). client/server
b). Host/terminal
c). Data gathering / data processing
1
2. Distribusi beban/keseimbangan : pemberian tugas ke prosesor secukupnya
sehingga unjuk kerja seluruh sistem teroptimasi.
3. Sifat terdistribusi mencegah terjadinya application domain, e.g.
a). cash register dan sistem persediaan untuk supermarket,
b). Komputer pendukung collaborative work
4. Replikasi kekuatan pemrosesan: independent processors bekerja untuk
pekerjaan yang sama
- Sistem terdistribusi terdiri dari kumpulan mikrokomputer yang memiliki
kekuatan pemrosesan yang tidak dapat dicapai oleh superkomputer
5. 10000 CPU, masing-masing berjalan pada 50 MIPS, mencapai 500000 MIPS,
– Maka satu perintah dijalankan dalam waktu 0.002 nsec
6. Pemisahan fisik : sistem yang menggantungkan pada fakta bahwa komputer
secara fisik terpisah (e.g., untuk mencapai kehandalan).
7. Ekonomis : kumpulan mikroprosesor menawarkan harga/unjuk kerja yang
lebih baik dari pada mainframe
Alasan:
1. Distribusi Fungsi: (Client/server; Data colecting/data processing
2. Distribusi beban: Pembagian beban prosesing ke beberapa prosesor
3. Replikasi Kekuatan: Kumpulan PC memiliki kekuatan yang lebih besar
dari super komputer.
4. Pemisahan Fisik: untuk kehandalan atau redundancy sistem
5. Ekonomis: kumpulan mikroprosesor memberikan harga/unjuk kerja yang
lebih baik dibandingkan dengan mainframe.
D. Mengapa Sistem Terdistribusi ?
1. Butuh berbagi data dan resource di antara pemakai
2. Mendukung komunikasi person-to -person
3. Fleksibilitas : komputer yang berbeda dengan kemampuan yang berbeda
dapat di share antar user
E. Masalah dengan sistem terdistribusi?
1. Software - bagaimana merancang dan mengatur software dalam DS
2. Ketergantungan pada infrastruktur jaringan (world wide wait....)
3. Kemudahan akses ke data yang di share, memunculkan masalah keamanan.
F. Karakteristik Sistem Terdistribusi
1. Sistem terdistribusi adalah sistem concurrent (serentak)
a. Setiap komponen hardware/software bersifat otonom (kita akan menyebut
komponen otonom adalah "proses")
b. Komponen menjalankan tugas bersamaan
Contoh : A dan B adalah concurrent jika A dapat terjadi sebelum B, dan B
dapat terjadi sebelum A
c. Sinkronisasi dan koordinasi dengan message passing
1). Sharing resources
2
2). Masalah umum dalam sistem concurrent
a). Deadlock
b). Lifeclock
c). Komunikasi yang tidak handal
2. Keterbatasan dalam global clock
a. Terdapat batasan pada ketepatan proses sinkronisasi clock pada sistem
terdistribusi, oleh karena asynchronous message passing
b. Pada sistem terdistribusi, tidak ada satu proses tunggal yang mengetahui
global state sistem saat ini (disebabkan oleh concurrency dan message
passing)
3. Independent failure
a. Kemungkinan adanya kegagalan proses tunggal yang tidak diketahui
b. Proses tunggal mungkin tidak peduli pada kegalalan sistem keseluruhan
G. Contoh Sistem Terdistribusi
1. Internet: Jaringan komputer dan aplikasi yang heterogen Mengimple
mentasikan protokol Internet.
2. Sistem Multimedia Terdistribusi: Biasanya digunakan pada infrastruktur
internet
a. Karakteristik
– Sumber data yang heterogen dan memerlukan sinkronisasi secara real
time (Video, audio, text, M u lticast)
Contoh: Teleteaching tools (mbone-based, etc.)
– Video-conferencing, Video and audio on demand
3. Sistem Intranet:
a. Jaringan yang teradministrasi secara lokal,
b. Biasanya proprietary,
c. Terhubung ke internet (melalui firewall),
d. Menyediakan layanan internal dan eksternal
3
4. Mobile dan Sistem Komputasi Ubiquitous
a. Sistem telepon Cellular (e.g., GSM)
b. Resources dishare : frekuensi radio, waktu transmisi dalam satu frekuensi,
bergerak
c. Komputer laptop, ubiquitous computing
d. Handheld devices, PDA, etc
5. Contoh lainnya:
a. Sistem telepon (ISDN, PSTN)
b. Manajemen jaringan: Administrasi sesumber jaringan
c. Network File System (NFS): Arsitektur untuk mengakses sistem file
melalui jaringan
d. WWW:
1) Arsitektur client/server tebuka yang diterapkan di atas infrastruktur
internet
2) Shared resources (melalui URL).
H. Tantangan perancangan Sistem Terdistribusi
1. Heterogen terhadap:
a. Infrastruktur jaringan
b. Hardware dan software (sistem operasi, perbedaan UNIX socket dan
Winsock),
c. Bahasa pemrograman
2. Beberapa pendekatan :
a. Middleware (contoh : CORBA)
b. Kode program Mobile (contoh : JAVA)
4
3. Openness
a. Memastikan sistem dapat diperluas dan mudah dalam pemeliharaan
(Mengikuti standard antarmuka)
4. Security
1). Privacy
2). Authentication
3). Availability
5. Scalability
Apakah sistem masih efektif dan handal dalam perkiraan pertumbuhannya?
6. Penanganan Kegagalan
a. Pendeteksian
b. Masking: (Transmisi ulang, Redudansi penyimpanan data)
c. Toleransi: Exception handling
d. Redudancy: (Redudan rute jaringan, Replikasi data pada beberapa mesin
7. Concurrency:
a. Penjadwalan yang konsisten terhadap concurrent thread
b. Menghindari masalah deadlock dan lifelock
8. Transparency
a. Menyembunyikan keanekaragaman (heterogeneous) dan tersebarnya sistem
sehingga tampak sebagai satu sistem bagi user.
b. Kategori Transparency (ISO's Reference Model for ODP)
1). Access: menyembunyikan penggunaan komunikasi untuk mengakses
remote resource sehingga user beranggapan bahwa semua resource
adalah lokal.
Contoh : pemetaan drive menggunakan Samba Server, NFS
2). Location: user tidak perlu mengetahui lokasi dari remote resources
3). Concurrency: user tidak peduli keberadaan paralel akses ke remote
resource dan inkonsistensi dihindari dengan menggunakan mekanisme
concurrency control.
4). Replication:menyembunyikan perbedaan-perbedaan antara layanan
replicated dan non-replicated.
5). Failure: menyembunyikan pengaruh partial fail. Hal ini dicapai dengan
cara replikasi resources dan menerapkan m ekan ism e recovery
6). Migration/Mobility: Kemampuan untuk melakukan relocate resource
secara dinam ik tanpa kekuatiran rekonfigurasi ulang dari user
7). Performance:
meminimalkan tambahan
performance dalam
menggunakan remote resource, sehingga response time dan trhoughput
sebanding dengan ketika mengakses resource secara lokal.
8). Scaling, menyembunyikan variasi dalam kelakukan sistem ketika
dilakukan perubahan scope atau skala sistem. Scaling seharusnya tidak
m em erl u kan perubahan besar u ntu k 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).
5
Contoh transparancy:
1. http://www.google.com
– Dimana lokasi fisiknya?
– Tersebar dalam server farm?
2. Pengguna HP tetap dapat berkomunikasi tanpa putus walaupun berpindah
lokasi
3. Akses ke tabel yang sama oleh beberapa user sekaligus
4. Replikasi yahoo web server ke beberapa lokasi geografis yang lebih dekat
dengan user
5. User tidak mengetahui kapan data dipindah dari disk ke memori
I. Scalabi lity Problem
1. Masalah kinerja yg disebabkan oleh kapasitas server dan jaringan
2. Tiga scaling teknik:
- Hiding communication latency
- Distribusi
- Replikasi
J. Replikasi:
1. multiprosesor
a. Sebuah komputer dengan bbrp prosesor
b. Semua prosesor mengakses memori yang sama
c. Lebih sulit dibuat
d. Interkoneksi lebih cepat
Jenis multi processor
1).multiprosesor dengan caching
2) multiprosesor dengan swith
6
2. Multi komputer
a. Beberapa PC terhubung dengan jari nga n
b. Setiap CPU punya memori sendiri
c. Lebih mudah dibangun
d. Interkoneksi lebih lambat
Jenis Multikomputer
a. Multiprosesor berbasis switch
b. Sistem multikomputer hiterogen
1). Paling banyak digunakan dalam DS
2). Berbeda:
a). Prosesor
b). Memori
c). I/O Bandwidth – Jaringan
c. Software Side:
1. Distributed OS: ( Multiprocessor; Multicomputer homogen)
2. Network OS: (Multicomputer heterogen)
7
3. Middleware: (Layer tambahan di atas NOS)
4. COR BA (componen object request Broken archi)
5. Multitiered Archi
6. Modern Archi
7. 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@ho me: pencarian sinyal dari luar angkasa
• Majestic-12: distributed web crawler untuk mengindeks situs
8. 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
8