SISTEM TERDISTRIBUSI
Thread, Clien-Server dan Agent
DAFTAR ISI
1. Pendahuluan
1.1. Definisi Sistem Terdistribusi
1.2. Karakteristik Sistem Terdistribusi
1.3. Model Sistem Terdistribusi
1.4. Permasalahan Sistem Terdistribusi
1.5. Tantangan Sistem Terdistribusi
2. Pengertian Thread
2.1. Kegunaan Thread
2.2. Karakteristik Thread
2.3. Implementasi Thread
3. Pengertian Client Server
3.1. Multiple Server Model
3.2. Proxy Server Model
3.3. Mobile Code Model
3.4. Implementasi
4. Pengertian Agent
5. Kesimpulan
1. Pendahuluan
Definis Sistem Terdistribusi
Sistem terdistribusi adalah sebuah sistem yang komponennya berada pada
jaringan komputer. Komponen tersebut saling berinteraksi dan melakukan
koordinasi hanya dengan pengiriman pesan (message passing).
Sistem terdistribusi merupakan kebalikan dari Sistem Operasi Prosessor
jamak. Pada sistem tersebut, setiap prosessor memiliki memori lokal tersendiri.
Kumpulan prosesor saling berinteraksi melalui saluran komunikasi seperti LAN
dan WAN menggunakan protokol standar seperti TCP/IP. Karena saling
berkomunikasi, kumpulan prosesor tersebut mampu saling berbagi beban kerja,
data, serta sumber daya lainnya.
Dalam penggunaanya sistem terdistribus sangat diperlukan karena :
Performance
Sekumpulan prosesor dapat menyediakan kinerja yang lebih tinggi
daripada komputer terspusat
Distribution
Banyak aplikasi yang terlibat, sehingga lebih baik jika dipisah dalam
mesin yang berbeda
Reliability
Jika terjadi kerusakan pada salah satu mesin, tidak akan mempengaruhi
kinerja sistem secara keseluruhan
Incremental growht
Mesin baru dapat ditambah jika kebutuhan proses meningkat
Sharing data/resoursce
Resource adalah :
- Segala hal yang dapat digunakan bersama dalam jaringan komputer
- Meliputi hardware dan juga software
Communication
Menyediakan fasilitas komunikasi antar manusia
Karakter Sistem Terdistribusi
Dalam sistem terdistribusi terdapat beberapa karakteristik yaitu :
a. No block clock
Terdapat batasan pada ketepatan proses sinkronisasi clock pada sistem
terdistribusi, oleh karena asynchronous message passing
Pada sistem terdistribusi, tidak ada satu proses tunggal yang mengetahui
global state sistem saat ini (disebabkan oleh concurrency dan message
passing).
b. Independent fauilure
Kemungkinan adanya kegagalan proses tunggal yang tidak diketahui
Proses tunggal mungkin tidak peduli pada kegagalan sistem keseluruhan
c. Concurrency of component
Beberapa pemakai browser mengakses suatu halaman web secara
bersamaan
Model Sistem Terdistribusi
Dalam pelaksanaannya sistem terdistribusi memiliki berbagai bentuk (model),
yaitu :
1. Sistem Client Server
Merupakan bagian dari model sistem terdistribusi yang berbagi jaringan
berdasarkan pemberian dan penerima jasa layanan. Pada sebuah jaringan akan
didapatkan : file server, time server, directory server, printer serverI, dan
seterusnya.
2. Sistem Point to point
Merupakan bagian dari model sistem terdistribusi dapat sekaligus
berfungsi sebagai client maupun server
3. Sistem TerKluster
Adalah gabungan dari beberapa sistem individual yang dikumpulkan pada
suatu lokasi, saling berbagi tempat penyimpanan data dan saling terhubung
dengan jaringan local (LAN). Dalam sistem Kluster memiliki persamaan dengan
sistem paralel dalam hal menggabungkan beberapa CPU untuk meningkatkan
komputasi. Jika salah satu mesin mengalami masalah dalam menjalankan tugas
maka mesin lain dapat mengambil alih pelaksanaan tugas itu.
Dalam hal jaringan, sistem kluster mirip dengan sistem terdistribusi
(distributed systems). Bedanya, jika jaringa pada sistem terdistribusi melingkupi
komputer-komputer yang lokasinya tersebar maka jaringan pada sistem kluster
menghubungkan banyak komputer yang dikumpulkan dalam satu tempat.
Permasalahan Sistem Terdistribusi
Masalah dengan terdistribusi yang dapat dimunculkan antara lain berkaitan
dengan :
Software bagaimana merancang dan mengatur software dalam Distribusi
sistem
Ketergantungan pada infrastruktur jaringan
Kemudahan akses data ke data yang di share, memunculkan masalah
keamanan.
Dalam setiap penggunaan suatu sistem, banyak sekali ditemui permasalahan
permasalahan yang muncul, begitu juga dengan sistem terdistribusi.
Tantangan Sistem Terdistribusi
Tantangan yang ada dalam sistem terdistribusi yaitu :
Heterogen komponen
Keterbukaan
Keamanan
Scalability
Penangan kegalan
Concurency of components
Transparansi
2. Pengertian Thread
Thread adalah sebuah alur kontrol dari sebuah proses. Suatu proses yang
multithreaded mengandung beberapa perbedaan alur kontrol dengan ruang alamat yang
sama. Keuntungan dari multithreaded meliputi peningkatan respon dari user, pembagian
sumber daya proses, ekonomis, dan kemampuan untuk mengambil keuntungan dari
arsitektur multiprosesor. User level thread adalah thread yang tampak oleh programmer
dan tidak diketahui oleh kernel. User level thread secara tipikal dikelola oleh sebuah
library thread di ruang user. Kernel level thread didukung dan dikelola oleh kernel sistem
operasi. Secara umum, user level thread lebih cepat dalam pembuatan dan pengelolaan
dari pada kernel thread.
Ada tiga perbedaan tipe dari model yang berhubungan dengan user dan kernel
thread.
Model many to one: memetakan beberapa user level thread hanya ke satu
buah kernel thread.
Model one to one: memetakan setiap user thread ke dalam satu kernel
thread. Berakhir.
Model many to many: mengizinkan pengembang untuk membuat user
thread sebanyak mungkin, konkurensi tidak dapat tercapai karena hanya
satu thread yang dapat dijadualkan oleh kernel dalam satu waktu.
Multi Thread Proses
Benefit / manfaat :
Kemampuan dan reaksi
Sumber daya energi
Ekonomi
Scalabilitas
Thread bermanfaat untuk Multithreading yang berguna untuk Multiprocessor dan
Singleprocessor. Kegunaan untuk system Multiprocessor, adalah :
a) Sebagai unit pararel atau tingkat granularitas pararelisme.
b) Peningkatan kinerja disbanding berbasis proses.
Kegunaan Multithreading pada Singleprocessor, adalah :
a) Kerja foreground dan background sekaligus di satu aplikasi.
b) Penanganan asynchronous processing menjadi lebih baik.
c) Mempercepat eksekusi program.
d) Pengorganisasian program menjadi lebih baik.
Kegunaan Thread
Multithreading berguna untuk multiprocessor dan singleprocessor.
Kegunaan untuk sistem multiprocessor:
Sebagai unit paralel atau tingkat granulitas pararelisme
Peningkatan kinerja disbanding berbasis proses
Karakteristik Thread
Proses merupakan lingkungan eksekusi bagi thread-thread yang dimilikinya.
Thread-thread di satu proses memakai bersama sumber daya yang dimiliki proses,
yaitu :
Ruang alamat
Himpunan berkas yang dibuka
Proses-proses anak
Timer-timer
Sinyal-sinyal
Sumber daya sumber daya lain milik proses
Implementasi Paket Thread
a) Thread level kernel
Keunggulan:
Memudahkan koordinasi multithread seperti proses server
Tidak seboros kumpulan proses tradisional
kelemahan :
operasi manajemen thread sangat lebih boros
kernel harus menyediakan semua feature
b) Thread level pemakai
Keunggulan :
Kinerja luarbiasa bagus dibanding thread level kernel
Tidak diperlukan modifikasi kernel
Fleksibilitas tinggi
Kelemahan :
Tidak manfaatkan multiprosessor
Untuk aplikasi keterlibatan kernel yang kecil
Mengharuskan non bloking system call
3. Pengertian Client Server
Client merupakan sembarang sistem atau proses yang melakukan suatu permintaan
data atau layanan ke server sedangkan server ialah, sistem atau proses yang menyediakan
data atau layanan yang diminta oleh client.
Client-Server adalah pembagian kerja antara server dan client yg mengakses server dalam
suatu jaringan. Jadi arsitektur client-server adalah desain sebuah aplikasi terdiri dari client
dan server yang saling berkomunikasi ketika mengakses server dalam suatu jaringan.
Sistem client server didefinisikan sebagai sistem terdistribusi, tetapi ada beberapa
perbedaan karakteristik yaitu :
Servis (layanan)
Hubungan antara proses yang berjalan pada mesin yang berbeda
Pemisahan fungsi berdasarkan ide layanannya
Server sebagai provider, client sebagai konsumen
Sharing resources (sumber daya)
Server bisa melayani beberapa client pada waktu yang sama, dan meregulasi
akses bersama untuk share sumber daya dalam menjamin konsistensinya.
Asymmetrical protocol (protokol yang tidak simetris )
Many-to-one relationship antara client dan server. Client selalu menginisiasikan
dialog melalui layanan permintaan, dan server menunggu secara pasif request dari
client.
Transparansi lokasi
Proses yang dilakukan server boleh terletak pada mesin yang sama atau pada
mesin yang berbeda melalui jaringan.Lokasi server harus mudah diakses dari client.
Mix-and-Match
Perbedaan server client platforms
Pesan berbasiskan komunikasi
Interaksi server dan client melalui pengiriman pesan yang menyertakan
permintaan dan jawaban.
Pemisahan interface dan implementasi
Server bisa diupgrade tanpa mempengaruhi client selama interface pesan yang
diterbitkan tidak berubah.